diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 0000000..29b786d --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,181 @@ +name: Publish new version + +on: + workflow_dispatch: + inputs: + version: + description: 'Optional version to use (bypasses version bump and git commits if provided)' + required: false + default: "" + mfd-ref: + description: 'The MFD ref (branch, tag, or SHA) to use for API docs' + required: false + default: "" + +permissions: + contents: write + +jobs: + generate-api-docs: + name: Update version and build python module + runs-on: ubuntu-latest + permissions: + id-token: write + contents: read + steps: + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: arn:aws:iam::048781935247:role/GH-APP-OIDC-CBMyFrontDesk + aws-region: us-west-2 + + - name: Get app private key from SSM and apply mask + id: app-private-key + shell: bash + run: | + aws ssm get-parameter --name /github/app/CBMyFrontDesk/private-key --output text --with-decryption --query Parameter.Value > private.key + { + echo "key<> $GITHUB_OUTPUT + while read -r line; + do + if [[ -n "${line}" ]]; then + echo "::add-mask::${line}" + fi + done < private.key + rm private.key + + - name: Generate token + id: generate-token + uses: tibdex/github-app-token@v2 + with: + app_id: 391670 + private_key: ${{ steps.app-private-key.outputs.key }} + + - name: Checkout code + uses: actions/checkout@v4 + with: + token: ${{ steps.generate-token.outputs.token }} + + - name: Get API docs + env: + GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }} + run: | + MFD_REF='${{ inputs.mfd-ref }}' + if [[ -z "${MFD_REF}" ]]; then + MFD_REF=$(gh api /repos/cloudbeds/mfd/releases/latest | jq -r '.tag_name') + fi + echo "Using MFD ref: $MFD_REF" + gh api /repos/cloudbeds/mfd/tarball/$MFD_REF | tar --strip-components=1 --wildcards -zxf - '*/public_accessa/api' + + - name: Get next version + run: | + if [ -n "${{ inputs.version }}" ]; then + echo "next_version=${{ inputs.version }}" >> $GITHUB_ENV + echo "Version provided: ${{ inputs.version }}" + else + current_version=$(cat VERSION) + echo "Current version: $current_version" + + IFS='.' read -r major minor patch <<< "$current_version" + minor=$((minor + 1)) + next_version="$major.$minor.$patch" + echo "Next version: $next_version" + + echo "next_version=$next_version" >> $GITHUB_ENV + fi + + - name: Setup Java + uses: actions/setup-java@v4 + with: + java-version: 23 + distribution: corretto + + - name: Install OpenAPI generator + run: | + OPENAPI_GENERATOR_VERSION=$(cat .openapi-generator/VERSION) + curl -s https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/$OPENAPI_GENERATOR_VERSION/openapi-generator-cli-$OPENAPI_GENERATOR_VERSION.jar -o openapi-generator-cli.jar + + - name: Bump version in VERSION and openapitools.json + run: | + echo ${{ env.next_version }} > VERSION + sed -i 's/"packageVersion": "[0-9]*\.[0-9]*\.[0-9]*"/"packageVersion": "${{ env.next_version }}"/' openapitools.json + + - name: Generate API docs + run: | + find $(cat PACKAGE) -mindepth 1 ! -name 'py.typed' -delete + java -jar openapi-generator-cli.jar generate -c openapitools.json + + - name: Git Setup + if: inputs.version == '' + run: | + git config --global user.name "github-actions" + git config --global user.email "github-actions@users.noreply.github.com" + + - name: Update repository with new version + if: inputs.version == '' + run: | + git add VERSION openapitools.json $(cat PACKAGE) README.md .openapi-generator/FILES + git commit -m "Bump version to ${{ env.next_version }}" + git push + + build-release: + name: Build release distribution + runs-on: ubuntu-latest + needs: generate-api-docs + env: + UV_VERSION: 0.5.21 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + ref: ${{ github.ref_name }} + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version-file: .python-version + + - name: Build release distributions + run: | + pip install "uv==${{ env.UV_VERSION }}" + uv sync --locked --no-dev + uv build + + - name: Upload distributions + uses: actions/upload-artifact@v4 + with: + name: release-dists + path: dist/ + + - name: Create Release + if: inputs.version == '' + env: + GITHUB_TOKEN: ${{ github.token }} + run: >- + gh release create $(cat VERSION) + --notes $(cat VERSION) + --target ${{ github.ref_name }} + --title $(cat VERSION) + + pypi-publish: + name: Publish to PyPI + runs-on: ubuntu-latest + needs: build-release + environment: + name: pypi + permissions: + id-token: write + steps: + - name: Retrieve release distributions + uses: actions/download-artifact@v4 + with: + name: release-dists + path: dist/ + + - name: Publish release distributions to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + packages-dir: dist/ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f8352a5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +# Python-generated files +__pycache__/ +*.py[oc] +build/ +dist/ +wheels/ +*.egg-info + +# Virtual environments +.venv +.idea + +public_accessa/ +*.jar diff --git a/.openapi-generator-ignore b/.openapi-generator-ignore new file mode 100644 index 0000000..7484ee5 --- /dev/null +++ b/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES new file mode 100644 index 0000000..3a58c33 --- /dev/null +++ b/.openapi-generator/FILES @@ -0,0 +1,1024 @@ +README.md +cloudbeds_pms_v1_3/__init__.py +cloudbeds_pms_v1_3/api/__init__.py +cloudbeds_pms_v1_3/api/adjustment_api.py +cloudbeds_pms_v1_3/api/allotment_blocks_api.py +cloudbeds_pms_v1_3/api/app_settings_api.py +cloudbeds_pms_v1_3/api/authentication_api.py +cloudbeds_pms_v1_3/api/currency_api.py +cloudbeds_pms_v1_3/api/custom_fields_api.py +cloudbeds_pms_v1_3/api/dashboard_api.py +cloudbeds_pms_v1_3/api/emails_api.py +cloudbeds_pms_v1_3/api/groups_api.py +cloudbeds_pms_v1_3/api/guest_api.py +cloudbeds_pms_v1_3/api/hotel_api.py +cloudbeds_pms_v1_3/api/house_account_api.py +cloudbeds_pms_v1_3/api/housekeeping_api.py +cloudbeds_pms_v1_3/api/integration_api.py +cloudbeds_pms_v1_3/api/item_api.py +cloudbeds_pms_v1_3/api/package_api.py +cloudbeds_pms_v1_3/api/payment_api.py +cloudbeds_pms_v1_3/api/rate_api.py +cloudbeds_pms_v1_3/api/reservation_api.py +cloudbeds_pms_v1_3/api/room_api.py +cloudbeds_pms_v1_3/api/taxes_and_fees_api.py +cloudbeds_pms_v1_3/api/user_api.py +cloudbeds_pms_v1_3/api_client.py +cloudbeds_pms_v1_3/api_response.py +cloudbeds_pms_v1_3/configuration.py +cloudbeds_pms_v1_3/docs/AdjustmentApi.md +cloudbeds_pms_v1_3/docs/AllotmentBlocksApi.md +cloudbeds_pms_v1_3/docs/AppSettingsApi.md +cloudbeds_pms_v1_3/docs/AuthenticationApi.md +cloudbeds_pms_v1_3/docs/CurrencyApi.md +cloudbeds_pms_v1_3/docs/CustomFieldsApi.md +cloudbeds_pms_v1_3/docs/DashboardApi.md +cloudbeds_pms_v1_3/docs/DeleteAdjustmentResponse.md +cloudbeds_pms_v1_3/docs/DeleteGuestNoteResponse.md +cloudbeds_pms_v1_3/docs/DeleteReservationNoteResponse.md +cloudbeds_pms_v1_3/docs/DeleteRoomBlockResponse.md +cloudbeds_pms_v1_3/docs/DeleteWebhookResponse.md +cloudbeds_pms_v1_3/docs/EmailsApi.md +cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponse.md +cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner.md +cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner.md +cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions.md +cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAutoReleaseInner.md +cloudbeds_pms_v1_3/docs/GetAppPropertySettingsResponse.md +cloudbeds_pms_v1_3/docs/GetAppPropertySettingsResponseData.md +cloudbeds_pms_v1_3/docs/GetAppPropertySettingsResponseDataOneOf.md +cloudbeds_pms_v1_3/docs/GetAppSettingsResponse.md +cloudbeds_pms_v1_3/docs/GetAppSettingsResponseData.md +cloudbeds_pms_v1_3/docs/GetAppStateResponse.md +cloudbeds_pms_v1_3/docs/GetAppStateResponseData.md +cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponse.md +cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner.md +cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner.md +cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner.md +cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner.md +cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponse.md +cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseData.md +cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseDataFormat.md +cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseDataRates.md +cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseDataRatesFixedInner.md +cloudbeds_pms_v1_3/docs/GetCustomFieldsResponse.md +cloudbeds_pms_v1_3/docs/GetCustomFieldsResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetDashboardResponse.md +cloudbeds_pms_v1_3/docs/GetDashboardResponseData.md +cloudbeds_pms_v1_3/docs/GetEmailScheduleResponse.md +cloudbeds_pms_v1_3/docs/GetEmailScheduleResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetEmailTemplatesResponse.md +cloudbeds_pms_v1_3/docs/GetEmailTemplatesResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetFilesResponse.md +cloudbeds_pms_v1_3/docs/GetFilesResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetGroupNotesResponse.md +cloudbeds_pms_v1_3/docs/GetGroupNotesResponseData.md +cloudbeds_pms_v1_3/docs/GetGroupsResponse.md +cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInnerContactsInner.md +cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInnerContactsInnerEmailsInner.md +cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInnerContactsInnerPhonesInner.md +cloudbeds_pms_v1_3/docs/GetGuestListResponse.md +cloudbeds_pms_v1_3/docs/GetGuestListResponseDataValue.md +cloudbeds_pms_v1_3/docs/GetGuestListResponseDataValueGuestNotesInner.md +cloudbeds_pms_v1_3/docs/GetGuestNotesResponse.md +cloudbeds_pms_v1_3/docs/GetGuestNotesResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetGuestResponse.md +cloudbeds_pms_v1_3/docs/GetGuestResponseData.md +cloudbeds_pms_v1_3/docs/GetGuestResponseDataBirthDate.md +cloudbeds_pms_v1_3/docs/GetGuestResponseDataCustomFieldsInner.md +cloudbeds_pms_v1_3/docs/GetGuestResponseDataDocumentExpirationDate.md +cloudbeds_pms_v1_3/docs/GetGuestResponseDataDocumentIssueDate.md +cloudbeds_pms_v1_3/docs/GetGuestsByFilterResponse.md +cloudbeds_pms_v1_3/docs/GetGuestsByFilterResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetGuestsByStatusResponse.md +cloudbeds_pms_v1_3/docs/GetGuestsByStatusResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetGuestsModifiedResponse.md +cloudbeds_pms_v1_3/docs/GetGuestsModifiedResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetGuestsModifiedResponseDataInnerCustomFieldsInner.md +cloudbeds_pms_v1_3/docs/GetHotelDetailsResponse.md +cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseData.md +cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyAddress.md +cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyCurrency.md +cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyImageInner.md +cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyPolicy.md +cloudbeds_pms_v1_3/docs/GetHotelsResponse.md +cloudbeds_pms_v1_3/docs/GetHotelsResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetHotelsResponseDataInnerPropertyCurrencyInner.md +cloudbeds_pms_v1_3/docs/GetHouseAccountListResponse.md +cloudbeds_pms_v1_3/docs/GetHouseAccountListResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetHousekeepersResponse.md +cloudbeds_pms_v1_3/docs/GetHousekeepersResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetHousekeepingStatusResponse.md +cloudbeds_pms_v1_3/docs/GetHousekeepingStatusResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetItemCategoriesResponse.md +cloudbeds_pms_v1_3/docs/GetItemCategoriesResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetItemResponse.md +cloudbeds_pms_v1_3/docs/GetItemResponseData.md +cloudbeds_pms_v1_3/docs/GetItemResponseDataFeesInner.md +cloudbeds_pms_v1_3/docs/GetItemResponseDataTaxesInner.md +cloudbeds_pms_v1_3/docs/GetItemsResponse.md +cloudbeds_pms_v1_3/docs/GetItemsResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetListAllotmentBlockNotesResponse.md +cloudbeds_pms_v1_3/docs/GetListAllotmentBlockNotesResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetMetadataResponse.md +cloudbeds_pms_v1_3/docs/GetMetadataResponseData.md +cloudbeds_pms_v1_3/docs/GetMetadataResponseDataApi.md +cloudbeds_pms_v1_3/docs/GetPackagesResponse.md +cloudbeds_pms_v1_3/docs/GetPackagesResponseData.md +cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponse.md +cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseData.md +cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseDataGateway.md +cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseDataMethodsInner.md +cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseDataMethodsInnerCardTypesInner.md +cloudbeds_pms_v1_3/docs/GetPaymentsCapabilitiesResponse.md +cloudbeds_pms_v1_3/docs/GetPaymentsCapabilitiesResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetRateJobsResponse.md +cloudbeds_pms_v1_3/docs/GetRateJobsResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetRateJobsResponseDataInnerUpdatesInner.md +cloudbeds_pms_v1_3/docs/GetRatePlansResponse.md +cloudbeds_pms_v1_3/docs/GetRatePlansResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetRatePlansResponseDataInnerAddOnsInner.md +cloudbeds_pms_v1_3/docs/GetRatePlansResponseDataInnerRoomRateDetailedInner.md +cloudbeds_pms_v1_3/docs/GetRateResponse.md +cloudbeds_pms_v1_3/docs/GetRateResponseData.md +cloudbeds_pms_v1_3/docs/GetRateResponseDataRoomRateDetailedInner.md +cloudbeds_pms_v1_3/docs/GetReservationAssignmentsResponse.md +cloudbeds_pms_v1_3/docs/GetReservationAssignmentsResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetReservationAssignmentsResponseDataInnerAssignedInner.md +cloudbeds_pms_v1_3/docs/GetReservationNotesResponse.md +cloudbeds_pms_v1_3/docs/GetReservationNotesResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetReservationResponse.md +cloudbeds_pms_v1_3/docs/GetReservationResponseData.md +cloudbeds_pms_v1_3/docs/GetReservationResponseDataAssignedInner.md +cloudbeds_pms_v1_3/docs/GetReservationResponseDataAssignedInnerDailyRatesInner.md +cloudbeds_pms_v1_3/docs/GetReservationResponseDataBalanceDetailed.md +cloudbeds_pms_v1_3/docs/GetReservationResponseDataBalanceDetailedOneOf.md +cloudbeds_pms_v1_3/docs/GetReservationResponseDataCardsOnFileInner.md +cloudbeds_pms_v1_3/docs/GetReservationResponseDataGroupInventoryInner.md +cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValue.md +cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueCustomFieldsInner.md +cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueGuestBirthdate.md +cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueRoomsInner.md +cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueUnassignedRoomsInner.md +cloudbeds_pms_v1_3/docs/GetReservationResponseDataUnassignedInner.md +cloudbeds_pms_v1_3/docs/GetReservationRoomDetailsResponse.md +cloudbeds_pms_v1_3/docs/GetReservationRoomDetailsResponseData.md +cloudbeds_pms_v1_3/docs/GetReservationRoomDetailsResponseDataGuestsInner.md +cloudbeds_pms_v1_3/docs/GetReservationsResponse.md +cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerGuestListValue.md +cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerGuestListValueRoomsInner.md +cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner.md +cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerRoomsInner.md +cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponse.md +cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed.md +cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerGuestListValue.md +cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerRoomsInner.md +cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerSource.md +cloudbeds_pms_v1_3/docs/GetRoomBlocksResponse.md +cloudbeds_pms_v1_3/docs/GetRoomBlocksResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetRoomBlocksResponseDataInnerRoomsInner.md +cloudbeds_pms_v1_3/docs/GetRoomTypesResponse.md +cloudbeds_pms_v1_3/docs/GetRoomTypesResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponse.md +cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponseData.md +cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponseDataFeesInner.md +cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponseDataTaxesInner.md +cloudbeds_pms_v1_3/docs/GetRoomsResponse.md +cloudbeds_pms_v1_3/docs/GetRoomsResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetRoomsResponseDataInnerRoomsInner.md +cloudbeds_pms_v1_3/docs/GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner.md +cloudbeds_pms_v1_3/docs/GetRoomsUnassignedResponse.md +cloudbeds_pms_v1_3/docs/GetRoomsUnassignedResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetRoomsUnassignedResponseDataInnerRoomsInner.md +cloudbeds_pms_v1_3/docs/GetSourcesResponse.md +cloudbeds_pms_v1_3/docs/GetSourcesResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetSourcesResponseDataInnerFeesInner.md +cloudbeds_pms_v1_3/docs/GetSourcesResponseDataInnerTaxesInner.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponse.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountAdult.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountChild.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountRateBasedInner.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInner.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettings.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner.md +cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerRoomTypesInner.md +cloudbeds_pms_v1_3/docs/GetUserinfoResponse.md +cloudbeds_pms_v1_3/docs/GetUserinfoResponseRolesInner.md +cloudbeds_pms_v1_3/docs/GetUsersResponse.md +cloudbeds_pms_v1_3/docs/GetWebhooksResponse.md +cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInner.md +cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerEvent.md +cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerKey.md +cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerOwner.md +cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerSubscriptionData.md +cloudbeds_pms_v1_3/docs/GroupsApi.md +cloudbeds_pms_v1_3/docs/GuestApi.md +cloudbeds_pms_v1_3/docs/HotelApi.md +cloudbeds_pms_v1_3/docs/HouseAccountApi.md +cloudbeds_pms_v1_3/docs/HousekeepingApi.md +cloudbeds_pms_v1_3/docs/IntegrationApi.md +cloudbeds_pms_v1_3/docs/ItemApi.md +cloudbeds_pms_v1_3/docs/PackageApi.md +cloudbeds_pms_v1_3/docs/PaymentApi.md +cloudbeds_pms_v1_3/docs/PostAccessTokenResponse.md +cloudbeds_pms_v1_3/docs/PostAccessTokenResponseResourcesInner.md +cloudbeds_pms_v1_3/docs/PostAdjustmentResponse.md +cloudbeds_pms_v1_3/docs/PostAdjustmentResponseData.md +cloudbeds_pms_v1_3/docs/PostAppErrorResponse.md +cloudbeds_pms_v1_3/docs/PostAppErrorResponseData.md +cloudbeds_pms_v1_3/docs/PostAppPropertySettingResponse.md +cloudbeds_pms_v1_3/docs/PostAppPropertySettingResponseData.md +cloudbeds_pms_v1_3/docs/PostAppStateResponse.md +cloudbeds_pms_v1_3/docs/PostAppendCustomItemResponse.md +cloudbeds_pms_v1_3/docs/PostAppendCustomItemResponseData.md +cloudbeds_pms_v1_3/docs/PostCardResponse.md +cloudbeds_pms_v1_3/docs/PostCardResponseData.md +cloudbeds_pms_v1_3/docs/PostChargeResponse.md +cloudbeds_pms_v1_3/docs/PostChargeResponseData.md +cloudbeds_pms_v1_3/docs/PostChargeResponseDataNextAction.md +cloudbeds_pms_v1_3/docs/PostChargeResponseDataNextActionDetails.md +cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockNotesResponse.md +cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockNotesResponseData.md +cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInner.md +cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.md +cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.md +cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions.md +cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAutoRelease.md +cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponse.md +cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInner.md +cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.md +cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability.md +cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing.md +cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.md +cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAutoRelease.md +cloudbeds_pms_v1_3/docs/PostCustomFieldResponse.md +cloudbeds_pms_v1_3/docs/PostCustomFieldResponseData.md +cloudbeds_pms_v1_3/docs/PostCustomItemRequestItemsInner.md +cloudbeds_pms_v1_3/docs/PostCustomItemRequestItemsInnerItemFeesInner.md +cloudbeds_pms_v1_3/docs/PostCustomItemRequestItemsInnerItemTaxesInner.md +cloudbeds_pms_v1_3/docs/PostCustomItemRequestPaymentsInner.md +cloudbeds_pms_v1_3/docs/PostCustomItemResponse.md +cloudbeds_pms_v1_3/docs/PostCustomItemResponseData.md +cloudbeds_pms_v1_3/docs/PostCustomPaymentMethodResponse.md +cloudbeds_pms_v1_3/docs/PostDeleteAllotmentBlockResponse.md +cloudbeds_pms_v1_3/docs/PostDeleteAppPropertySettingsResponse.md +cloudbeds_pms_v1_3/docs/PostEmailScheduleRequestSchedule.md +cloudbeds_pms_v1_3/docs/PostEmailScheduleRequestScheduleReservationEvent.md +cloudbeds_pms_v1_3/docs/PostEmailScheduleRequestScheduleReservationStatusChange.md +cloudbeds_pms_v1_3/docs/PostEmailScheduleResponse.md +cloudbeds_pms_v1_3/docs/PostEmailTemplateRequestBody.md +cloudbeds_pms_v1_3/docs/PostEmailTemplateRequestSubject.md +cloudbeds_pms_v1_3/docs/PostEmailTemplateResponse.md +cloudbeds_pms_v1_3/docs/PostFileResponse.md +cloudbeds_pms_v1_3/docs/PostGovernmentReceiptResponse.md +cloudbeds_pms_v1_3/docs/PostGroupNoteResponse.md +cloudbeds_pms_v1_3/docs/PostGroupNoteResponseDataInner.md +cloudbeds_pms_v1_3/docs/PostGuestDocumentResponse.md +cloudbeds_pms_v1_3/docs/PostGuestDocumentResponseData.md +cloudbeds_pms_v1_3/docs/PostGuestNoteResponse.md +cloudbeds_pms_v1_3/docs/PostGuestPhotoResponse.md +cloudbeds_pms_v1_3/docs/PostGuestRequestCustomFieldsInner.md +cloudbeds_pms_v1_3/docs/PostGuestResponse.md +cloudbeds_pms_v1_3/docs/PostGuestsToRoomResponse.md +cloudbeds_pms_v1_3/docs/PostHousekeeperResponse.md +cloudbeds_pms_v1_3/docs/PostHousekeepingAssignmentResponse.md +cloudbeds_pms_v1_3/docs/PostHousekeepingStatusResponse.md +cloudbeds_pms_v1_3/docs/PostHousekeepingStatusResponseData.md +cloudbeds_pms_v1_3/docs/PostItemCategoryResponse.md +cloudbeds_pms_v1_3/docs/PostItemRequestPaymentsInner.md +cloudbeds_pms_v1_3/docs/PostItemResponse.md +cloudbeds_pms_v1_3/docs/PostItemResponseData.md +cloudbeds_pms_v1_3/docs/PostItemsToInventoryRequestItem.md +cloudbeds_pms_v1_3/docs/PostItemsToInventoryResponse.md +cloudbeds_pms_v1_3/docs/PostItemsToInventoryResponseDataInner.md +cloudbeds_pms_v1_3/docs/PostNewHouseAccountResponse.md +cloudbeds_pms_v1_3/docs/PostNewHouseAccountResponseData.md +cloudbeds_pms_v1_3/docs/PostPatchGroupResponse.md +cloudbeds_pms_v1_3/docs/PostPatchGroupResponseDataInner.md +cloudbeds_pms_v1_3/docs/PostPatchRateRequestRatesInner.md +cloudbeds_pms_v1_3/docs/PostPatchRateRequestRatesInnerInterval.md +cloudbeds_pms_v1_3/docs/PostPatchRateResponse.md +cloudbeds_pms_v1_3/docs/PostPaymentResponse.md +cloudbeds_pms_v1_3/docs/PostPutAppPropertySettingsResponse.md +cloudbeds_pms_v1_3/docs/PostPutGroupResponse.md +cloudbeds_pms_v1_3/docs/PostPutRateRequestRatesInner.md +cloudbeds_pms_v1_3/docs/PostPutRateRequestRatesInnerIntervalInner.md +cloudbeds_pms_v1_3/docs/PostPutRateResponse.md +cloudbeds_pms_v1_3/docs/PostReservationDocumentResponse.md +cloudbeds_pms_v1_3/docs/PostReservationNoteResponse.md +cloudbeds_pms_v1_3/docs/PostReservationRequestAdultsInner.md +cloudbeds_pms_v1_3/docs/PostReservationRequestChildrenInner.md +cloudbeds_pms_v1_3/docs/PostReservationRequestCustomFieldsInner.md +cloudbeds_pms_v1_3/docs/PostReservationRequestRoomsInner.md +cloudbeds_pms_v1_3/docs/PostReservationResponse.md +cloudbeds_pms_v1_3/docs/PostReservationResponseUnassignedInner.md +cloudbeds_pms_v1_3/docs/PostRoomAssignResponse.md +cloudbeds_pms_v1_3/docs/PostRoomBlockRequestRoomsInner.md +cloudbeds_pms_v1_3/docs/PostRoomBlockResponse.md +cloudbeds_pms_v1_3/docs/PostRoomBlockResponseRoomsInner.md +cloudbeds_pms_v1_3/docs/PostRoomCheckInResponse.md +cloudbeds_pms_v1_3/docs/PostRoomCheckOutResponse.md +cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockNotesResponse.md +cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockNotesResponseData.md +cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAllotmentIntervalsInner.md +cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.md +cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.md +cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAutoRelease.md +cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponse.md +cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponseDataInner.md +cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.md +cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.md +cloudbeds_pms_v1_3/docs/PostVoidItemResponse.md +cloudbeds_pms_v1_3/docs/PostVoidPaymentResponse.md +cloudbeds_pms_v1_3/docs/PostWebhookResponse.md +cloudbeds_pms_v1_3/docs/PostWebhookResponseData.md +cloudbeds_pms_v1_3/docs/PutGuestNoteResponse.md +cloudbeds_pms_v1_3/docs/PutGuestRequestGuestCustomFieldsInner.md +cloudbeds_pms_v1_3/docs/PutGuestResponse.md +cloudbeds_pms_v1_3/docs/PutHouseAccountStatusResponse.md +cloudbeds_pms_v1_3/docs/PutHousekeeperResponse.md +cloudbeds_pms_v1_3/docs/PutItemToInventoryResponse.md +cloudbeds_pms_v1_3/docs/PutReservationNoteResponse.md +cloudbeds_pms_v1_3/docs/PutReservationRequestCustomFieldsInner.md +cloudbeds_pms_v1_3/docs/PutReservationRequestRoomsInner.md +cloudbeds_pms_v1_3/docs/PutReservationResponse.md +cloudbeds_pms_v1_3/docs/PutRoomBlockRequestRoomsInner.md +cloudbeds_pms_v1_3/docs/PutRoomBlockResponse.md +cloudbeds_pms_v1_3/docs/RateApi.md +cloudbeds_pms_v1_3/docs/ReservationApi.md +cloudbeds_pms_v1_3/docs/RoomApi.md +cloudbeds_pms_v1_3/docs/TaxesAndFeesApi.md +cloudbeds_pms_v1_3/docs/UserApi.md +cloudbeds_pms_v1_3/exceptions.py +cloudbeds_pms_v1_3/models/__init__.py +cloudbeds_pms_v1_3/models/delete_adjustment_response.py +cloudbeds_pms_v1_3/models/delete_guest_note_response.py +cloudbeds_pms_v1_3/models/delete_reservation_note_response.py +cloudbeds_pms_v1_3/models/delete_room_block_response.py +cloudbeds_pms_v1_3/models/delete_webhook_response.py +cloudbeds_pms_v1_3/models/get_allotment_blocks_response.py +cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner.py +cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner_allotment_intervals_inner.py +cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner.py +cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions.py +cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner_auto_release_inner.py +cloudbeds_pms_v1_3/models/get_app_property_settings_response.py +cloudbeds_pms_v1_3/models/get_app_property_settings_response_data.py +cloudbeds_pms_v1_3/models/get_app_property_settings_response_data_one_of.py +cloudbeds_pms_v1_3/models/get_app_settings_response.py +cloudbeds_pms_v1_3/models/get_app_settings_response_data.py +cloudbeds_pms_v1_3/models/get_app_state_response.py +cloudbeds_pms_v1_3/models/get_app_state_response_data.py +cloudbeds_pms_v1_3/models/get_available_room_types_response.py +cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner.py +cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner_property_currency_inner.py +cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner_property_rooms_inner.py +cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner.py +cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner.py +cloudbeds_pms_v1_3/models/get_currency_settings_response.py +cloudbeds_pms_v1_3/models/get_currency_settings_response_data.py +cloudbeds_pms_v1_3/models/get_currency_settings_response_data_format.py +cloudbeds_pms_v1_3/models/get_currency_settings_response_data_rates.py +cloudbeds_pms_v1_3/models/get_currency_settings_response_data_rates_fixed_inner.py +cloudbeds_pms_v1_3/models/get_custom_fields_response.py +cloudbeds_pms_v1_3/models/get_custom_fields_response_data_inner.py +cloudbeds_pms_v1_3/models/get_dashboard_response.py +cloudbeds_pms_v1_3/models/get_dashboard_response_data.py +cloudbeds_pms_v1_3/models/get_email_schedule_response.py +cloudbeds_pms_v1_3/models/get_email_schedule_response_data_inner.py +cloudbeds_pms_v1_3/models/get_email_templates_response.py +cloudbeds_pms_v1_3/models/get_email_templates_response_data_inner.py +cloudbeds_pms_v1_3/models/get_files_response.py +cloudbeds_pms_v1_3/models/get_files_response_data_inner.py +cloudbeds_pms_v1_3/models/get_group_notes_response.py +cloudbeds_pms_v1_3/models/get_group_notes_response_data.py +cloudbeds_pms_v1_3/models/get_groups_response.py +cloudbeds_pms_v1_3/models/get_groups_response_data_inner.py +cloudbeds_pms_v1_3/models/get_groups_response_data_inner_contacts_inner.py +cloudbeds_pms_v1_3/models/get_groups_response_data_inner_contacts_inner_emails_inner.py +cloudbeds_pms_v1_3/models/get_groups_response_data_inner_contacts_inner_phones_inner.py +cloudbeds_pms_v1_3/models/get_guest_list_response.py +cloudbeds_pms_v1_3/models/get_guest_list_response_data_value.py +cloudbeds_pms_v1_3/models/get_guest_list_response_data_value_guest_notes_inner.py +cloudbeds_pms_v1_3/models/get_guest_notes_response.py +cloudbeds_pms_v1_3/models/get_guest_notes_response_data_inner.py +cloudbeds_pms_v1_3/models/get_guest_response.py +cloudbeds_pms_v1_3/models/get_guest_response_data.py +cloudbeds_pms_v1_3/models/get_guest_response_data_birth_date.py +cloudbeds_pms_v1_3/models/get_guest_response_data_custom_fields_inner.py +cloudbeds_pms_v1_3/models/get_guest_response_data_document_expiration_date.py +cloudbeds_pms_v1_3/models/get_guest_response_data_document_issue_date.py +cloudbeds_pms_v1_3/models/get_guests_by_filter_response.py +cloudbeds_pms_v1_3/models/get_guests_by_filter_response_data_inner.py +cloudbeds_pms_v1_3/models/get_guests_by_status_response.py +cloudbeds_pms_v1_3/models/get_guests_by_status_response_data_inner.py +cloudbeds_pms_v1_3/models/get_guests_modified_response.py +cloudbeds_pms_v1_3/models/get_guests_modified_response_data_inner.py +cloudbeds_pms_v1_3/models/get_guests_modified_response_data_inner_custom_fields_inner.py +cloudbeds_pms_v1_3/models/get_hotel_details_response.py +cloudbeds_pms_v1_3/models/get_hotel_details_response_data.py +cloudbeds_pms_v1_3/models/get_hotel_details_response_data_property_address.py +cloudbeds_pms_v1_3/models/get_hotel_details_response_data_property_currency.py +cloudbeds_pms_v1_3/models/get_hotel_details_response_data_property_image_inner.py +cloudbeds_pms_v1_3/models/get_hotel_details_response_data_property_policy.py +cloudbeds_pms_v1_3/models/get_hotels_response.py +cloudbeds_pms_v1_3/models/get_hotels_response_data_inner.py +cloudbeds_pms_v1_3/models/get_hotels_response_data_inner_property_currency_inner.py +cloudbeds_pms_v1_3/models/get_house_account_list_response.py +cloudbeds_pms_v1_3/models/get_house_account_list_response_data_inner.py +cloudbeds_pms_v1_3/models/get_housekeepers_response.py +cloudbeds_pms_v1_3/models/get_housekeepers_response_data_inner.py +cloudbeds_pms_v1_3/models/get_housekeeping_status_response.py +cloudbeds_pms_v1_3/models/get_housekeeping_status_response_data_inner.py +cloudbeds_pms_v1_3/models/get_item_categories_response.py +cloudbeds_pms_v1_3/models/get_item_categories_response_data_inner.py +cloudbeds_pms_v1_3/models/get_item_response.py +cloudbeds_pms_v1_3/models/get_item_response_data.py +cloudbeds_pms_v1_3/models/get_item_response_data_fees_inner.py +cloudbeds_pms_v1_3/models/get_item_response_data_taxes_inner.py +cloudbeds_pms_v1_3/models/get_items_response.py +cloudbeds_pms_v1_3/models/get_items_response_data_inner.py +cloudbeds_pms_v1_3/models/get_list_allotment_block_notes_response.py +cloudbeds_pms_v1_3/models/get_list_allotment_block_notes_response_data_inner.py +cloudbeds_pms_v1_3/models/get_metadata_response.py +cloudbeds_pms_v1_3/models/get_metadata_response_data.py +cloudbeds_pms_v1_3/models/get_metadata_response_data_api.py +cloudbeds_pms_v1_3/models/get_packages_response.py +cloudbeds_pms_v1_3/models/get_packages_response_data.py +cloudbeds_pms_v1_3/models/get_payment_methods_response.py +cloudbeds_pms_v1_3/models/get_payment_methods_response_data.py +cloudbeds_pms_v1_3/models/get_payment_methods_response_data_gateway.py +cloudbeds_pms_v1_3/models/get_payment_methods_response_data_methods_inner.py +cloudbeds_pms_v1_3/models/get_payment_methods_response_data_methods_inner_card_types_inner.py +cloudbeds_pms_v1_3/models/get_payments_capabilities_response.py +cloudbeds_pms_v1_3/models/get_payments_capabilities_response_data_inner.py +cloudbeds_pms_v1_3/models/get_rate_jobs_response.py +cloudbeds_pms_v1_3/models/get_rate_jobs_response_data_inner.py +cloudbeds_pms_v1_3/models/get_rate_jobs_response_data_inner_updates_inner.py +cloudbeds_pms_v1_3/models/get_rate_plans_response.py +cloudbeds_pms_v1_3/models/get_rate_plans_response_data_inner.py +cloudbeds_pms_v1_3/models/get_rate_plans_response_data_inner_add_ons_inner.py +cloudbeds_pms_v1_3/models/get_rate_plans_response_data_inner_room_rate_detailed_inner.py +cloudbeds_pms_v1_3/models/get_rate_response.py +cloudbeds_pms_v1_3/models/get_rate_response_data.py +cloudbeds_pms_v1_3/models/get_rate_response_data_room_rate_detailed_inner.py +cloudbeds_pms_v1_3/models/get_reservation_assignments_response.py +cloudbeds_pms_v1_3/models/get_reservation_assignments_response_data_inner.py +cloudbeds_pms_v1_3/models/get_reservation_assignments_response_data_inner_assigned_inner.py +cloudbeds_pms_v1_3/models/get_reservation_notes_response.py +cloudbeds_pms_v1_3/models/get_reservation_notes_response_data_inner.py +cloudbeds_pms_v1_3/models/get_reservation_response.py +cloudbeds_pms_v1_3/models/get_reservation_response_data.py +cloudbeds_pms_v1_3/models/get_reservation_response_data_assigned_inner.py +cloudbeds_pms_v1_3/models/get_reservation_response_data_assigned_inner_daily_rates_inner.py +cloudbeds_pms_v1_3/models/get_reservation_response_data_balance_detailed.py +cloudbeds_pms_v1_3/models/get_reservation_response_data_balance_detailed_one_of.py +cloudbeds_pms_v1_3/models/get_reservation_response_data_cards_on_file_inner.py +cloudbeds_pms_v1_3/models/get_reservation_response_data_group_inventory_inner.py +cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value.py +cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value_custom_fields_inner.py +cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value_guest_birthdate.py +cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value_rooms_inner.py +cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value_unassigned_rooms_inner.py +cloudbeds_pms_v1_3/models/get_reservation_response_data_unassigned_inner.py +cloudbeds_pms_v1_3/models/get_reservation_room_details_response.py +cloudbeds_pms_v1_3/models/get_reservation_room_details_response_data.py +cloudbeds_pms_v1_3/models/get_reservation_room_details_response_data_guests_inner.py +cloudbeds_pms_v1_3/models/get_reservations_response.py +cloudbeds_pms_v1_3/models/get_reservations_response_data_inner.py +cloudbeds_pms_v1_3/models/get_reservations_response_data_inner_guest_list_value.py +cloudbeds_pms_v1_3/models/get_reservations_response_data_inner_guest_list_value_rooms_inner.py +cloudbeds_pms_v1_3/models/get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner.py +cloudbeds_pms_v1_3/models/get_reservations_response_data_inner_rooms_inner.py +cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response.py +cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner.py +cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner_balance_detailed.py +cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner_guest_list_value.py +cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner_rooms_inner.py +cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner_source.py +cloudbeds_pms_v1_3/models/get_room_blocks_response.py +cloudbeds_pms_v1_3/models/get_room_blocks_response_data_inner.py +cloudbeds_pms_v1_3/models/get_room_blocks_response_data_inner_rooms_inner.py +cloudbeds_pms_v1_3/models/get_room_types_response.py +cloudbeds_pms_v1_3/models/get_room_types_response_data_inner.py +cloudbeds_pms_v1_3/models/get_rooms_fees_and_taxes_response.py +cloudbeds_pms_v1_3/models/get_rooms_fees_and_taxes_response_data.py +cloudbeds_pms_v1_3/models/get_rooms_fees_and_taxes_response_data_fees_inner.py +cloudbeds_pms_v1_3/models/get_rooms_fees_and_taxes_response_data_taxes_inner.py +cloudbeds_pms_v1_3/models/get_rooms_response.py +cloudbeds_pms_v1_3/models/get_rooms_response_data_inner.py +cloudbeds_pms_v1_3/models/get_rooms_response_data_inner_rooms_inner.py +cloudbeds_pms_v1_3/models/get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner.py +cloudbeds_pms_v1_3/models/get_rooms_unassigned_response.py +cloudbeds_pms_v1_3/models/get_rooms_unassigned_response_data_inner.py +cloudbeds_pms_v1_3/models/get_rooms_unassigned_response_data_inner_rooms_inner.py +cloudbeds_pms_v1_3/models/get_sources_response.py +cloudbeds_pms_v1_3/models/get_sources_response_data_inner.py +cloudbeds_pms_v1_3/models/get_sources_response_data_inner_fees_inner.py +cloudbeds_pms_v1_3/models/get_sources_response_data_inner_taxes_inner.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_adult.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_child.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_rate_based_inner.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_amount.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_length_of_stay_settings.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner.py +cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_room_types_inner.py +cloudbeds_pms_v1_3/models/get_userinfo_response.py +cloudbeds_pms_v1_3/models/get_userinfo_response_roles_inner.py +cloudbeds_pms_v1_3/models/get_users_response.py +cloudbeds_pms_v1_3/models/get_webhooks_response.py +cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner.py +cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner_event.py +cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner_key.py +cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner_owner.py +cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner_subscription_data.py +cloudbeds_pms_v1_3/models/post_access_token_response.py +cloudbeds_pms_v1_3/models/post_access_token_response_resources_inner.py +cloudbeds_pms_v1_3/models/post_adjustment_response.py +cloudbeds_pms_v1_3/models/post_adjustment_response_data.py +cloudbeds_pms_v1_3/models/post_app_error_response.py +cloudbeds_pms_v1_3/models/post_app_error_response_data.py +cloudbeds_pms_v1_3/models/post_app_property_setting_response.py +cloudbeds_pms_v1_3/models/post_app_property_setting_response_data.py +cloudbeds_pms_v1_3/models/post_app_state_response.py +cloudbeds_pms_v1_3/models/post_append_custom_item_response.py +cloudbeds_pms_v1_3/models/post_append_custom_item_response_data.py +cloudbeds_pms_v1_3/models/post_card_response.py +cloudbeds_pms_v1_3/models/post_card_response_data.py +cloudbeds_pms_v1_3/models/post_charge_response.py +cloudbeds_pms_v1_3/models/post_charge_response_data.py +cloudbeds_pms_v1_3/models/post_charge_response_data_next_action.py +cloudbeds_pms_v1_3/models/post_charge_response_data_next_action_details.py +cloudbeds_pms_v1_3/models/post_create_allotment_block_notes_response.py +cloudbeds_pms_v1_3/models/post_create_allotment_block_notes_response_data.py +cloudbeds_pms_v1_3/models/post_create_allotment_block_request_allotment_intervals_inner.py +cloudbeds_pms_v1_3/models/post_create_allotment_block_request_allotment_intervals_inner_availability_inner.py +cloudbeds_pms_v1_3/models/post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.py +cloudbeds_pms_v1_3/models/post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions.py +cloudbeds_pms_v1_3/models/post_create_allotment_block_request_auto_release.py +cloudbeds_pms_v1_3/models/post_create_allotment_block_response.py +cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner.py +cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_allotment_intervals_inner.py +cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability.py +cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.py +cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.py +cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_auto_release.py +cloudbeds_pms_v1_3/models/post_custom_field_response.py +cloudbeds_pms_v1_3/models/post_custom_field_response_data.py +cloudbeds_pms_v1_3/models/post_custom_item_request_items_inner.py +cloudbeds_pms_v1_3/models/post_custom_item_request_items_inner_item_fees_inner.py +cloudbeds_pms_v1_3/models/post_custom_item_request_items_inner_item_taxes_inner.py +cloudbeds_pms_v1_3/models/post_custom_item_request_payments_inner.py +cloudbeds_pms_v1_3/models/post_custom_item_response.py +cloudbeds_pms_v1_3/models/post_custom_item_response_data.py +cloudbeds_pms_v1_3/models/post_custom_payment_method_response.py +cloudbeds_pms_v1_3/models/post_delete_allotment_block_response.py +cloudbeds_pms_v1_3/models/post_delete_app_property_settings_response.py +cloudbeds_pms_v1_3/models/post_email_schedule_request_schedule.py +cloudbeds_pms_v1_3/models/post_email_schedule_request_schedule_reservation_event.py +cloudbeds_pms_v1_3/models/post_email_schedule_request_schedule_reservation_status_change.py +cloudbeds_pms_v1_3/models/post_email_schedule_response.py +cloudbeds_pms_v1_3/models/post_email_template_request_body.py +cloudbeds_pms_v1_3/models/post_email_template_request_subject.py +cloudbeds_pms_v1_3/models/post_email_template_response.py +cloudbeds_pms_v1_3/models/post_file_response.py +cloudbeds_pms_v1_3/models/post_government_receipt_response.py +cloudbeds_pms_v1_3/models/post_group_note_response.py +cloudbeds_pms_v1_3/models/post_group_note_response_data_inner.py +cloudbeds_pms_v1_3/models/post_guest_document_response.py +cloudbeds_pms_v1_3/models/post_guest_document_response_data.py +cloudbeds_pms_v1_3/models/post_guest_note_response.py +cloudbeds_pms_v1_3/models/post_guest_photo_response.py +cloudbeds_pms_v1_3/models/post_guest_request_custom_fields_inner.py +cloudbeds_pms_v1_3/models/post_guest_response.py +cloudbeds_pms_v1_3/models/post_guests_to_room_response.py +cloudbeds_pms_v1_3/models/post_housekeeper_response.py +cloudbeds_pms_v1_3/models/post_housekeeping_assignment_response.py +cloudbeds_pms_v1_3/models/post_housekeeping_status_response.py +cloudbeds_pms_v1_3/models/post_housekeeping_status_response_data.py +cloudbeds_pms_v1_3/models/post_item_category_response.py +cloudbeds_pms_v1_3/models/post_item_request_payments_inner.py +cloudbeds_pms_v1_3/models/post_item_response.py +cloudbeds_pms_v1_3/models/post_item_response_data.py +cloudbeds_pms_v1_3/models/post_items_to_inventory_request_item.py +cloudbeds_pms_v1_3/models/post_items_to_inventory_response.py +cloudbeds_pms_v1_3/models/post_items_to_inventory_response_data_inner.py +cloudbeds_pms_v1_3/models/post_new_house_account_response.py +cloudbeds_pms_v1_3/models/post_new_house_account_response_data.py +cloudbeds_pms_v1_3/models/post_patch_group_response.py +cloudbeds_pms_v1_3/models/post_patch_group_response_data_inner.py +cloudbeds_pms_v1_3/models/post_patch_rate_request_rates_inner.py +cloudbeds_pms_v1_3/models/post_patch_rate_request_rates_inner_interval.py +cloudbeds_pms_v1_3/models/post_patch_rate_response.py +cloudbeds_pms_v1_3/models/post_payment_response.py +cloudbeds_pms_v1_3/models/post_put_app_property_settings_response.py +cloudbeds_pms_v1_3/models/post_put_group_response.py +cloudbeds_pms_v1_3/models/post_put_rate_request_rates_inner.py +cloudbeds_pms_v1_3/models/post_put_rate_request_rates_inner_interval_inner.py +cloudbeds_pms_v1_3/models/post_put_rate_response.py +cloudbeds_pms_v1_3/models/post_reservation_document_response.py +cloudbeds_pms_v1_3/models/post_reservation_note_response.py +cloudbeds_pms_v1_3/models/post_reservation_request_adults_inner.py +cloudbeds_pms_v1_3/models/post_reservation_request_children_inner.py +cloudbeds_pms_v1_3/models/post_reservation_request_custom_fields_inner.py +cloudbeds_pms_v1_3/models/post_reservation_request_rooms_inner.py +cloudbeds_pms_v1_3/models/post_reservation_response.py +cloudbeds_pms_v1_3/models/post_reservation_response_unassigned_inner.py +cloudbeds_pms_v1_3/models/post_room_assign_response.py +cloudbeds_pms_v1_3/models/post_room_block_request_rooms_inner.py +cloudbeds_pms_v1_3/models/post_room_block_response.py +cloudbeds_pms_v1_3/models/post_room_block_response_rooms_inner.py +cloudbeds_pms_v1_3/models/post_room_check_in_response.py +cloudbeds_pms_v1_3/models/post_room_check_out_response.py +cloudbeds_pms_v1_3/models/post_update_allotment_block_notes_response.py +cloudbeds_pms_v1_3/models/post_update_allotment_block_notes_response_data.py +cloudbeds_pms_v1_3/models/post_update_allotment_block_request_allotment_intervals_inner.py +cloudbeds_pms_v1_3/models/post_update_allotment_block_request_allotment_intervals_inner_availability_inner.py +cloudbeds_pms_v1_3/models/post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.py +cloudbeds_pms_v1_3/models/post_update_allotment_block_request_auto_release.py +cloudbeds_pms_v1_3/models/post_update_allotment_block_response.py +cloudbeds_pms_v1_3/models/post_update_allotment_block_response_data_inner.py +cloudbeds_pms_v1_3/models/post_update_allotment_block_response_data_inner_allotment_intervals_inner.py +cloudbeds_pms_v1_3/models/post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.py +cloudbeds_pms_v1_3/models/post_void_item_response.py +cloudbeds_pms_v1_3/models/post_void_payment_response.py +cloudbeds_pms_v1_3/models/post_webhook_response.py +cloudbeds_pms_v1_3/models/post_webhook_response_data.py +cloudbeds_pms_v1_3/models/put_guest_note_response.py +cloudbeds_pms_v1_3/models/put_guest_request_guest_custom_fields_inner.py +cloudbeds_pms_v1_3/models/put_guest_response.py +cloudbeds_pms_v1_3/models/put_house_account_status_response.py +cloudbeds_pms_v1_3/models/put_housekeeper_response.py +cloudbeds_pms_v1_3/models/put_item_to_inventory_response.py +cloudbeds_pms_v1_3/models/put_reservation_note_response.py +cloudbeds_pms_v1_3/models/put_reservation_request_custom_fields_inner.py +cloudbeds_pms_v1_3/models/put_reservation_request_rooms_inner.py +cloudbeds_pms_v1_3/models/put_reservation_response.py +cloudbeds_pms_v1_3/models/put_room_block_request_rooms_inner.py +cloudbeds_pms_v1_3/models/put_room_block_response.py +cloudbeds_pms_v1_3/rest.py +cloudbeds_pms_v1_3/test/__init__.py +cloudbeds_pms_v1_3/test/test_adjustment_api.py +cloudbeds_pms_v1_3/test/test_allotment_blocks_api.py +cloudbeds_pms_v1_3/test/test_app_settings_api.py +cloudbeds_pms_v1_3/test/test_authentication_api.py +cloudbeds_pms_v1_3/test/test_currency_api.py +cloudbeds_pms_v1_3/test/test_custom_fields_api.py +cloudbeds_pms_v1_3/test/test_dashboard_api.py +cloudbeds_pms_v1_3/test/test_delete_adjustment_response.py +cloudbeds_pms_v1_3/test/test_delete_guest_note_response.py +cloudbeds_pms_v1_3/test/test_delete_reservation_note_response.py +cloudbeds_pms_v1_3/test/test_delete_room_block_response.py +cloudbeds_pms_v1_3/test/test_delete_webhook_response.py +cloudbeds_pms_v1_3/test/test_emails_api.py +cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response.py +cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner_allotment_intervals_inner.py +cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner.py +cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions.py +cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner_auto_release_inner.py +cloudbeds_pms_v1_3/test/test_get_app_property_settings_response.py +cloudbeds_pms_v1_3/test/test_get_app_property_settings_response_data.py +cloudbeds_pms_v1_3/test/test_get_app_property_settings_response_data_one_of.py +cloudbeds_pms_v1_3/test/test_get_app_settings_response.py +cloudbeds_pms_v1_3/test/test_get_app_settings_response_data.py +cloudbeds_pms_v1_3/test/test_get_app_state_response.py +cloudbeds_pms_v1_3/test/test_get_app_state_response_data.py +cloudbeds_pms_v1_3/test/test_get_available_room_types_response.py +cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner_property_currency_inner.py +cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner_property_rooms_inner.py +cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner.py +cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner.py +cloudbeds_pms_v1_3/test/test_get_currency_settings_response.py +cloudbeds_pms_v1_3/test/test_get_currency_settings_response_data.py +cloudbeds_pms_v1_3/test/test_get_currency_settings_response_data_format.py +cloudbeds_pms_v1_3/test/test_get_currency_settings_response_data_rates.py +cloudbeds_pms_v1_3/test/test_get_currency_settings_response_data_rates_fixed_inner.py +cloudbeds_pms_v1_3/test/test_get_custom_fields_response.py +cloudbeds_pms_v1_3/test/test_get_custom_fields_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_dashboard_response.py +cloudbeds_pms_v1_3/test/test_get_dashboard_response_data.py +cloudbeds_pms_v1_3/test/test_get_email_schedule_response.py +cloudbeds_pms_v1_3/test/test_get_email_schedule_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_email_templates_response.py +cloudbeds_pms_v1_3/test/test_get_email_templates_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_files_response.py +cloudbeds_pms_v1_3/test/test_get_files_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_group_notes_response.py +cloudbeds_pms_v1_3/test/test_get_group_notes_response_data.py +cloudbeds_pms_v1_3/test/test_get_groups_response.py +cloudbeds_pms_v1_3/test/test_get_groups_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_groups_response_data_inner_contacts_inner.py +cloudbeds_pms_v1_3/test/test_get_groups_response_data_inner_contacts_inner_emails_inner.py +cloudbeds_pms_v1_3/test/test_get_groups_response_data_inner_contacts_inner_phones_inner.py +cloudbeds_pms_v1_3/test/test_get_guest_list_response.py +cloudbeds_pms_v1_3/test/test_get_guest_list_response_data_value.py +cloudbeds_pms_v1_3/test/test_get_guest_list_response_data_value_guest_notes_inner.py +cloudbeds_pms_v1_3/test/test_get_guest_notes_response.py +cloudbeds_pms_v1_3/test/test_get_guest_notes_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_guest_response.py +cloudbeds_pms_v1_3/test/test_get_guest_response_data.py +cloudbeds_pms_v1_3/test/test_get_guest_response_data_birth_date.py +cloudbeds_pms_v1_3/test/test_get_guest_response_data_custom_fields_inner.py +cloudbeds_pms_v1_3/test/test_get_guest_response_data_document_expiration_date.py +cloudbeds_pms_v1_3/test/test_get_guest_response_data_document_issue_date.py +cloudbeds_pms_v1_3/test/test_get_guests_by_filter_response.py +cloudbeds_pms_v1_3/test/test_get_guests_by_filter_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_guests_by_status_response.py +cloudbeds_pms_v1_3/test/test_get_guests_by_status_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_guests_modified_response.py +cloudbeds_pms_v1_3/test/test_get_guests_modified_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_guests_modified_response_data_inner_custom_fields_inner.py +cloudbeds_pms_v1_3/test/test_get_hotel_details_response.py +cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data.py +cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data_property_address.py +cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data_property_currency.py +cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data_property_image_inner.py +cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data_property_policy.py +cloudbeds_pms_v1_3/test/test_get_hotels_response.py +cloudbeds_pms_v1_3/test/test_get_hotels_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_hotels_response_data_inner_property_currency_inner.py +cloudbeds_pms_v1_3/test/test_get_house_account_list_response.py +cloudbeds_pms_v1_3/test/test_get_house_account_list_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_housekeepers_response.py +cloudbeds_pms_v1_3/test/test_get_housekeepers_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_housekeeping_status_response.py +cloudbeds_pms_v1_3/test/test_get_housekeeping_status_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_item_categories_response.py +cloudbeds_pms_v1_3/test/test_get_item_categories_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_item_response.py +cloudbeds_pms_v1_3/test/test_get_item_response_data.py +cloudbeds_pms_v1_3/test/test_get_item_response_data_fees_inner.py +cloudbeds_pms_v1_3/test/test_get_item_response_data_taxes_inner.py +cloudbeds_pms_v1_3/test/test_get_items_response.py +cloudbeds_pms_v1_3/test/test_get_items_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_list_allotment_block_notes_response.py +cloudbeds_pms_v1_3/test/test_get_list_allotment_block_notes_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_metadata_response.py +cloudbeds_pms_v1_3/test/test_get_metadata_response_data.py +cloudbeds_pms_v1_3/test/test_get_metadata_response_data_api.py +cloudbeds_pms_v1_3/test/test_get_packages_response.py +cloudbeds_pms_v1_3/test/test_get_packages_response_data.py +cloudbeds_pms_v1_3/test/test_get_payment_methods_response.py +cloudbeds_pms_v1_3/test/test_get_payment_methods_response_data.py +cloudbeds_pms_v1_3/test/test_get_payment_methods_response_data_gateway.py +cloudbeds_pms_v1_3/test/test_get_payment_methods_response_data_methods_inner.py +cloudbeds_pms_v1_3/test/test_get_payment_methods_response_data_methods_inner_card_types_inner.py +cloudbeds_pms_v1_3/test/test_get_payments_capabilities_response.py +cloudbeds_pms_v1_3/test/test_get_payments_capabilities_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_rate_jobs_response.py +cloudbeds_pms_v1_3/test/test_get_rate_jobs_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_rate_jobs_response_data_inner_updates_inner.py +cloudbeds_pms_v1_3/test/test_get_rate_plans_response.py +cloudbeds_pms_v1_3/test/test_get_rate_plans_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_rate_plans_response_data_inner_add_ons_inner.py +cloudbeds_pms_v1_3/test/test_get_rate_plans_response_data_inner_room_rate_detailed_inner.py +cloudbeds_pms_v1_3/test/test_get_rate_response.py +cloudbeds_pms_v1_3/test/test_get_rate_response_data.py +cloudbeds_pms_v1_3/test/test_get_rate_response_data_room_rate_detailed_inner.py +cloudbeds_pms_v1_3/test/test_get_reservation_assignments_response.py +cloudbeds_pms_v1_3/test/test_get_reservation_assignments_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_reservation_assignments_response_data_inner_assigned_inner.py +cloudbeds_pms_v1_3/test/test_get_reservation_notes_response.py +cloudbeds_pms_v1_3/test/test_get_reservation_notes_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_reservation_response.py +cloudbeds_pms_v1_3/test/test_get_reservation_response_data.py +cloudbeds_pms_v1_3/test/test_get_reservation_response_data_assigned_inner.py +cloudbeds_pms_v1_3/test/test_get_reservation_response_data_assigned_inner_daily_rates_inner.py +cloudbeds_pms_v1_3/test/test_get_reservation_response_data_balance_detailed.py +cloudbeds_pms_v1_3/test/test_get_reservation_response_data_balance_detailed_one_of.py +cloudbeds_pms_v1_3/test/test_get_reservation_response_data_cards_on_file_inner.py +cloudbeds_pms_v1_3/test/test_get_reservation_response_data_group_inventory_inner.py +cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value.py +cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value_custom_fields_inner.py +cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value_guest_birthdate.py +cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value_rooms_inner.py +cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value_unassigned_rooms_inner.py +cloudbeds_pms_v1_3/test/test_get_reservation_response_data_unassigned_inner.py +cloudbeds_pms_v1_3/test/test_get_reservation_room_details_response.py +cloudbeds_pms_v1_3/test/test_get_reservation_room_details_response_data.py +cloudbeds_pms_v1_3/test/test_get_reservation_room_details_response_data_guests_inner.py +cloudbeds_pms_v1_3/test/test_get_reservations_response.py +cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner_guest_list_value.py +cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner_guest_list_value_rooms_inner.py +cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner.py +cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner_rooms_inner.py +cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response.py +cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner_balance_detailed.py +cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner_guest_list_value.py +cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner_rooms_inner.py +cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner_source.py +cloudbeds_pms_v1_3/test/test_get_room_blocks_response.py +cloudbeds_pms_v1_3/test/test_get_room_blocks_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_room_blocks_response_data_inner_rooms_inner.py +cloudbeds_pms_v1_3/test/test_get_room_types_response.py +cloudbeds_pms_v1_3/test/test_get_room_types_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_rooms_fees_and_taxes_response.py +cloudbeds_pms_v1_3/test/test_get_rooms_fees_and_taxes_response_data.py +cloudbeds_pms_v1_3/test/test_get_rooms_fees_and_taxes_response_data_fees_inner.py +cloudbeds_pms_v1_3/test/test_get_rooms_fees_and_taxes_response_data_taxes_inner.py +cloudbeds_pms_v1_3/test/test_get_rooms_response.py +cloudbeds_pms_v1_3/test/test_get_rooms_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_rooms_response_data_inner_rooms_inner.py +cloudbeds_pms_v1_3/test/test_get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner.py +cloudbeds_pms_v1_3/test/test_get_rooms_unassigned_response.py +cloudbeds_pms_v1_3/test/test_get_rooms_unassigned_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_rooms_unassigned_response_data_inner_rooms_inner.py +cloudbeds_pms_v1_3/test/test_get_sources_response.py +cloudbeds_pms_v1_3/test/test_get_sources_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_sources_response_data_inner_fees_inner.py +cloudbeds_pms_v1_3/test/test_get_sources_response_data_inner_taxes_inner.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_adult.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_child.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_rate_based_inner.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_amount.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_length_of_stay_settings.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner.py +cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_room_types_inner.py +cloudbeds_pms_v1_3/test/test_get_userinfo_response.py +cloudbeds_pms_v1_3/test/test_get_userinfo_response_roles_inner.py +cloudbeds_pms_v1_3/test/test_get_users_response.py +cloudbeds_pms_v1_3/test/test_get_webhooks_response.py +cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner.py +cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner_event.py +cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner_key.py +cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner_owner.py +cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner_subscription_data.py +cloudbeds_pms_v1_3/test/test_groups_api.py +cloudbeds_pms_v1_3/test/test_guest_api.py +cloudbeds_pms_v1_3/test/test_hotel_api.py +cloudbeds_pms_v1_3/test/test_house_account_api.py +cloudbeds_pms_v1_3/test/test_housekeeping_api.py +cloudbeds_pms_v1_3/test/test_integration_api.py +cloudbeds_pms_v1_3/test/test_item_api.py +cloudbeds_pms_v1_3/test/test_package_api.py +cloudbeds_pms_v1_3/test/test_payment_api.py +cloudbeds_pms_v1_3/test/test_post_access_token_response.py +cloudbeds_pms_v1_3/test/test_post_access_token_response_resources_inner.py +cloudbeds_pms_v1_3/test/test_post_adjustment_response.py +cloudbeds_pms_v1_3/test/test_post_adjustment_response_data.py +cloudbeds_pms_v1_3/test/test_post_app_error_response.py +cloudbeds_pms_v1_3/test/test_post_app_error_response_data.py +cloudbeds_pms_v1_3/test/test_post_app_property_setting_response.py +cloudbeds_pms_v1_3/test/test_post_app_property_setting_response_data.py +cloudbeds_pms_v1_3/test/test_post_app_state_response.py +cloudbeds_pms_v1_3/test/test_post_append_custom_item_response.py +cloudbeds_pms_v1_3/test/test_post_append_custom_item_response_data.py +cloudbeds_pms_v1_3/test/test_post_card_response.py +cloudbeds_pms_v1_3/test/test_post_card_response_data.py +cloudbeds_pms_v1_3/test/test_post_charge_response.py +cloudbeds_pms_v1_3/test/test_post_charge_response_data.py +cloudbeds_pms_v1_3/test/test_post_charge_response_data_next_action.py +cloudbeds_pms_v1_3/test/test_post_charge_response_data_next_action_details.py +cloudbeds_pms_v1_3/test/test_post_create_allotment_block_notes_response.py +cloudbeds_pms_v1_3/test/test_post_create_allotment_block_notes_response_data.py +cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_allotment_intervals_inner.py +cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_allotment_intervals_inner_availability_inner.py +cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.py +cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions.py +cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_auto_release.py +cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response.py +cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner.py +cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_allotment_intervals_inner.py +cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability.py +cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.py +cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.py +cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_auto_release.py +cloudbeds_pms_v1_3/test/test_post_custom_field_response.py +cloudbeds_pms_v1_3/test/test_post_custom_field_response_data.py +cloudbeds_pms_v1_3/test/test_post_custom_item_request_items_inner.py +cloudbeds_pms_v1_3/test/test_post_custom_item_request_items_inner_item_fees_inner.py +cloudbeds_pms_v1_3/test/test_post_custom_item_request_items_inner_item_taxes_inner.py +cloudbeds_pms_v1_3/test/test_post_custom_item_request_payments_inner.py +cloudbeds_pms_v1_3/test/test_post_custom_item_response.py +cloudbeds_pms_v1_3/test/test_post_custom_item_response_data.py +cloudbeds_pms_v1_3/test/test_post_custom_payment_method_response.py +cloudbeds_pms_v1_3/test/test_post_delete_allotment_block_response.py +cloudbeds_pms_v1_3/test/test_post_delete_app_property_settings_response.py +cloudbeds_pms_v1_3/test/test_post_email_schedule_request_schedule.py +cloudbeds_pms_v1_3/test/test_post_email_schedule_request_schedule_reservation_event.py +cloudbeds_pms_v1_3/test/test_post_email_schedule_request_schedule_reservation_status_change.py +cloudbeds_pms_v1_3/test/test_post_email_schedule_response.py +cloudbeds_pms_v1_3/test/test_post_email_template_request_body.py +cloudbeds_pms_v1_3/test/test_post_email_template_request_subject.py +cloudbeds_pms_v1_3/test/test_post_email_template_response.py +cloudbeds_pms_v1_3/test/test_post_file_response.py +cloudbeds_pms_v1_3/test/test_post_government_receipt_response.py +cloudbeds_pms_v1_3/test/test_post_group_note_response.py +cloudbeds_pms_v1_3/test/test_post_group_note_response_data_inner.py +cloudbeds_pms_v1_3/test/test_post_guest_document_response.py +cloudbeds_pms_v1_3/test/test_post_guest_document_response_data.py +cloudbeds_pms_v1_3/test/test_post_guest_note_response.py +cloudbeds_pms_v1_3/test/test_post_guest_photo_response.py +cloudbeds_pms_v1_3/test/test_post_guest_request_custom_fields_inner.py +cloudbeds_pms_v1_3/test/test_post_guest_response.py +cloudbeds_pms_v1_3/test/test_post_guests_to_room_response.py +cloudbeds_pms_v1_3/test/test_post_housekeeper_response.py +cloudbeds_pms_v1_3/test/test_post_housekeeping_assignment_response.py +cloudbeds_pms_v1_3/test/test_post_housekeeping_status_response.py +cloudbeds_pms_v1_3/test/test_post_housekeeping_status_response_data.py +cloudbeds_pms_v1_3/test/test_post_item_category_response.py +cloudbeds_pms_v1_3/test/test_post_item_request_payments_inner.py +cloudbeds_pms_v1_3/test/test_post_item_response.py +cloudbeds_pms_v1_3/test/test_post_item_response_data.py +cloudbeds_pms_v1_3/test/test_post_items_to_inventory_request_item.py +cloudbeds_pms_v1_3/test/test_post_items_to_inventory_response.py +cloudbeds_pms_v1_3/test/test_post_items_to_inventory_response_data_inner.py +cloudbeds_pms_v1_3/test/test_post_new_house_account_response.py +cloudbeds_pms_v1_3/test/test_post_new_house_account_response_data.py +cloudbeds_pms_v1_3/test/test_post_patch_group_response.py +cloudbeds_pms_v1_3/test/test_post_patch_group_response_data_inner.py +cloudbeds_pms_v1_3/test/test_post_patch_rate_request_rates_inner.py +cloudbeds_pms_v1_3/test/test_post_patch_rate_request_rates_inner_interval.py +cloudbeds_pms_v1_3/test/test_post_patch_rate_response.py +cloudbeds_pms_v1_3/test/test_post_payment_response.py +cloudbeds_pms_v1_3/test/test_post_put_app_property_settings_response.py +cloudbeds_pms_v1_3/test/test_post_put_group_response.py +cloudbeds_pms_v1_3/test/test_post_put_rate_request_rates_inner.py +cloudbeds_pms_v1_3/test/test_post_put_rate_request_rates_inner_interval_inner.py +cloudbeds_pms_v1_3/test/test_post_put_rate_response.py +cloudbeds_pms_v1_3/test/test_post_reservation_document_response.py +cloudbeds_pms_v1_3/test/test_post_reservation_note_response.py +cloudbeds_pms_v1_3/test/test_post_reservation_request_adults_inner.py +cloudbeds_pms_v1_3/test/test_post_reservation_request_children_inner.py +cloudbeds_pms_v1_3/test/test_post_reservation_request_custom_fields_inner.py +cloudbeds_pms_v1_3/test/test_post_reservation_request_rooms_inner.py +cloudbeds_pms_v1_3/test/test_post_reservation_response.py +cloudbeds_pms_v1_3/test/test_post_reservation_response_unassigned_inner.py +cloudbeds_pms_v1_3/test/test_post_room_assign_response.py +cloudbeds_pms_v1_3/test/test_post_room_block_request_rooms_inner.py +cloudbeds_pms_v1_3/test/test_post_room_block_response.py +cloudbeds_pms_v1_3/test/test_post_room_block_response_rooms_inner.py +cloudbeds_pms_v1_3/test/test_post_room_check_in_response.py +cloudbeds_pms_v1_3/test/test_post_room_check_out_response.py +cloudbeds_pms_v1_3/test/test_post_update_allotment_block_notes_response.py +cloudbeds_pms_v1_3/test/test_post_update_allotment_block_notes_response_data.py +cloudbeds_pms_v1_3/test/test_post_update_allotment_block_request_allotment_intervals_inner.py +cloudbeds_pms_v1_3/test/test_post_update_allotment_block_request_allotment_intervals_inner_availability_inner.py +cloudbeds_pms_v1_3/test/test_post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.py +cloudbeds_pms_v1_3/test/test_post_update_allotment_block_request_auto_release.py +cloudbeds_pms_v1_3/test/test_post_update_allotment_block_response.py +cloudbeds_pms_v1_3/test/test_post_update_allotment_block_response_data_inner.py +cloudbeds_pms_v1_3/test/test_post_update_allotment_block_response_data_inner_allotment_intervals_inner.py +cloudbeds_pms_v1_3/test/test_post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.py +cloudbeds_pms_v1_3/test/test_post_void_item_response.py +cloudbeds_pms_v1_3/test/test_post_void_payment_response.py +cloudbeds_pms_v1_3/test/test_post_webhook_response.py +cloudbeds_pms_v1_3/test/test_post_webhook_response_data.py +cloudbeds_pms_v1_3/test/test_put_guest_note_response.py +cloudbeds_pms_v1_3/test/test_put_guest_request_guest_custom_fields_inner.py +cloudbeds_pms_v1_3/test/test_put_guest_response.py +cloudbeds_pms_v1_3/test/test_put_house_account_status_response.py +cloudbeds_pms_v1_3/test/test_put_housekeeper_response.py +cloudbeds_pms_v1_3/test/test_put_item_to_inventory_response.py +cloudbeds_pms_v1_3/test/test_put_reservation_note_response.py +cloudbeds_pms_v1_3/test/test_put_reservation_request_custom_fields_inner.py +cloudbeds_pms_v1_3/test/test_put_reservation_request_rooms_inner.py +cloudbeds_pms_v1_3/test/test_put_reservation_response.py +cloudbeds_pms_v1_3/test/test_put_room_block_request_rooms_inner.py +cloudbeds_pms_v1_3/test/test_put_room_block_response.py +cloudbeds_pms_v1_3/test/test_rate_api.py +cloudbeds_pms_v1_3/test/test_reservation_api.py +cloudbeds_pms_v1_3/test/test_room_api.py +cloudbeds_pms_v1_3/test/test_taxes_and_fees_api.py +cloudbeds_pms_v1_3/test/test_user_api.py diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION new file mode 100644 index 0000000..b23eb27 --- /dev/null +++ b/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.11.0 diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..24ee5b1 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.13 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..554a03f --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2025 Cloudbeds (http://cloudbeds.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/PACKAGE b/PACKAGE new file mode 100644 index 0000000..b35985b --- /dev/null +++ b/PACKAGE @@ -0,0 +1 @@ +cloudbeds_pms_v1_3 diff --git a/README.md b/README.md index 8063f2c..3851bf6 100644 --- a/README.md +++ b/README.md @@ -1 +1,583 @@ -# cloudbeds-api-python +# Cloudbeds PMS V1.3 +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ +The `cloudbeds_pms_v1_3` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: + +- API version: v1.3 +- Package version: 1.13.0 +- Generator version: 7.11.0 +- Build package: org.openapitools.codegen.languages.PythonClientCodegen + +## Requirements. + +Python 3.8+ + +## Installation & Usage + +This python library package is generated without supporting files like setup.py or requirements files + +To be able to use it, you will need these dependencies in your own package that uses this library: + +* urllib3 >= 1.25.3, < 3.0.0 +* python-dateutil >= 2.8.2 +* pydantic >= 2 +* typing-extensions >= 4.7.1 + +## Getting Started + +In your own code, to use this library to connect and interact with Cloudbeds PMS V1.3, +you can run the following: + +```python + +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.AdjustmentApi(api_client) + reservation_id = 'reservation_id_example' # str | Reservation identifier + adjustment_id = 'adjustment_id_example' # str | Adjustment identifier + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # deleteAdjustment + api_response = api_instance.delete_adjustment_delete(reservation_id, adjustment_id, property_id=property_id) + print("The response of AdjustmentApi->delete_adjustment_delete:\n") + pprint(api_response) + except ApiException as e: + print("Exception when calling AdjustmentApi->delete_adjustment_delete: %s\n" % e) + +``` + +## Documentation for API Endpoints + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*AdjustmentApi* | [**delete_adjustment_delete**](cloudbeds_pms_v1_3/docs/AdjustmentApi.md#delete_adjustment_delete) | **DELETE** /deleteAdjustment | deleteAdjustment +*AdjustmentApi* | [**post_adjustment_post**](cloudbeds_pms_v1_3/docs/AdjustmentApi.md#post_adjustment_post) | **POST** /postAdjustment | postAdjustment +*AllotmentBlocksApi* | [**create_allotment_block_notes_post**](cloudbeds_pms_v1_3/docs/AllotmentBlocksApi.md#create_allotment_block_notes_post) | **POST** /createAllotmentBlockNotes | createAllotmentBlockNotes +*AllotmentBlocksApi* | [**create_allotment_block_post**](cloudbeds_pms_v1_3/docs/AllotmentBlocksApi.md#create_allotment_block_post) | **POST** /createAllotmentBlock | createAllotmentBlock +*AllotmentBlocksApi* | [**delete_allotment_block_post**](cloudbeds_pms_v1_3/docs/AllotmentBlocksApi.md#delete_allotment_block_post) | **POST** /deleteAllotmentBlock | deleteAllotmentBlock +*AllotmentBlocksApi* | [**get_allotment_blocks_get**](cloudbeds_pms_v1_3/docs/AllotmentBlocksApi.md#get_allotment_blocks_get) | **GET** /getAllotmentBlocks | getAllotmentBlocks +*AllotmentBlocksApi* | [**list_allotment_block_notes_get**](cloudbeds_pms_v1_3/docs/AllotmentBlocksApi.md#list_allotment_block_notes_get) | **GET** /listAllotmentBlockNotes | listAllotmentBlockNotes +*AllotmentBlocksApi* | [**update_allotment_block_notes_post**](cloudbeds_pms_v1_3/docs/AllotmentBlocksApi.md#update_allotment_block_notes_post) | **POST** /updateAllotmentBlockNotes | updateAllotmentBlockNotes +*AllotmentBlocksApi* | [**update_allotment_block_post**](cloudbeds_pms_v1_3/docs/AllotmentBlocksApi.md#update_allotment_block_post) | **POST** /updateAllotmentBlock | updateAllotmentBlock +*AppSettingsApi* | [**delete_app_property_settings_post**](cloudbeds_pms_v1_3/docs/AppSettingsApi.md#delete_app_property_settings_post) | **POST** /deleteAppPropertySettings | deleteAppPropertySettings +*AppSettingsApi* | [**get_app_property_settings_get**](cloudbeds_pms_v1_3/docs/AppSettingsApi.md#get_app_property_settings_get) | **GET** /getAppPropertySettings | getAppPropertySettings +*AppSettingsApi* | [**post_app_property_settings_post**](cloudbeds_pms_v1_3/docs/AppSettingsApi.md#post_app_property_settings_post) | **POST** /postAppPropertySettings | postAppPropertySettings +*AppSettingsApi* | [**put_app_property_settings_post**](cloudbeds_pms_v1_3/docs/AppSettingsApi.md#put_app_property_settings_post) | **POST** /putAppPropertySettings | putAppPropertySettings +*AuthenticationApi* | [**access_token_post**](cloudbeds_pms_v1_3/docs/AuthenticationApi.md#access_token_post) | **POST** /access_token | access_token +*AuthenticationApi* | [**oauth_metadata_get**](cloudbeds_pms_v1_3/docs/AuthenticationApi.md#oauth_metadata_get) | **GET** /oauth/metadata | metadata +*AuthenticationApi* | [**userinfo_get**](cloudbeds_pms_v1_3/docs/AuthenticationApi.md#userinfo_get) | **GET** /userinfo | userinfo +*CurrencyApi* | [**get_currency_settings_get**](cloudbeds_pms_v1_3/docs/CurrencyApi.md#get_currency_settings_get) | **GET** /getCurrencySettings | getCurrencySettings +*CustomFieldsApi* | [**get_custom_fields_get**](cloudbeds_pms_v1_3/docs/CustomFieldsApi.md#get_custom_fields_get) | **GET** /getCustomFields | getCustomFields +*CustomFieldsApi* | [**post_custom_field_post**](cloudbeds_pms_v1_3/docs/CustomFieldsApi.md#post_custom_field_post) | **POST** /postCustomField | postCustomField +*DashboardApi* | [**get_dashboard_get**](cloudbeds_pms_v1_3/docs/DashboardApi.md#get_dashboard_get) | **GET** /getDashboard | getDashboard +*EmailsApi* | [**get_email_schedule_get**](cloudbeds_pms_v1_3/docs/EmailsApi.md#get_email_schedule_get) | **GET** /getEmailSchedule | getEmailSchedule +*EmailsApi* | [**get_email_templates_get**](cloudbeds_pms_v1_3/docs/EmailsApi.md#get_email_templates_get) | **GET** /getEmailTemplates | getEmailTemplates +*EmailsApi* | [**post_email_schedule_post**](cloudbeds_pms_v1_3/docs/EmailsApi.md#post_email_schedule_post) | **POST** /postEmailSchedule | postEmailSchedule +*EmailsApi* | [**post_email_template_post**](cloudbeds_pms_v1_3/docs/EmailsApi.md#post_email_template_post) | **POST** /postEmailTemplate | postEmailTemplate +*GroupsApi* | [**get_group_notes_get**](cloudbeds_pms_v1_3/docs/GroupsApi.md#get_group_notes_get) | **GET** /getGroupNotes | getGroupNotes +*GroupsApi* | [**get_groups_get**](cloudbeds_pms_v1_3/docs/GroupsApi.md#get_groups_get) | **GET** /getGroups | getGroups +*GroupsApi* | [**patch_group_post**](cloudbeds_pms_v1_3/docs/GroupsApi.md#patch_group_post) | **POST** /patchGroup | patchGroup +*GroupsApi* | [**post_group_note_post**](cloudbeds_pms_v1_3/docs/GroupsApi.md#post_group_note_post) | **POST** /postGroupNote | postGroupNote +*GroupsApi* | [**put_group_post**](cloudbeds_pms_v1_3/docs/GroupsApi.md#put_group_post) | **POST** /putGroup | putGroup +*GuestApi* | [**delete_guest_note_delete**](cloudbeds_pms_v1_3/docs/GuestApi.md#delete_guest_note_delete) | **DELETE** /deleteGuestNote | deleteGuestNote +*GuestApi* | [**get_guest_get**](cloudbeds_pms_v1_3/docs/GuestApi.md#get_guest_get) | **GET** /getGuest | getGuest +*GuestApi* | [**get_guest_list_get**](cloudbeds_pms_v1_3/docs/GuestApi.md#get_guest_list_get) | **GET** /getGuestList | getGuestList +*GuestApi* | [**get_guest_notes_get**](cloudbeds_pms_v1_3/docs/GuestApi.md#get_guest_notes_get) | **GET** /getGuestNotes | getGuestNotes +*GuestApi* | [**get_guests_by_filter_get**](cloudbeds_pms_v1_3/docs/GuestApi.md#get_guests_by_filter_get) | **GET** /getGuestsByFilter | getGuestsByFilter +*GuestApi* | [**get_guests_by_status_get**](cloudbeds_pms_v1_3/docs/GuestApi.md#get_guests_by_status_get) | **GET** /getGuestsByStatus | getGuestsByStatus +*GuestApi* | [**get_guests_modified_get**](cloudbeds_pms_v1_3/docs/GuestApi.md#get_guests_modified_get) | **GET** /getGuestsModified | getGuestsModified +*GuestApi* | [**post_guest_document_post**](cloudbeds_pms_v1_3/docs/GuestApi.md#post_guest_document_post) | **POST** /postGuestDocument | postGuestDocument +*GuestApi* | [**post_guest_note_post**](cloudbeds_pms_v1_3/docs/GuestApi.md#post_guest_note_post) | **POST** /postGuestNote | postGuestNote +*GuestApi* | [**post_guest_photo_post**](cloudbeds_pms_v1_3/docs/GuestApi.md#post_guest_photo_post) | **POST** /postGuestPhoto | postGuestPhoto +*GuestApi* | [**post_guest_post**](cloudbeds_pms_v1_3/docs/GuestApi.md#post_guest_post) | **POST** /postGuest | postGuest +*GuestApi* | [**post_guests_to_room_post**](cloudbeds_pms_v1_3/docs/GuestApi.md#post_guests_to_room_post) | **POST** /postGuestsToRoom | postGuestsToRoom +*GuestApi* | [**put_guest_note_put**](cloudbeds_pms_v1_3/docs/GuestApi.md#put_guest_note_put) | **PUT** /putGuestNote | putGuestNote +*GuestApi* | [**put_guest_put**](cloudbeds_pms_v1_3/docs/GuestApi.md#put_guest_put) | **PUT** /putGuest | putGuest +*HotelApi* | [**get_files_get**](cloudbeds_pms_v1_3/docs/HotelApi.md#get_files_get) | **GET** /getFiles | getFiles +*HotelApi* | [**get_hotel_details_get**](cloudbeds_pms_v1_3/docs/HotelApi.md#get_hotel_details_get) | **GET** /getHotelDetails | getHotelDetails +*HotelApi* | [**get_hotels_get**](cloudbeds_pms_v1_3/docs/HotelApi.md#get_hotels_get) | **GET** /getHotels | getHotels +*HotelApi* | [**post_file_post**](cloudbeds_pms_v1_3/docs/HotelApi.md#post_file_post) | **POST** /postFile | postFile +*HouseAccountApi* | [**get_house_account_list_get**](cloudbeds_pms_v1_3/docs/HouseAccountApi.md#get_house_account_list_get) | **GET** /getHouseAccountList | getHouseAccountList +*HouseAccountApi* | [**post_new_house_account_post**](cloudbeds_pms_v1_3/docs/HouseAccountApi.md#post_new_house_account_post) | **POST** /postNewHouseAccount | postNewHouseAccount +*HouseAccountApi* | [**put_house_account_status_put**](cloudbeds_pms_v1_3/docs/HouseAccountApi.md#put_house_account_status_put) | **PUT** /putHouseAccountStatus | putHouseAccountStatus +*HousekeepingApi* | [**get_housekeepers_get**](cloudbeds_pms_v1_3/docs/HousekeepingApi.md#get_housekeepers_get) | **GET** /getHousekeepers | getHousekeepers +*HousekeepingApi* | [**get_housekeeping_status_get**](cloudbeds_pms_v1_3/docs/HousekeepingApi.md#get_housekeeping_status_get) | **GET** /getHousekeepingStatus | getHousekeepingStatus +*HousekeepingApi* | [**post_housekeeper_post**](cloudbeds_pms_v1_3/docs/HousekeepingApi.md#post_housekeeper_post) | **POST** /postHousekeeper | postHousekeeper +*HousekeepingApi* | [**post_housekeeping_assignment_post**](cloudbeds_pms_v1_3/docs/HousekeepingApi.md#post_housekeeping_assignment_post) | **POST** /postHousekeepingAssignment | postHousekeepingAssignment +*HousekeepingApi* | [**post_housekeeping_status_post**](cloudbeds_pms_v1_3/docs/HousekeepingApi.md#post_housekeeping_status_post) | **POST** /postHousekeepingStatus | postHousekeepingStatus +*HousekeepingApi* | [**put_housekeeper_put**](cloudbeds_pms_v1_3/docs/HousekeepingApi.md#put_housekeeper_put) | **PUT** /putHousekeeper | putHousekeeper +*IntegrationApi* | [**delete_webhook_delete**](cloudbeds_pms_v1_3/docs/IntegrationApi.md#delete_webhook_delete) | **DELETE** /deleteWebhook | deleteWebhook +*IntegrationApi* | [**get_app_settings_get**](cloudbeds_pms_v1_3/docs/IntegrationApi.md#get_app_settings_get) | **GET** /getAppSettings | getAppSettings +*IntegrationApi* | [**get_app_state_get**](cloudbeds_pms_v1_3/docs/IntegrationApi.md#get_app_state_get) | **GET** /getAppState | getAppState +*IntegrationApi* | [**get_webhooks_get**](cloudbeds_pms_v1_3/docs/IntegrationApi.md#get_webhooks_get) | **GET** /getWebhooks | getWebhooks +*IntegrationApi* | [**post_app_error_post**](cloudbeds_pms_v1_3/docs/IntegrationApi.md#post_app_error_post) | **POST** /postAppError | postAppError +*IntegrationApi* | [**post_app_state_post**](cloudbeds_pms_v1_3/docs/IntegrationApi.md#post_app_state_post) | **POST** /postAppState | postAppState +*IntegrationApi* | [**post_government_receipt_post**](cloudbeds_pms_v1_3/docs/IntegrationApi.md#post_government_receipt_post) | **POST** /postGovernmentReceipt | postGovernmentReceipt +*IntegrationApi* | [**post_webhook_post**](cloudbeds_pms_v1_3/docs/IntegrationApi.md#post_webhook_post) | **POST** /postWebhook | postWebhook +*ItemApi* | [**append_custom_item_post**](cloudbeds_pms_v1_3/docs/ItemApi.md#append_custom_item_post) | **POST** /appendCustomItem | appendCustomItem +*ItemApi* | [**get_item_categories_get**](cloudbeds_pms_v1_3/docs/ItemApi.md#get_item_categories_get) | **GET** /getItemCategories | getItemCategories +*ItemApi* | [**get_item_get**](cloudbeds_pms_v1_3/docs/ItemApi.md#get_item_get) | **GET** /getItem | getItem +*ItemApi* | [**get_items_get**](cloudbeds_pms_v1_3/docs/ItemApi.md#get_items_get) | **GET** /getItems | getItems +*ItemApi* | [**post_custom_item_post**](cloudbeds_pms_v1_3/docs/ItemApi.md#post_custom_item_post) | **POST** /postCustomItem | postCustomItem +*ItemApi* | [**post_item_category_post**](cloudbeds_pms_v1_3/docs/ItemApi.md#post_item_category_post) | **POST** /postItemCategory | postItemCategory +*ItemApi* | [**post_item_post**](cloudbeds_pms_v1_3/docs/ItemApi.md#post_item_post) | **POST** /postItem | postItem +*ItemApi* | [**post_items_to_inventory_post**](cloudbeds_pms_v1_3/docs/ItemApi.md#post_items_to_inventory_post) | **POST** /postItemsToInventory | postItemsToInventory +*ItemApi* | [**post_void_item_post**](cloudbeds_pms_v1_3/docs/ItemApi.md#post_void_item_post) | **POST** /postVoidItem | postVoidItem +*ItemApi* | [**put_item_to_inventory_put**](cloudbeds_pms_v1_3/docs/ItemApi.md#put_item_to_inventory_put) | **PUT** /putItemToInventory | putItemToInventory +*PackageApi* | [**get_package_names_get**](cloudbeds_pms_v1_3/docs/PackageApi.md#get_package_names_get) | **GET** /getPackageNames | getPackageNames +*PackageApi* | [**get_packages_get**](cloudbeds_pms_v1_3/docs/PackageApi.md#get_packages_get) | **GET** /getPackages | getPackages +*PaymentApi* | [**get_payment_methods_get**](cloudbeds_pms_v1_3/docs/PaymentApi.md#get_payment_methods_get) | **GET** /getPaymentMethods | getPaymentMethods +*PaymentApi* | [**get_payments_capabilities_get**](cloudbeds_pms_v1_3/docs/PaymentApi.md#get_payments_capabilities_get) | **GET** /getPaymentsCapabilities | getPaymentsCapabilities +*PaymentApi* | [**post_charge_post**](cloudbeds_pms_v1_3/docs/PaymentApi.md#post_charge_post) | **POST** /postCharge | postCharge +*PaymentApi* | [**post_credit_card_post**](cloudbeds_pms_v1_3/docs/PaymentApi.md#post_credit_card_post) | **POST** /postCreditCard | postCreditCard +*PaymentApi* | [**post_custom_payment_method_post**](cloudbeds_pms_v1_3/docs/PaymentApi.md#post_custom_payment_method_post) | **POST** /postCustomPaymentMethod | postCustomPaymentMethod +*PaymentApi* | [**post_payment_post**](cloudbeds_pms_v1_3/docs/PaymentApi.md#post_payment_post) | **POST** /postPayment | postPayment +*PaymentApi* | [**post_void_payment_post**](cloudbeds_pms_v1_3/docs/PaymentApi.md#post_void_payment_post) | **POST** /postVoidPayment | postVoidPayment +*RateApi* | [**get_rate_get**](cloudbeds_pms_v1_3/docs/RateApi.md#get_rate_get) | **GET** /getRate | getRate +*RateApi* | [**get_rate_jobs_get**](cloudbeds_pms_v1_3/docs/RateApi.md#get_rate_jobs_get) | **GET** /getRateJobs | getRateJobs +*RateApi* | [**get_rate_plans_get**](cloudbeds_pms_v1_3/docs/RateApi.md#get_rate_plans_get) | **GET** /getRatePlans | getRatePlans +*RateApi* | [**patch_rate_post**](cloudbeds_pms_v1_3/docs/RateApi.md#patch_rate_post) | **POST** /patchRate | patchRate +*RateApi* | [**put_rate_post**](cloudbeds_pms_v1_3/docs/RateApi.md#put_rate_post) | **POST** /putRate | putRate +*ReservationApi* | [**delete_reservation_note_delete**](cloudbeds_pms_v1_3/docs/ReservationApi.md#delete_reservation_note_delete) | **DELETE** /deleteReservationNote | deleteReservationNote +*ReservationApi* | [**get_reservation_assignments_get**](cloudbeds_pms_v1_3/docs/ReservationApi.md#get_reservation_assignments_get) | **GET** /getReservationAssignments | getReservationAssignments +*ReservationApi* | [**get_reservation_get**](cloudbeds_pms_v1_3/docs/ReservationApi.md#get_reservation_get) | **GET** /getReservation | getReservation +*ReservationApi* | [**get_reservation_notes_get**](cloudbeds_pms_v1_3/docs/ReservationApi.md#get_reservation_notes_get) | **GET** /getReservationNotes | getReservationNotes +*ReservationApi* | [**get_reservations_get**](cloudbeds_pms_v1_3/docs/ReservationApi.md#get_reservations_get) | **GET** /getReservations | getReservations +*ReservationApi* | [**get_reservations_with_rate_details_get**](cloudbeds_pms_v1_3/docs/ReservationApi.md#get_reservations_with_rate_details_get) | **GET** /getReservationsWithRateDetails | getReservationsWithRateDetails +*ReservationApi* | [**get_sources_get**](cloudbeds_pms_v1_3/docs/ReservationApi.md#get_sources_get) | **GET** /getSources | getSources +*ReservationApi* | [**post_reservation_document_post**](cloudbeds_pms_v1_3/docs/ReservationApi.md#post_reservation_document_post) | **POST** /postReservationDocument | postReservationDocument +*ReservationApi* | [**post_reservation_note_post**](cloudbeds_pms_v1_3/docs/ReservationApi.md#post_reservation_note_post) | **POST** /postReservationNote | postReservationNote +*ReservationApi* | [**post_reservation_post**](cloudbeds_pms_v1_3/docs/ReservationApi.md#post_reservation_post) | **POST** /postReservation | postReservation +*ReservationApi* | [**put_reservation_note_put**](cloudbeds_pms_v1_3/docs/ReservationApi.md#put_reservation_note_put) | **PUT** /putReservationNote | putReservationNote +*ReservationApi* | [**put_reservation_put**](cloudbeds_pms_v1_3/docs/ReservationApi.md#put_reservation_put) | **PUT** /putReservation | putReservation +*RoomApi* | [**delete_room_block_delete**](cloudbeds_pms_v1_3/docs/RoomApi.md#delete_room_block_delete) | **DELETE** /deleteRoomBlock | deleteRoomBlock +*RoomApi* | [**get_available_room_types_get**](cloudbeds_pms_v1_3/docs/RoomApi.md#get_available_room_types_get) | **GET** /getAvailableRoomTypes | getAvailableRoomTypes +*RoomApi* | [**get_reservation_room_details_get**](cloudbeds_pms_v1_3/docs/RoomApi.md#get_reservation_room_details_get) | **GET** /getReservationRoomDetails | getReservationRoomDetails +*RoomApi* | [**get_room_blocks_get**](cloudbeds_pms_v1_3/docs/RoomApi.md#get_room_blocks_get) | **GET** /getRoomBlocks | getRoomBlocks +*RoomApi* | [**get_room_types_get**](cloudbeds_pms_v1_3/docs/RoomApi.md#get_room_types_get) | **GET** /getRoomTypes | getRoomTypes +*RoomApi* | [**get_rooms_fees_and_taxes_get**](cloudbeds_pms_v1_3/docs/RoomApi.md#get_rooms_fees_and_taxes_get) | **GET** /getRoomsFeesAndTaxes | getRoomsFeesAndTaxes +*RoomApi* | [**get_rooms_get**](cloudbeds_pms_v1_3/docs/RoomApi.md#get_rooms_get) | **GET** /getRooms | getRooms +*RoomApi* | [**get_rooms_unassigned_get**](cloudbeds_pms_v1_3/docs/RoomApi.md#get_rooms_unassigned_get) | **GET** /getRoomsUnassigned | getRoomsUnassigned +*RoomApi* | [**post_room_assign_post**](cloudbeds_pms_v1_3/docs/RoomApi.md#post_room_assign_post) | **POST** /postRoomAssign | postRoomAssign +*RoomApi* | [**post_room_block_post**](cloudbeds_pms_v1_3/docs/RoomApi.md#post_room_block_post) | **POST** /postRoomBlock | postRoomBlock +*RoomApi* | [**post_room_check_in_post**](cloudbeds_pms_v1_3/docs/RoomApi.md#post_room_check_in_post) | **POST** /postRoomCheckIn | postRoomCheckIn +*RoomApi* | [**post_room_check_out_post**](cloudbeds_pms_v1_3/docs/RoomApi.md#post_room_check_out_post) | **POST** /postRoomCheckOut | postRoomCheckOut +*RoomApi* | [**put_room_block_put**](cloudbeds_pms_v1_3/docs/RoomApi.md#put_room_block_put) | **PUT** /putRoomBlock | putRoomBlock +*TaxesAndFeesApi* | [**get_taxes_and_fees_get**](cloudbeds_pms_v1_3/docs/TaxesAndFeesApi.md#get_taxes_and_fees_get) | **GET** /getTaxesAndFees | getTaxesAndFees +*UserApi* | [**get_users_get**](cloudbeds_pms_v1_3/docs/UserApi.md#get_users_get) | **GET** /getUsers | getUsers + + +## Documentation For Models + + - [DeleteAdjustmentResponse](cloudbeds_pms_v1_3/docs/DeleteAdjustmentResponse.md) + - [DeleteGuestNoteResponse](cloudbeds_pms_v1_3/docs/DeleteGuestNoteResponse.md) + - [DeleteReservationNoteResponse](cloudbeds_pms_v1_3/docs/DeleteReservationNoteResponse.md) + - [DeleteRoomBlockResponse](cloudbeds_pms_v1_3/docs/DeleteRoomBlockResponse.md) + - [DeleteWebhookResponse](cloudbeds_pms_v1_3/docs/DeleteWebhookResponse.md) + - [GetAllotmentBlocksResponse](cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponse.md) + - [GetAllotmentBlocksResponseDataInner](cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInner.md) + - [GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner](cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner.md) + - [GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner](cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner.md) + - [GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions](cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions.md) + - [GetAllotmentBlocksResponseDataInnerAutoReleaseInner](cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAutoReleaseInner.md) + - [GetAppPropertySettingsResponse](cloudbeds_pms_v1_3/docs/GetAppPropertySettingsResponse.md) + - [GetAppPropertySettingsResponseData](cloudbeds_pms_v1_3/docs/GetAppPropertySettingsResponseData.md) + - [GetAppPropertySettingsResponseDataOneOf](cloudbeds_pms_v1_3/docs/GetAppPropertySettingsResponseDataOneOf.md) + - [GetAppSettingsResponse](cloudbeds_pms_v1_3/docs/GetAppSettingsResponse.md) + - [GetAppSettingsResponseData](cloudbeds_pms_v1_3/docs/GetAppSettingsResponseData.md) + - [GetAppStateResponse](cloudbeds_pms_v1_3/docs/GetAppStateResponse.md) + - [GetAppStateResponseData](cloudbeds_pms_v1_3/docs/GetAppStateResponseData.md) + - [GetAvailableRoomTypesResponse](cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponse.md) + - [GetAvailableRoomTypesResponseDataInner](cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInner.md) + - [GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner](cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner.md) + - [GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner](cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner.md) + - [GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner](cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner.md) + - [GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner](cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner.md) + - [GetCurrencySettingsResponse](cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponse.md) + - [GetCurrencySettingsResponseData](cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseData.md) + - [GetCurrencySettingsResponseDataFormat](cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseDataFormat.md) + - [GetCurrencySettingsResponseDataRates](cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseDataRates.md) + - [GetCurrencySettingsResponseDataRatesFixedInner](cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseDataRatesFixedInner.md) + - [GetCustomFieldsResponse](cloudbeds_pms_v1_3/docs/GetCustomFieldsResponse.md) + - [GetCustomFieldsResponseDataInner](cloudbeds_pms_v1_3/docs/GetCustomFieldsResponseDataInner.md) + - [GetDashboardResponse](cloudbeds_pms_v1_3/docs/GetDashboardResponse.md) + - [GetDashboardResponseData](cloudbeds_pms_v1_3/docs/GetDashboardResponseData.md) + - [GetEmailScheduleResponse](cloudbeds_pms_v1_3/docs/GetEmailScheduleResponse.md) + - [GetEmailScheduleResponseDataInner](cloudbeds_pms_v1_3/docs/GetEmailScheduleResponseDataInner.md) + - [GetEmailTemplatesResponse](cloudbeds_pms_v1_3/docs/GetEmailTemplatesResponse.md) + - [GetEmailTemplatesResponseDataInner](cloudbeds_pms_v1_3/docs/GetEmailTemplatesResponseDataInner.md) + - [GetFilesResponse](cloudbeds_pms_v1_3/docs/GetFilesResponse.md) + - [GetFilesResponseDataInner](cloudbeds_pms_v1_3/docs/GetFilesResponseDataInner.md) + - [GetGroupNotesResponse](cloudbeds_pms_v1_3/docs/GetGroupNotesResponse.md) + - [GetGroupNotesResponseData](cloudbeds_pms_v1_3/docs/GetGroupNotesResponseData.md) + - [GetGroupsResponse](cloudbeds_pms_v1_3/docs/GetGroupsResponse.md) + - [GetGroupsResponseDataInner](cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInner.md) + - [GetGroupsResponseDataInnerContactsInner](cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInnerContactsInner.md) + - [GetGroupsResponseDataInnerContactsInnerEmailsInner](cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInnerContactsInnerEmailsInner.md) + - [GetGroupsResponseDataInnerContactsInnerPhonesInner](cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInnerContactsInnerPhonesInner.md) + - [GetGuestListResponse](cloudbeds_pms_v1_3/docs/GetGuestListResponse.md) + - [GetGuestListResponseDataValue](cloudbeds_pms_v1_3/docs/GetGuestListResponseDataValue.md) + - [GetGuestListResponseDataValueGuestNotesInner](cloudbeds_pms_v1_3/docs/GetGuestListResponseDataValueGuestNotesInner.md) + - [GetGuestNotesResponse](cloudbeds_pms_v1_3/docs/GetGuestNotesResponse.md) + - [GetGuestNotesResponseDataInner](cloudbeds_pms_v1_3/docs/GetGuestNotesResponseDataInner.md) + - [GetGuestResponse](cloudbeds_pms_v1_3/docs/GetGuestResponse.md) + - [GetGuestResponseData](cloudbeds_pms_v1_3/docs/GetGuestResponseData.md) + - [GetGuestResponseDataBirthDate](cloudbeds_pms_v1_3/docs/GetGuestResponseDataBirthDate.md) + - [GetGuestResponseDataCustomFieldsInner](cloudbeds_pms_v1_3/docs/GetGuestResponseDataCustomFieldsInner.md) + - [GetGuestResponseDataDocumentExpirationDate](cloudbeds_pms_v1_3/docs/GetGuestResponseDataDocumentExpirationDate.md) + - [GetGuestResponseDataDocumentIssueDate](cloudbeds_pms_v1_3/docs/GetGuestResponseDataDocumentIssueDate.md) + - [GetGuestsByFilterResponse](cloudbeds_pms_v1_3/docs/GetGuestsByFilterResponse.md) + - [GetGuestsByFilterResponseDataInner](cloudbeds_pms_v1_3/docs/GetGuestsByFilterResponseDataInner.md) + - [GetGuestsByStatusResponse](cloudbeds_pms_v1_3/docs/GetGuestsByStatusResponse.md) + - [GetGuestsByStatusResponseDataInner](cloudbeds_pms_v1_3/docs/GetGuestsByStatusResponseDataInner.md) + - [GetGuestsModifiedResponse](cloudbeds_pms_v1_3/docs/GetGuestsModifiedResponse.md) + - [GetGuestsModifiedResponseDataInner](cloudbeds_pms_v1_3/docs/GetGuestsModifiedResponseDataInner.md) + - [GetGuestsModifiedResponseDataInnerCustomFieldsInner](cloudbeds_pms_v1_3/docs/GetGuestsModifiedResponseDataInnerCustomFieldsInner.md) + - [GetHotelDetailsResponse](cloudbeds_pms_v1_3/docs/GetHotelDetailsResponse.md) + - [GetHotelDetailsResponseData](cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseData.md) + - [GetHotelDetailsResponseDataPropertyAddress](cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyAddress.md) + - [GetHotelDetailsResponseDataPropertyCurrency](cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyCurrency.md) + - [GetHotelDetailsResponseDataPropertyImageInner](cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyImageInner.md) + - [GetHotelDetailsResponseDataPropertyPolicy](cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyPolicy.md) + - [GetHotelsResponse](cloudbeds_pms_v1_3/docs/GetHotelsResponse.md) + - [GetHotelsResponseDataInner](cloudbeds_pms_v1_3/docs/GetHotelsResponseDataInner.md) + - [GetHotelsResponseDataInnerPropertyCurrencyInner](cloudbeds_pms_v1_3/docs/GetHotelsResponseDataInnerPropertyCurrencyInner.md) + - [GetHouseAccountListResponse](cloudbeds_pms_v1_3/docs/GetHouseAccountListResponse.md) + - [GetHouseAccountListResponseDataInner](cloudbeds_pms_v1_3/docs/GetHouseAccountListResponseDataInner.md) + - [GetHousekeepersResponse](cloudbeds_pms_v1_3/docs/GetHousekeepersResponse.md) + - [GetHousekeepersResponseDataInner](cloudbeds_pms_v1_3/docs/GetHousekeepersResponseDataInner.md) + - [GetHousekeepingStatusResponse](cloudbeds_pms_v1_3/docs/GetHousekeepingStatusResponse.md) + - [GetHousekeepingStatusResponseDataInner](cloudbeds_pms_v1_3/docs/GetHousekeepingStatusResponseDataInner.md) + - [GetItemCategoriesResponse](cloudbeds_pms_v1_3/docs/GetItemCategoriesResponse.md) + - [GetItemCategoriesResponseDataInner](cloudbeds_pms_v1_3/docs/GetItemCategoriesResponseDataInner.md) + - [GetItemResponse](cloudbeds_pms_v1_3/docs/GetItemResponse.md) + - [GetItemResponseData](cloudbeds_pms_v1_3/docs/GetItemResponseData.md) + - [GetItemResponseDataFeesInner](cloudbeds_pms_v1_3/docs/GetItemResponseDataFeesInner.md) + - [GetItemResponseDataTaxesInner](cloudbeds_pms_v1_3/docs/GetItemResponseDataTaxesInner.md) + - [GetItemsResponse](cloudbeds_pms_v1_3/docs/GetItemsResponse.md) + - [GetItemsResponseDataInner](cloudbeds_pms_v1_3/docs/GetItemsResponseDataInner.md) + - [GetListAllotmentBlockNotesResponse](cloudbeds_pms_v1_3/docs/GetListAllotmentBlockNotesResponse.md) + - [GetListAllotmentBlockNotesResponseDataInner](cloudbeds_pms_v1_3/docs/GetListAllotmentBlockNotesResponseDataInner.md) + - [GetMetadataResponse](cloudbeds_pms_v1_3/docs/GetMetadataResponse.md) + - [GetMetadataResponseData](cloudbeds_pms_v1_3/docs/GetMetadataResponseData.md) + - [GetMetadataResponseDataApi](cloudbeds_pms_v1_3/docs/GetMetadataResponseDataApi.md) + - [GetPackagesResponse](cloudbeds_pms_v1_3/docs/GetPackagesResponse.md) + - [GetPackagesResponseData](cloudbeds_pms_v1_3/docs/GetPackagesResponseData.md) + - [GetPaymentMethodsResponse](cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponse.md) + - [GetPaymentMethodsResponseData](cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseData.md) + - [GetPaymentMethodsResponseDataGateway](cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseDataGateway.md) + - [GetPaymentMethodsResponseDataMethodsInner](cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseDataMethodsInner.md) + - [GetPaymentMethodsResponseDataMethodsInnerCardTypesInner](cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseDataMethodsInnerCardTypesInner.md) + - [GetPaymentsCapabilitiesResponse](cloudbeds_pms_v1_3/docs/GetPaymentsCapabilitiesResponse.md) + - [GetPaymentsCapabilitiesResponseDataInner](cloudbeds_pms_v1_3/docs/GetPaymentsCapabilitiesResponseDataInner.md) + - [GetRateJobsResponse](cloudbeds_pms_v1_3/docs/GetRateJobsResponse.md) + - [GetRateJobsResponseDataInner](cloudbeds_pms_v1_3/docs/GetRateJobsResponseDataInner.md) + - [GetRateJobsResponseDataInnerUpdatesInner](cloudbeds_pms_v1_3/docs/GetRateJobsResponseDataInnerUpdatesInner.md) + - [GetRatePlansResponse](cloudbeds_pms_v1_3/docs/GetRatePlansResponse.md) + - [GetRatePlansResponseDataInner](cloudbeds_pms_v1_3/docs/GetRatePlansResponseDataInner.md) + - [GetRatePlansResponseDataInnerAddOnsInner](cloudbeds_pms_v1_3/docs/GetRatePlansResponseDataInnerAddOnsInner.md) + - [GetRatePlansResponseDataInnerRoomRateDetailedInner](cloudbeds_pms_v1_3/docs/GetRatePlansResponseDataInnerRoomRateDetailedInner.md) + - [GetRateResponse](cloudbeds_pms_v1_3/docs/GetRateResponse.md) + - [GetRateResponseData](cloudbeds_pms_v1_3/docs/GetRateResponseData.md) + - [GetRateResponseDataRoomRateDetailedInner](cloudbeds_pms_v1_3/docs/GetRateResponseDataRoomRateDetailedInner.md) + - [GetReservationAssignmentsResponse](cloudbeds_pms_v1_3/docs/GetReservationAssignmentsResponse.md) + - [GetReservationAssignmentsResponseDataInner](cloudbeds_pms_v1_3/docs/GetReservationAssignmentsResponseDataInner.md) + - [GetReservationAssignmentsResponseDataInnerAssignedInner](cloudbeds_pms_v1_3/docs/GetReservationAssignmentsResponseDataInnerAssignedInner.md) + - [GetReservationNotesResponse](cloudbeds_pms_v1_3/docs/GetReservationNotesResponse.md) + - [GetReservationNotesResponseDataInner](cloudbeds_pms_v1_3/docs/GetReservationNotesResponseDataInner.md) + - [GetReservationResponse](cloudbeds_pms_v1_3/docs/GetReservationResponse.md) + - [GetReservationResponseData](cloudbeds_pms_v1_3/docs/GetReservationResponseData.md) + - [GetReservationResponseDataAssignedInner](cloudbeds_pms_v1_3/docs/GetReservationResponseDataAssignedInner.md) + - [GetReservationResponseDataAssignedInnerDailyRatesInner](cloudbeds_pms_v1_3/docs/GetReservationResponseDataAssignedInnerDailyRatesInner.md) + - [GetReservationResponseDataBalanceDetailed](cloudbeds_pms_v1_3/docs/GetReservationResponseDataBalanceDetailed.md) + - [GetReservationResponseDataBalanceDetailedOneOf](cloudbeds_pms_v1_3/docs/GetReservationResponseDataBalanceDetailedOneOf.md) + - [GetReservationResponseDataCardsOnFileInner](cloudbeds_pms_v1_3/docs/GetReservationResponseDataCardsOnFileInner.md) + - [GetReservationResponseDataGroupInventoryInner](cloudbeds_pms_v1_3/docs/GetReservationResponseDataGroupInventoryInner.md) + - [GetReservationResponseDataGuestListValue](cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValue.md) + - [GetReservationResponseDataGuestListValueCustomFieldsInner](cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueCustomFieldsInner.md) + - [GetReservationResponseDataGuestListValueGuestBirthdate](cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueGuestBirthdate.md) + - [GetReservationResponseDataGuestListValueRoomsInner](cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueRoomsInner.md) + - [GetReservationResponseDataGuestListValueUnassignedRoomsInner](cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueUnassignedRoomsInner.md) + - [GetReservationResponseDataUnassignedInner](cloudbeds_pms_v1_3/docs/GetReservationResponseDataUnassignedInner.md) + - [GetReservationRoomDetailsResponse](cloudbeds_pms_v1_3/docs/GetReservationRoomDetailsResponse.md) + - [GetReservationRoomDetailsResponseData](cloudbeds_pms_v1_3/docs/GetReservationRoomDetailsResponseData.md) + - [GetReservationRoomDetailsResponseDataGuestsInner](cloudbeds_pms_v1_3/docs/GetReservationRoomDetailsResponseDataGuestsInner.md) + - [GetReservationsResponse](cloudbeds_pms_v1_3/docs/GetReservationsResponse.md) + - [GetReservationsResponseDataInner](cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInner.md) + - [GetReservationsResponseDataInnerGuestListValue](cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerGuestListValue.md) + - [GetReservationsResponseDataInnerGuestListValueRoomsInner](cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerGuestListValueRoomsInner.md) + - [GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner](cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner.md) + - [GetReservationsResponseDataInnerRoomsInner](cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerRoomsInner.md) + - [GetReservationsWithRateDetailsResponse](cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponse.md) + - [GetReservationsWithRateDetailsResponseDataInner](cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInner.md) + - [GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed](cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed.md) + - [GetReservationsWithRateDetailsResponseDataInnerGuestListValue](cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerGuestListValue.md) + - [GetReservationsWithRateDetailsResponseDataInnerRoomsInner](cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerRoomsInner.md) + - [GetReservationsWithRateDetailsResponseDataInnerSource](cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerSource.md) + - [GetRoomBlocksResponse](cloudbeds_pms_v1_3/docs/GetRoomBlocksResponse.md) + - [GetRoomBlocksResponseDataInner](cloudbeds_pms_v1_3/docs/GetRoomBlocksResponseDataInner.md) + - [GetRoomBlocksResponseDataInnerRoomsInner](cloudbeds_pms_v1_3/docs/GetRoomBlocksResponseDataInnerRoomsInner.md) + - [GetRoomTypesResponse](cloudbeds_pms_v1_3/docs/GetRoomTypesResponse.md) + - [GetRoomTypesResponseDataInner](cloudbeds_pms_v1_3/docs/GetRoomTypesResponseDataInner.md) + - [GetRoomsFeesAndTaxesResponse](cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponse.md) + - [GetRoomsFeesAndTaxesResponseData](cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponseData.md) + - [GetRoomsFeesAndTaxesResponseDataFeesInner](cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponseDataFeesInner.md) + - [GetRoomsFeesAndTaxesResponseDataTaxesInner](cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponseDataTaxesInner.md) + - [GetRoomsResponse](cloudbeds_pms_v1_3/docs/GetRoomsResponse.md) + - [GetRoomsResponseDataInner](cloudbeds_pms_v1_3/docs/GetRoomsResponseDataInner.md) + - [GetRoomsResponseDataInnerRoomsInner](cloudbeds_pms_v1_3/docs/GetRoomsResponseDataInnerRoomsInner.md) + - [GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner](cloudbeds_pms_v1_3/docs/GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner.md) + - [GetRoomsUnassignedResponse](cloudbeds_pms_v1_3/docs/GetRoomsUnassignedResponse.md) + - [GetRoomsUnassignedResponseDataInner](cloudbeds_pms_v1_3/docs/GetRoomsUnassignedResponseDataInner.md) + - [GetRoomsUnassignedResponseDataInnerRoomsInner](cloudbeds_pms_v1_3/docs/GetRoomsUnassignedResponseDataInnerRoomsInner.md) + - [GetSourcesResponse](cloudbeds_pms_v1_3/docs/GetSourcesResponse.md) + - [GetSourcesResponseDataInner](cloudbeds_pms_v1_3/docs/GetSourcesResponseDataInner.md) + - [GetSourcesResponseDataInnerFeesInner](cloudbeds_pms_v1_3/docs/GetSourcesResponseDataInnerFeesInner.md) + - [GetSourcesResponseDataInnerTaxesInner](cloudbeds_pms_v1_3/docs/GetSourcesResponseDataInnerTaxesInner.md) + - [GetTaxesAndFeesResponse](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponse.md) + - [GetTaxesAndFeesResponseDataInner](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInner.md) + - [GetTaxesAndFeesResponseDataInnerAmountAdult](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountAdult.md) + - [GetTaxesAndFeesResponseDataInnerAmountChild](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountChild.md) + - [GetTaxesAndFeesResponseDataInnerAmountRateBasedInner](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountRateBasedInner.md) + - [GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage.md) + - [GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate.md) + - [GetTaxesAndFeesResponseDataInnerDateRangesInner](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInner.md) + - [GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount.md) + - [GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings.md) + - [GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf.md) + - [GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner.md) + - [GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength.md) + - [GetTaxesAndFeesResponseDataInnerLengthOfStaySettings](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettings.md) + - [GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf.md) + - [GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner.md) + - [GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner.md) + - [GetTaxesAndFeesResponseDataInnerRoomTypesInner](cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerRoomTypesInner.md) + - [GetUserinfoResponse](cloudbeds_pms_v1_3/docs/GetUserinfoResponse.md) + - [GetUserinfoResponseRolesInner](cloudbeds_pms_v1_3/docs/GetUserinfoResponseRolesInner.md) + - [GetUsersResponse](cloudbeds_pms_v1_3/docs/GetUsersResponse.md) + - [GetWebhooksResponse](cloudbeds_pms_v1_3/docs/GetWebhooksResponse.md) + - [GetWebhooksResponseDataInner](cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInner.md) + - [GetWebhooksResponseDataInnerEvent](cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerEvent.md) + - [GetWebhooksResponseDataInnerKey](cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerKey.md) + - [GetWebhooksResponseDataInnerOwner](cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerOwner.md) + - [GetWebhooksResponseDataInnerSubscriptionData](cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerSubscriptionData.md) + - [PostAccessTokenResponse](cloudbeds_pms_v1_3/docs/PostAccessTokenResponse.md) + - [PostAccessTokenResponseResourcesInner](cloudbeds_pms_v1_3/docs/PostAccessTokenResponseResourcesInner.md) + - [PostAdjustmentResponse](cloudbeds_pms_v1_3/docs/PostAdjustmentResponse.md) + - [PostAdjustmentResponseData](cloudbeds_pms_v1_3/docs/PostAdjustmentResponseData.md) + - [PostAppErrorResponse](cloudbeds_pms_v1_3/docs/PostAppErrorResponse.md) + - [PostAppErrorResponseData](cloudbeds_pms_v1_3/docs/PostAppErrorResponseData.md) + - [PostAppPropertySettingResponse](cloudbeds_pms_v1_3/docs/PostAppPropertySettingResponse.md) + - [PostAppPropertySettingResponseData](cloudbeds_pms_v1_3/docs/PostAppPropertySettingResponseData.md) + - [PostAppStateResponse](cloudbeds_pms_v1_3/docs/PostAppStateResponse.md) + - [PostAppendCustomItemResponse](cloudbeds_pms_v1_3/docs/PostAppendCustomItemResponse.md) + - [PostAppendCustomItemResponseData](cloudbeds_pms_v1_3/docs/PostAppendCustomItemResponseData.md) + - [PostCardResponse](cloudbeds_pms_v1_3/docs/PostCardResponse.md) + - [PostCardResponseData](cloudbeds_pms_v1_3/docs/PostCardResponseData.md) + - [PostChargeResponse](cloudbeds_pms_v1_3/docs/PostChargeResponse.md) + - [PostChargeResponseData](cloudbeds_pms_v1_3/docs/PostChargeResponseData.md) + - [PostChargeResponseDataNextAction](cloudbeds_pms_v1_3/docs/PostChargeResponseDataNextAction.md) + - [PostChargeResponseDataNextActionDetails](cloudbeds_pms_v1_3/docs/PostChargeResponseDataNextActionDetails.md) + - [PostCreateAllotmentBlockNotesResponse](cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockNotesResponse.md) + - [PostCreateAllotmentBlockNotesResponseData](cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockNotesResponseData.md) + - [PostCreateAllotmentBlockRequestAllotmentIntervalsInner](cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInner.md) + - [PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner](cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.md) + - [PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing](cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.md) + - [PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions](cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions.md) + - [PostCreateAllotmentBlockRequestAutoRelease](cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAutoRelease.md) + - [PostCreateAllotmentBlockResponse](cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponse.md) + - [PostCreateAllotmentBlockResponseDataInner](cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInner.md) + - [PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner](cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.md) + - [PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability](cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability.md) + - [PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing](cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing.md) + - [PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions](cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.md) + - [PostCreateAllotmentBlockResponseDataInnerAutoRelease](cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAutoRelease.md) + - [PostCustomFieldResponse](cloudbeds_pms_v1_3/docs/PostCustomFieldResponse.md) + - [PostCustomFieldResponseData](cloudbeds_pms_v1_3/docs/PostCustomFieldResponseData.md) + - [PostCustomItemRequestItemsInner](cloudbeds_pms_v1_3/docs/PostCustomItemRequestItemsInner.md) + - [PostCustomItemRequestItemsInnerItemFeesInner](cloudbeds_pms_v1_3/docs/PostCustomItemRequestItemsInnerItemFeesInner.md) + - [PostCustomItemRequestItemsInnerItemTaxesInner](cloudbeds_pms_v1_3/docs/PostCustomItemRequestItemsInnerItemTaxesInner.md) + - [PostCustomItemRequestPaymentsInner](cloudbeds_pms_v1_3/docs/PostCustomItemRequestPaymentsInner.md) + - [PostCustomItemResponse](cloudbeds_pms_v1_3/docs/PostCustomItemResponse.md) + - [PostCustomItemResponseData](cloudbeds_pms_v1_3/docs/PostCustomItemResponseData.md) + - [PostCustomPaymentMethodResponse](cloudbeds_pms_v1_3/docs/PostCustomPaymentMethodResponse.md) + - [PostDeleteAllotmentBlockResponse](cloudbeds_pms_v1_3/docs/PostDeleteAllotmentBlockResponse.md) + - [PostDeleteAppPropertySettingsResponse](cloudbeds_pms_v1_3/docs/PostDeleteAppPropertySettingsResponse.md) + - [PostEmailScheduleRequestSchedule](cloudbeds_pms_v1_3/docs/PostEmailScheduleRequestSchedule.md) + - [PostEmailScheduleRequestScheduleReservationEvent](cloudbeds_pms_v1_3/docs/PostEmailScheduleRequestScheduleReservationEvent.md) + - [PostEmailScheduleRequestScheduleReservationStatusChange](cloudbeds_pms_v1_3/docs/PostEmailScheduleRequestScheduleReservationStatusChange.md) + - [PostEmailScheduleResponse](cloudbeds_pms_v1_3/docs/PostEmailScheduleResponse.md) + - [PostEmailTemplateRequestBody](cloudbeds_pms_v1_3/docs/PostEmailTemplateRequestBody.md) + - [PostEmailTemplateRequestSubject](cloudbeds_pms_v1_3/docs/PostEmailTemplateRequestSubject.md) + - [PostEmailTemplateResponse](cloudbeds_pms_v1_3/docs/PostEmailTemplateResponse.md) + - [PostFileResponse](cloudbeds_pms_v1_3/docs/PostFileResponse.md) + - [PostGovernmentReceiptResponse](cloudbeds_pms_v1_3/docs/PostGovernmentReceiptResponse.md) + - [PostGroupNoteResponse](cloudbeds_pms_v1_3/docs/PostGroupNoteResponse.md) + - [PostGroupNoteResponseDataInner](cloudbeds_pms_v1_3/docs/PostGroupNoteResponseDataInner.md) + - [PostGuestDocumentResponse](cloudbeds_pms_v1_3/docs/PostGuestDocumentResponse.md) + - [PostGuestDocumentResponseData](cloudbeds_pms_v1_3/docs/PostGuestDocumentResponseData.md) + - [PostGuestNoteResponse](cloudbeds_pms_v1_3/docs/PostGuestNoteResponse.md) + - [PostGuestPhotoResponse](cloudbeds_pms_v1_3/docs/PostGuestPhotoResponse.md) + - [PostGuestRequestCustomFieldsInner](cloudbeds_pms_v1_3/docs/PostGuestRequestCustomFieldsInner.md) + - [PostGuestResponse](cloudbeds_pms_v1_3/docs/PostGuestResponse.md) + - [PostGuestsToRoomResponse](cloudbeds_pms_v1_3/docs/PostGuestsToRoomResponse.md) + - [PostHousekeeperResponse](cloudbeds_pms_v1_3/docs/PostHousekeeperResponse.md) + - [PostHousekeepingAssignmentResponse](cloudbeds_pms_v1_3/docs/PostHousekeepingAssignmentResponse.md) + - [PostHousekeepingStatusResponse](cloudbeds_pms_v1_3/docs/PostHousekeepingStatusResponse.md) + - [PostHousekeepingStatusResponseData](cloudbeds_pms_v1_3/docs/PostHousekeepingStatusResponseData.md) + - [PostItemCategoryResponse](cloudbeds_pms_v1_3/docs/PostItemCategoryResponse.md) + - [PostItemRequestPaymentsInner](cloudbeds_pms_v1_3/docs/PostItemRequestPaymentsInner.md) + - [PostItemResponse](cloudbeds_pms_v1_3/docs/PostItemResponse.md) + - [PostItemResponseData](cloudbeds_pms_v1_3/docs/PostItemResponseData.md) + - [PostItemsToInventoryRequestItem](cloudbeds_pms_v1_3/docs/PostItemsToInventoryRequestItem.md) + - [PostItemsToInventoryResponse](cloudbeds_pms_v1_3/docs/PostItemsToInventoryResponse.md) + - [PostItemsToInventoryResponseDataInner](cloudbeds_pms_v1_3/docs/PostItemsToInventoryResponseDataInner.md) + - [PostNewHouseAccountResponse](cloudbeds_pms_v1_3/docs/PostNewHouseAccountResponse.md) + - [PostNewHouseAccountResponseData](cloudbeds_pms_v1_3/docs/PostNewHouseAccountResponseData.md) + - [PostPatchGroupResponse](cloudbeds_pms_v1_3/docs/PostPatchGroupResponse.md) + - [PostPatchGroupResponseDataInner](cloudbeds_pms_v1_3/docs/PostPatchGroupResponseDataInner.md) + - [PostPatchRateRequestRatesInner](cloudbeds_pms_v1_3/docs/PostPatchRateRequestRatesInner.md) + - [PostPatchRateRequestRatesInnerInterval](cloudbeds_pms_v1_3/docs/PostPatchRateRequestRatesInnerInterval.md) + - [PostPatchRateResponse](cloudbeds_pms_v1_3/docs/PostPatchRateResponse.md) + - [PostPaymentResponse](cloudbeds_pms_v1_3/docs/PostPaymentResponse.md) + - [PostPutAppPropertySettingsResponse](cloudbeds_pms_v1_3/docs/PostPutAppPropertySettingsResponse.md) + - [PostPutGroupResponse](cloudbeds_pms_v1_3/docs/PostPutGroupResponse.md) + - [PostPutRateRequestRatesInner](cloudbeds_pms_v1_3/docs/PostPutRateRequestRatesInner.md) + - [PostPutRateRequestRatesInnerIntervalInner](cloudbeds_pms_v1_3/docs/PostPutRateRequestRatesInnerIntervalInner.md) + - [PostPutRateResponse](cloudbeds_pms_v1_3/docs/PostPutRateResponse.md) + - [PostReservationDocumentResponse](cloudbeds_pms_v1_3/docs/PostReservationDocumentResponse.md) + - [PostReservationNoteResponse](cloudbeds_pms_v1_3/docs/PostReservationNoteResponse.md) + - [PostReservationRequestAdultsInner](cloudbeds_pms_v1_3/docs/PostReservationRequestAdultsInner.md) + - [PostReservationRequestChildrenInner](cloudbeds_pms_v1_3/docs/PostReservationRequestChildrenInner.md) + - [PostReservationRequestCustomFieldsInner](cloudbeds_pms_v1_3/docs/PostReservationRequestCustomFieldsInner.md) + - [PostReservationRequestRoomsInner](cloudbeds_pms_v1_3/docs/PostReservationRequestRoomsInner.md) + - [PostReservationResponse](cloudbeds_pms_v1_3/docs/PostReservationResponse.md) + - [PostReservationResponseUnassignedInner](cloudbeds_pms_v1_3/docs/PostReservationResponseUnassignedInner.md) + - [PostRoomAssignResponse](cloudbeds_pms_v1_3/docs/PostRoomAssignResponse.md) + - [PostRoomBlockRequestRoomsInner](cloudbeds_pms_v1_3/docs/PostRoomBlockRequestRoomsInner.md) + - [PostRoomBlockResponse](cloudbeds_pms_v1_3/docs/PostRoomBlockResponse.md) + - [PostRoomBlockResponseRoomsInner](cloudbeds_pms_v1_3/docs/PostRoomBlockResponseRoomsInner.md) + - [PostRoomCheckInResponse](cloudbeds_pms_v1_3/docs/PostRoomCheckInResponse.md) + - [PostRoomCheckOutResponse](cloudbeds_pms_v1_3/docs/PostRoomCheckOutResponse.md) + - [PostUpdateAllotmentBlockNotesResponse](cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockNotesResponse.md) + - [PostUpdateAllotmentBlockNotesResponseData](cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockNotesResponseData.md) + - [PostUpdateAllotmentBlockRequestAllotmentIntervalsInner](cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAllotmentIntervalsInner.md) + - [PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner](cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.md) + - [PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing](cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.md) + - [PostUpdateAllotmentBlockRequestAutoRelease](cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAutoRelease.md) + - [PostUpdateAllotmentBlockResponse](cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponse.md) + - [PostUpdateAllotmentBlockResponseDataInner](cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponseDataInner.md) + - [PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner](cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.md) + - [PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions](cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.md) + - [PostVoidItemResponse](cloudbeds_pms_v1_3/docs/PostVoidItemResponse.md) + - [PostVoidPaymentResponse](cloudbeds_pms_v1_3/docs/PostVoidPaymentResponse.md) + - [PostWebhookResponse](cloudbeds_pms_v1_3/docs/PostWebhookResponse.md) + - [PostWebhookResponseData](cloudbeds_pms_v1_3/docs/PostWebhookResponseData.md) + - [PutGuestNoteResponse](cloudbeds_pms_v1_3/docs/PutGuestNoteResponse.md) + - [PutGuestRequestGuestCustomFieldsInner](cloudbeds_pms_v1_3/docs/PutGuestRequestGuestCustomFieldsInner.md) + - [PutGuestResponse](cloudbeds_pms_v1_3/docs/PutGuestResponse.md) + - [PutHouseAccountStatusResponse](cloudbeds_pms_v1_3/docs/PutHouseAccountStatusResponse.md) + - [PutHousekeeperResponse](cloudbeds_pms_v1_3/docs/PutHousekeeperResponse.md) + - [PutItemToInventoryResponse](cloudbeds_pms_v1_3/docs/PutItemToInventoryResponse.md) + - [PutReservationNoteResponse](cloudbeds_pms_v1_3/docs/PutReservationNoteResponse.md) + - [PutReservationRequestCustomFieldsInner](cloudbeds_pms_v1_3/docs/PutReservationRequestCustomFieldsInner.md) + - [PutReservationRequestRoomsInner](cloudbeds_pms_v1_3/docs/PutReservationRequestRoomsInner.md) + - [PutReservationResponse](cloudbeds_pms_v1_3/docs/PutReservationResponse.md) + - [PutRoomBlockRequestRoomsInner](cloudbeds_pms_v1_3/docs/PutRoomBlockRequestRoomsInner.md) + - [PutRoomBlockResponse](cloudbeds_pms_v1_3/docs/PutRoomBlockResponse.md) + + + +## Documentation For Authorization + + +Authentication schemes defined for the API: + +### api_key + +- **Type**: API key +- **API key parameter name**: x-api-key +- **Location**: HTTP header + + +### OAuth2 + +- **Type**: OAuth +- **Flow**: accessCode +- **Authorization URL**: +- **Scopes**: + - **delete:adjustment**: delete:adjustment + - **delete:appPropertySettings**: delete:appPropertySettings + - **delete:roomblock**: delete:roomblock + - **read:allotmentBlock**: read:allotmentBlock + - **read:appPropertySettings**: read:appPropertySettings + - **read:communication**: read:communication + - **read:currency**: read:currency + - **read:customFields**: read:customFields + - **read:dashboard**: read:dashboard + - **read:group**: read:group + - **read:guest**: read:guest + - **read:hotel**: read:hotel + - **read:houseAccount**: read:houseAccount + - **read:housekeeping**: read:housekeeping + - **read:item**: read:item + - **read:package**: read:package + - **read:payment**: read:payment + - **read:rate**: read:rate + - **read:reservation**: read:reservation + - **read:room**: read:room + - **read:roomblock**: read:roomblock + - **read:taxesAndFees**: read:taxesAndFees + - **read:user**: read:user + - **write:adjustment**: write:adjustment + - **write:allotmentBlock**: write:allotmentBlock + - **write:appError**: write:appError + - **write:appPropertySettings**: write:appPropertySettings + - **write:communication**: write:communication + - **write:customFields**: write:customFields + - **write:group**: write:group + - **write:guest**: write:guest + - **write:hotel**: write:hotel + - **write:houseAccount**: write:houseAccount + - **write:housekeeping**: write:housekeeping + - **write:item**: write:item + - **write:payment**: write:payment + - **write:rate**: write:rate + - **write:reservation**: write:reservation + - **write:room**: write:room + - **write:roomblock**: write:roomblock + + +## Author + + + + diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..feaae22 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +1.13.0 diff --git a/cloudbeds_pms_v1_3/__init__.py b/cloudbeds_pms_v1_3/__init__.py new file mode 100644 index 0000000..3f6f63c --- /dev/null +++ b/cloudbeds_pms_v1_3/__init__.py @@ -0,0 +1,370 @@ +# coding: utf-8 + +# flake8: noqa + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +__version__ = "1.13.0" + +# import apis into sdk package +from cloudbeds_pms_v1_3.api.adjustment_api import AdjustmentApi +from cloudbeds_pms_v1_3.api.allotment_blocks_api import AllotmentBlocksApi +from cloudbeds_pms_v1_3.api.app_settings_api import AppSettingsApi +from cloudbeds_pms_v1_3.api.authentication_api import AuthenticationApi +from cloudbeds_pms_v1_3.api.currency_api import CurrencyApi +from cloudbeds_pms_v1_3.api.custom_fields_api import CustomFieldsApi +from cloudbeds_pms_v1_3.api.dashboard_api import DashboardApi +from cloudbeds_pms_v1_3.api.emails_api import EmailsApi +from cloudbeds_pms_v1_3.api.groups_api import GroupsApi +from cloudbeds_pms_v1_3.api.guest_api import GuestApi +from cloudbeds_pms_v1_3.api.hotel_api import HotelApi +from cloudbeds_pms_v1_3.api.house_account_api import HouseAccountApi +from cloudbeds_pms_v1_3.api.housekeeping_api import HousekeepingApi +from cloudbeds_pms_v1_3.api.integration_api import IntegrationApi +from cloudbeds_pms_v1_3.api.item_api import ItemApi +from cloudbeds_pms_v1_3.api.package_api import PackageApi +from cloudbeds_pms_v1_3.api.payment_api import PaymentApi +from cloudbeds_pms_v1_3.api.rate_api import RateApi +from cloudbeds_pms_v1_3.api.reservation_api import ReservationApi +from cloudbeds_pms_v1_3.api.room_api import RoomApi +from cloudbeds_pms_v1_3.api.taxes_and_fees_api import TaxesAndFeesApi +from cloudbeds_pms_v1_3.api.user_api import UserApi + +# import ApiClient +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.api_client import ApiClient +from cloudbeds_pms_v1_3.configuration import Configuration +from cloudbeds_pms_v1_3.exceptions import OpenApiException +from cloudbeds_pms_v1_3.exceptions import ApiTypeError +from cloudbeds_pms_v1_3.exceptions import ApiValueError +from cloudbeds_pms_v1_3.exceptions import ApiKeyError +from cloudbeds_pms_v1_3.exceptions import ApiAttributeError +from cloudbeds_pms_v1_3.exceptions import ApiException + +# import models into sdk package +from cloudbeds_pms_v1_3.models.delete_adjustment_response import DeleteAdjustmentResponse +from cloudbeds_pms_v1_3.models.delete_guest_note_response import DeleteGuestNoteResponse +from cloudbeds_pms_v1_3.models.delete_reservation_note_response import DeleteReservationNoteResponse +from cloudbeds_pms_v1_3.models.delete_room_block_response import DeleteRoomBlockResponse +from cloudbeds_pms_v1_3.models.delete_webhook_response import DeleteWebhookResponse +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response import GetAllotmentBlocksResponse +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner import GetAllotmentBlocksResponseDataInner +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner import GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner import GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions import GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_auto_release_inner import GetAllotmentBlocksResponseDataInnerAutoReleaseInner +from cloudbeds_pms_v1_3.models.get_app_property_settings_response import GetAppPropertySettingsResponse +from cloudbeds_pms_v1_3.models.get_app_property_settings_response_data import GetAppPropertySettingsResponseData +from cloudbeds_pms_v1_3.models.get_app_property_settings_response_data_one_of import GetAppPropertySettingsResponseDataOneOf +from cloudbeds_pms_v1_3.models.get_app_settings_response import GetAppSettingsResponse +from cloudbeds_pms_v1_3.models.get_app_settings_response_data import GetAppSettingsResponseData +from cloudbeds_pms_v1_3.models.get_app_state_response import GetAppStateResponse +from cloudbeds_pms_v1_3.models.get_app_state_response_data import GetAppStateResponseData +from cloudbeds_pms_v1_3.models.get_available_room_types_response import GetAvailableRoomTypesResponse +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner import GetAvailableRoomTypesResponseDataInner +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_currency_inner import GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner import GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner import GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner import GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner +from cloudbeds_pms_v1_3.models.get_currency_settings_response import GetCurrencySettingsResponse +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data import GetCurrencySettingsResponseData +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data_format import GetCurrencySettingsResponseDataFormat +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data_rates import GetCurrencySettingsResponseDataRates +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data_rates_fixed_inner import GetCurrencySettingsResponseDataRatesFixedInner +from cloudbeds_pms_v1_3.models.get_custom_fields_response import GetCustomFieldsResponse +from cloudbeds_pms_v1_3.models.get_custom_fields_response_data_inner import GetCustomFieldsResponseDataInner +from cloudbeds_pms_v1_3.models.get_dashboard_response import GetDashboardResponse +from cloudbeds_pms_v1_3.models.get_dashboard_response_data import GetDashboardResponseData +from cloudbeds_pms_v1_3.models.get_email_schedule_response import GetEmailScheduleResponse +from cloudbeds_pms_v1_3.models.get_email_schedule_response_data_inner import GetEmailScheduleResponseDataInner +from cloudbeds_pms_v1_3.models.get_email_templates_response import GetEmailTemplatesResponse +from cloudbeds_pms_v1_3.models.get_email_templates_response_data_inner import GetEmailTemplatesResponseDataInner +from cloudbeds_pms_v1_3.models.get_files_response import GetFilesResponse +from cloudbeds_pms_v1_3.models.get_files_response_data_inner import GetFilesResponseDataInner +from cloudbeds_pms_v1_3.models.get_group_notes_response import GetGroupNotesResponse +from cloudbeds_pms_v1_3.models.get_group_notes_response_data import GetGroupNotesResponseData +from cloudbeds_pms_v1_3.models.get_groups_response import GetGroupsResponse +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner import GetGroupsResponseDataInner +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner import GetGroupsResponseDataInnerContactsInner +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner_emails_inner import GetGroupsResponseDataInnerContactsInnerEmailsInner +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner_phones_inner import GetGroupsResponseDataInnerContactsInnerPhonesInner +from cloudbeds_pms_v1_3.models.get_guest_list_response import GetGuestListResponse +from cloudbeds_pms_v1_3.models.get_guest_list_response_data_value import GetGuestListResponseDataValue +from cloudbeds_pms_v1_3.models.get_guest_list_response_data_value_guest_notes_inner import GetGuestListResponseDataValueGuestNotesInner +from cloudbeds_pms_v1_3.models.get_guest_notes_response import GetGuestNotesResponse +from cloudbeds_pms_v1_3.models.get_guest_notes_response_data_inner import GetGuestNotesResponseDataInner +from cloudbeds_pms_v1_3.models.get_guest_response import GetGuestResponse +from cloudbeds_pms_v1_3.models.get_guest_response_data import GetGuestResponseData +from cloudbeds_pms_v1_3.models.get_guest_response_data_birth_date import GetGuestResponseDataBirthDate +from cloudbeds_pms_v1_3.models.get_guest_response_data_custom_fields_inner import GetGuestResponseDataCustomFieldsInner +from cloudbeds_pms_v1_3.models.get_guest_response_data_document_expiration_date import GetGuestResponseDataDocumentExpirationDate +from cloudbeds_pms_v1_3.models.get_guest_response_data_document_issue_date import GetGuestResponseDataDocumentIssueDate +from cloudbeds_pms_v1_3.models.get_guests_by_filter_response import GetGuestsByFilterResponse +from cloudbeds_pms_v1_3.models.get_guests_by_filter_response_data_inner import GetGuestsByFilterResponseDataInner +from cloudbeds_pms_v1_3.models.get_guests_by_status_response import GetGuestsByStatusResponse +from cloudbeds_pms_v1_3.models.get_guests_by_status_response_data_inner import GetGuestsByStatusResponseDataInner +from cloudbeds_pms_v1_3.models.get_guests_modified_response import GetGuestsModifiedResponse +from cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner import GetGuestsModifiedResponseDataInner +from cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner import GetGuestsModifiedResponseDataInnerCustomFieldsInner +from cloudbeds_pms_v1_3.models.get_hotel_details_response import GetHotelDetailsResponse +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data import GetHotelDetailsResponseData +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_address import GetHotelDetailsResponseDataPropertyAddress +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_currency import GetHotelDetailsResponseDataPropertyCurrency +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_image_inner import GetHotelDetailsResponseDataPropertyImageInner +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_policy import GetHotelDetailsResponseDataPropertyPolicy +from cloudbeds_pms_v1_3.models.get_hotels_response import GetHotelsResponse +from cloudbeds_pms_v1_3.models.get_hotels_response_data_inner import GetHotelsResponseDataInner +from cloudbeds_pms_v1_3.models.get_hotels_response_data_inner_property_currency_inner import GetHotelsResponseDataInnerPropertyCurrencyInner +from cloudbeds_pms_v1_3.models.get_house_account_list_response import GetHouseAccountListResponse +from cloudbeds_pms_v1_3.models.get_house_account_list_response_data_inner import GetHouseAccountListResponseDataInner +from cloudbeds_pms_v1_3.models.get_housekeepers_response import GetHousekeepersResponse +from cloudbeds_pms_v1_3.models.get_housekeepers_response_data_inner import GetHousekeepersResponseDataInner +from cloudbeds_pms_v1_3.models.get_housekeeping_status_response import GetHousekeepingStatusResponse +from cloudbeds_pms_v1_3.models.get_housekeeping_status_response_data_inner import GetHousekeepingStatusResponseDataInner +from cloudbeds_pms_v1_3.models.get_item_categories_response import GetItemCategoriesResponse +from cloudbeds_pms_v1_3.models.get_item_categories_response_data_inner import GetItemCategoriesResponseDataInner +from cloudbeds_pms_v1_3.models.get_item_response import GetItemResponse +from cloudbeds_pms_v1_3.models.get_item_response_data import GetItemResponseData +from cloudbeds_pms_v1_3.models.get_item_response_data_fees_inner import GetItemResponseDataFeesInner +from cloudbeds_pms_v1_3.models.get_item_response_data_taxes_inner import GetItemResponseDataTaxesInner +from cloudbeds_pms_v1_3.models.get_items_response import GetItemsResponse +from cloudbeds_pms_v1_3.models.get_items_response_data_inner import GetItemsResponseDataInner +from cloudbeds_pms_v1_3.models.get_list_allotment_block_notes_response import GetListAllotmentBlockNotesResponse +from cloudbeds_pms_v1_3.models.get_list_allotment_block_notes_response_data_inner import GetListAllotmentBlockNotesResponseDataInner +from cloudbeds_pms_v1_3.models.get_metadata_response import GetMetadataResponse +from cloudbeds_pms_v1_3.models.get_metadata_response_data import GetMetadataResponseData +from cloudbeds_pms_v1_3.models.get_metadata_response_data_api import GetMetadataResponseDataApi +from cloudbeds_pms_v1_3.models.get_packages_response import GetPackagesResponse +from cloudbeds_pms_v1_3.models.get_packages_response_data import GetPackagesResponseData +from cloudbeds_pms_v1_3.models.get_payment_methods_response import GetPaymentMethodsResponse +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data import GetPaymentMethodsResponseData +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data_gateway import GetPaymentMethodsResponseDataGateway +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data_methods_inner import GetPaymentMethodsResponseDataMethodsInner +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data_methods_inner_card_types_inner import GetPaymentMethodsResponseDataMethodsInnerCardTypesInner +from cloudbeds_pms_v1_3.models.get_payments_capabilities_response import GetPaymentsCapabilitiesResponse +from cloudbeds_pms_v1_3.models.get_payments_capabilities_response_data_inner import GetPaymentsCapabilitiesResponseDataInner +from cloudbeds_pms_v1_3.models.get_rate_jobs_response import GetRateJobsResponse +from cloudbeds_pms_v1_3.models.get_rate_jobs_response_data_inner import GetRateJobsResponseDataInner +from cloudbeds_pms_v1_3.models.get_rate_jobs_response_data_inner_updates_inner import GetRateJobsResponseDataInnerUpdatesInner +from cloudbeds_pms_v1_3.models.get_rate_plans_response import GetRatePlansResponse +from cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner import GetRatePlansResponseDataInner +from cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner_add_ons_inner import GetRatePlansResponseDataInnerAddOnsInner +from cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner_room_rate_detailed_inner import GetRatePlansResponseDataInnerRoomRateDetailedInner +from cloudbeds_pms_v1_3.models.get_rate_response import GetRateResponse +from cloudbeds_pms_v1_3.models.get_rate_response_data import GetRateResponseData +from cloudbeds_pms_v1_3.models.get_rate_response_data_room_rate_detailed_inner import GetRateResponseDataRoomRateDetailedInner +from cloudbeds_pms_v1_3.models.get_reservation_assignments_response import GetReservationAssignmentsResponse +from cloudbeds_pms_v1_3.models.get_reservation_assignments_response_data_inner import GetReservationAssignmentsResponseDataInner +from cloudbeds_pms_v1_3.models.get_reservation_assignments_response_data_inner_assigned_inner import GetReservationAssignmentsResponseDataInnerAssignedInner +from cloudbeds_pms_v1_3.models.get_reservation_notes_response import GetReservationNotesResponse +from cloudbeds_pms_v1_3.models.get_reservation_notes_response_data_inner import GetReservationNotesResponseDataInner +from cloudbeds_pms_v1_3.models.get_reservation_response import GetReservationResponse +from cloudbeds_pms_v1_3.models.get_reservation_response_data import GetReservationResponseData +from cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner import GetReservationResponseDataAssignedInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner_daily_rates_inner import GetReservationResponseDataAssignedInnerDailyRatesInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_balance_detailed import GetReservationResponseDataBalanceDetailed +from cloudbeds_pms_v1_3.models.get_reservation_response_data_balance_detailed_one_of import GetReservationResponseDataBalanceDetailedOneOf +from cloudbeds_pms_v1_3.models.get_reservation_response_data_cards_on_file_inner import GetReservationResponseDataCardsOnFileInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_group_inventory_inner import GetReservationResponseDataGroupInventoryInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value import GetReservationResponseDataGuestListValue +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_custom_fields_inner import GetReservationResponseDataGuestListValueCustomFieldsInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_guest_birthdate import GetReservationResponseDataGuestListValueGuestBirthdate +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_rooms_inner import GetReservationResponseDataGuestListValueRoomsInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_unassigned_rooms_inner import GetReservationResponseDataGuestListValueUnassignedRoomsInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_unassigned_inner import GetReservationResponseDataUnassignedInner +from cloudbeds_pms_v1_3.models.get_reservation_room_details_response import GetReservationRoomDetailsResponse +from cloudbeds_pms_v1_3.models.get_reservation_room_details_response_data import GetReservationRoomDetailsResponseData +from cloudbeds_pms_v1_3.models.get_reservation_room_details_response_data_guests_inner import GetReservationRoomDetailsResponseDataGuestsInner +from cloudbeds_pms_v1_3.models.get_reservations_response import GetReservationsResponse +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner import GetReservationsResponseDataInner +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value import GetReservationsResponseDataInnerGuestListValue +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_rooms_inner import GetReservationsResponseDataInnerGuestListValueRoomsInner +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner import GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_rooms_inner import GetReservationsResponseDataInnerRoomsInner +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response import GetReservationsWithRateDetailsResponse +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner import GetReservationsWithRateDetailsResponseDataInner +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_balance_detailed import GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_guest_list_value import GetReservationsWithRateDetailsResponseDataInnerGuestListValue +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_rooms_inner import GetReservationsWithRateDetailsResponseDataInnerRoomsInner +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_source import GetReservationsWithRateDetailsResponseDataInnerSource +from cloudbeds_pms_v1_3.models.get_room_blocks_response import GetRoomBlocksResponse +from cloudbeds_pms_v1_3.models.get_room_blocks_response_data_inner import GetRoomBlocksResponseDataInner +from cloudbeds_pms_v1_3.models.get_room_blocks_response_data_inner_rooms_inner import GetRoomBlocksResponseDataInnerRoomsInner +from cloudbeds_pms_v1_3.models.get_room_types_response import GetRoomTypesResponse +from cloudbeds_pms_v1_3.models.get_room_types_response_data_inner import GetRoomTypesResponseDataInner +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response import GetRoomsFeesAndTaxesResponse +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data import GetRoomsFeesAndTaxesResponseData +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data_fees_inner import GetRoomsFeesAndTaxesResponseDataFeesInner +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data_taxes_inner import GetRoomsFeesAndTaxesResponseDataTaxesInner +from cloudbeds_pms_v1_3.models.get_rooms_response import GetRoomsResponse +from cloudbeds_pms_v1_3.models.get_rooms_response_data_inner import GetRoomsResponseDataInner +from cloudbeds_pms_v1_3.models.get_rooms_response_data_inner_rooms_inner import GetRoomsResponseDataInnerRoomsInner +from cloudbeds_pms_v1_3.models.get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner import GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner +from cloudbeds_pms_v1_3.models.get_rooms_unassigned_response import GetRoomsUnassignedResponse +from cloudbeds_pms_v1_3.models.get_rooms_unassigned_response_data_inner import GetRoomsUnassignedResponseDataInner +from cloudbeds_pms_v1_3.models.get_rooms_unassigned_response_data_inner_rooms_inner import GetRoomsUnassignedResponseDataInnerRoomsInner +from cloudbeds_pms_v1_3.models.get_sources_response import GetSourcesResponse +from cloudbeds_pms_v1_3.models.get_sources_response_data_inner import GetSourcesResponseDataInner +from cloudbeds_pms_v1_3.models.get_sources_response_data_inner_fees_inner import GetSourcesResponseDataInnerFeesInner +from cloudbeds_pms_v1_3.models.get_sources_response_data_inner_taxes_inner import GetSourcesResponseDataInnerTaxesInner +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response import GetTaxesAndFeesResponse +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner import GetTaxesAndFeesResponseDataInner +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_adult import GetTaxesAndFeesResponseDataInnerAmountAdult +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_child import GetTaxesAndFeesResponseDataInnerAmountChild +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner import GetTaxesAndFeesResponseDataInnerAmountRateBasedInner +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage import GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate import GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner import GetTaxesAndFeesResponseDataInnerDateRangesInner +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_amount import GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings import GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of import GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner import GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length import GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings import GetTaxesAndFeesResponseDataInnerLengthOfStaySettings +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of import GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner import GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner import GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_room_types_inner import GetTaxesAndFeesResponseDataInnerRoomTypesInner +from cloudbeds_pms_v1_3.models.get_userinfo_response import GetUserinfoResponse +from cloudbeds_pms_v1_3.models.get_userinfo_response_roles_inner import GetUserinfoResponseRolesInner +from cloudbeds_pms_v1_3.models.get_users_response import GetUsersResponse +from cloudbeds_pms_v1_3.models.get_webhooks_response import GetWebhooksResponse +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner import GetWebhooksResponseDataInner +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_event import GetWebhooksResponseDataInnerEvent +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_key import GetWebhooksResponseDataInnerKey +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_owner import GetWebhooksResponseDataInnerOwner +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_subscription_data import GetWebhooksResponseDataInnerSubscriptionData +from cloudbeds_pms_v1_3.models.post_access_token_response import PostAccessTokenResponse +from cloudbeds_pms_v1_3.models.post_access_token_response_resources_inner import PostAccessTokenResponseResourcesInner +from cloudbeds_pms_v1_3.models.post_adjustment_response import PostAdjustmentResponse +from cloudbeds_pms_v1_3.models.post_adjustment_response_data import PostAdjustmentResponseData +from cloudbeds_pms_v1_3.models.post_app_error_response import PostAppErrorResponse +from cloudbeds_pms_v1_3.models.post_app_error_response_data import PostAppErrorResponseData +from cloudbeds_pms_v1_3.models.post_app_property_setting_response import PostAppPropertySettingResponse +from cloudbeds_pms_v1_3.models.post_app_property_setting_response_data import PostAppPropertySettingResponseData +from cloudbeds_pms_v1_3.models.post_app_state_response import PostAppStateResponse +from cloudbeds_pms_v1_3.models.post_append_custom_item_response import PostAppendCustomItemResponse +from cloudbeds_pms_v1_3.models.post_append_custom_item_response_data import PostAppendCustomItemResponseData +from cloudbeds_pms_v1_3.models.post_card_response import PostCardResponse +from cloudbeds_pms_v1_3.models.post_card_response_data import PostCardResponseData +from cloudbeds_pms_v1_3.models.post_charge_response import PostChargeResponse +from cloudbeds_pms_v1_3.models.post_charge_response_data import PostChargeResponseData +from cloudbeds_pms_v1_3.models.post_charge_response_data_next_action import PostChargeResponseDataNextAction +from cloudbeds_pms_v1_3.models.post_charge_response_data_next_action_details import PostChargeResponseDataNextActionDetails +from cloudbeds_pms_v1_3.models.post_create_allotment_block_notes_response import PostCreateAllotmentBlockNotesResponse +from cloudbeds_pms_v1_3.models.post_create_allotment_block_notes_response_data import PostCreateAllotmentBlockNotesResponseData +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner import PostCreateAllotmentBlockRequestAllotmentIntervalsInner +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner import PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing import PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions import PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_auto_release import PostCreateAllotmentBlockRequestAutoRelease +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response import PostCreateAllotmentBlockResponse +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner import PostCreateAllotmentBlockResponseDataInner +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_auto_release import PostCreateAllotmentBlockResponseDataInnerAutoRelease +from cloudbeds_pms_v1_3.models.post_custom_field_response import PostCustomFieldResponse +from cloudbeds_pms_v1_3.models.post_custom_field_response_data import PostCustomFieldResponseData +from cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner import PostCustomItemRequestItemsInner +from cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner_item_fees_inner import PostCustomItemRequestItemsInnerItemFeesInner +from cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner_item_taxes_inner import PostCustomItemRequestItemsInnerItemTaxesInner +from cloudbeds_pms_v1_3.models.post_custom_item_request_payments_inner import PostCustomItemRequestPaymentsInner +from cloudbeds_pms_v1_3.models.post_custom_item_response import PostCustomItemResponse +from cloudbeds_pms_v1_3.models.post_custom_item_response_data import PostCustomItemResponseData +from cloudbeds_pms_v1_3.models.post_custom_payment_method_response import PostCustomPaymentMethodResponse +from cloudbeds_pms_v1_3.models.post_delete_allotment_block_response import PostDeleteAllotmentBlockResponse +from cloudbeds_pms_v1_3.models.post_delete_app_property_settings_response import PostDeleteAppPropertySettingsResponse +from cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule import PostEmailScheduleRequestSchedule +from cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule_reservation_event import PostEmailScheduleRequestScheduleReservationEvent +from cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule_reservation_status_change import PostEmailScheduleRequestScheduleReservationStatusChange +from cloudbeds_pms_v1_3.models.post_email_schedule_response import PostEmailScheduleResponse +from cloudbeds_pms_v1_3.models.post_email_template_request_body import PostEmailTemplateRequestBody +from cloudbeds_pms_v1_3.models.post_email_template_request_subject import PostEmailTemplateRequestSubject +from cloudbeds_pms_v1_3.models.post_email_template_response import PostEmailTemplateResponse +from cloudbeds_pms_v1_3.models.post_file_response import PostFileResponse +from cloudbeds_pms_v1_3.models.post_government_receipt_response import PostGovernmentReceiptResponse +from cloudbeds_pms_v1_3.models.post_group_note_response import PostGroupNoteResponse +from cloudbeds_pms_v1_3.models.post_group_note_response_data_inner import PostGroupNoteResponseDataInner +from cloudbeds_pms_v1_3.models.post_guest_document_response import PostGuestDocumentResponse +from cloudbeds_pms_v1_3.models.post_guest_document_response_data import PostGuestDocumentResponseData +from cloudbeds_pms_v1_3.models.post_guest_note_response import PostGuestNoteResponse +from cloudbeds_pms_v1_3.models.post_guest_photo_response import PostGuestPhotoResponse +from cloudbeds_pms_v1_3.models.post_guest_request_custom_fields_inner import PostGuestRequestCustomFieldsInner +from cloudbeds_pms_v1_3.models.post_guest_response import PostGuestResponse +from cloudbeds_pms_v1_3.models.post_guests_to_room_response import PostGuestsToRoomResponse +from cloudbeds_pms_v1_3.models.post_housekeeper_response import PostHousekeeperResponse +from cloudbeds_pms_v1_3.models.post_housekeeping_assignment_response import PostHousekeepingAssignmentResponse +from cloudbeds_pms_v1_3.models.post_housekeeping_status_response import PostHousekeepingStatusResponse +from cloudbeds_pms_v1_3.models.post_housekeeping_status_response_data import PostHousekeepingStatusResponseData +from cloudbeds_pms_v1_3.models.post_item_category_response import PostItemCategoryResponse +from cloudbeds_pms_v1_3.models.post_item_request_payments_inner import PostItemRequestPaymentsInner +from cloudbeds_pms_v1_3.models.post_item_response import PostItemResponse +from cloudbeds_pms_v1_3.models.post_item_response_data import PostItemResponseData +from cloudbeds_pms_v1_3.models.post_items_to_inventory_request_item import PostItemsToInventoryRequestItem +from cloudbeds_pms_v1_3.models.post_items_to_inventory_response import PostItemsToInventoryResponse +from cloudbeds_pms_v1_3.models.post_items_to_inventory_response_data_inner import PostItemsToInventoryResponseDataInner +from cloudbeds_pms_v1_3.models.post_new_house_account_response import PostNewHouseAccountResponse +from cloudbeds_pms_v1_3.models.post_new_house_account_response_data import PostNewHouseAccountResponseData +from cloudbeds_pms_v1_3.models.post_patch_group_response import PostPatchGroupResponse +from cloudbeds_pms_v1_3.models.post_patch_group_response_data_inner import PostPatchGroupResponseDataInner +from cloudbeds_pms_v1_3.models.post_patch_rate_request_rates_inner import PostPatchRateRequestRatesInner +from cloudbeds_pms_v1_3.models.post_patch_rate_request_rates_inner_interval import PostPatchRateRequestRatesInnerInterval +from cloudbeds_pms_v1_3.models.post_patch_rate_response import PostPatchRateResponse +from cloudbeds_pms_v1_3.models.post_payment_response import PostPaymentResponse +from cloudbeds_pms_v1_3.models.post_put_app_property_settings_response import PostPutAppPropertySettingsResponse +from cloudbeds_pms_v1_3.models.post_put_group_response import PostPutGroupResponse +from cloudbeds_pms_v1_3.models.post_put_rate_request_rates_inner import PostPutRateRequestRatesInner +from cloudbeds_pms_v1_3.models.post_put_rate_request_rates_inner_interval_inner import PostPutRateRequestRatesInnerIntervalInner +from cloudbeds_pms_v1_3.models.post_put_rate_response import PostPutRateResponse +from cloudbeds_pms_v1_3.models.post_reservation_document_response import PostReservationDocumentResponse +from cloudbeds_pms_v1_3.models.post_reservation_note_response import PostReservationNoteResponse +from cloudbeds_pms_v1_3.models.post_reservation_request_adults_inner import PostReservationRequestAdultsInner +from cloudbeds_pms_v1_3.models.post_reservation_request_children_inner import PostReservationRequestChildrenInner +from cloudbeds_pms_v1_3.models.post_reservation_request_custom_fields_inner import PostReservationRequestCustomFieldsInner +from cloudbeds_pms_v1_3.models.post_reservation_request_rooms_inner import PostReservationRequestRoomsInner +from cloudbeds_pms_v1_3.models.post_reservation_response import PostReservationResponse +from cloudbeds_pms_v1_3.models.post_reservation_response_unassigned_inner import PostReservationResponseUnassignedInner +from cloudbeds_pms_v1_3.models.post_room_assign_response import PostRoomAssignResponse +from cloudbeds_pms_v1_3.models.post_room_block_request_rooms_inner import PostRoomBlockRequestRoomsInner +from cloudbeds_pms_v1_3.models.post_room_block_response import PostRoomBlockResponse +from cloudbeds_pms_v1_3.models.post_room_block_response_rooms_inner import PostRoomBlockResponseRoomsInner +from cloudbeds_pms_v1_3.models.post_room_check_in_response import PostRoomCheckInResponse +from cloudbeds_pms_v1_3.models.post_room_check_out_response import PostRoomCheckOutResponse +from cloudbeds_pms_v1_3.models.post_update_allotment_block_notes_response import PostUpdateAllotmentBlockNotesResponse +from cloudbeds_pms_v1_3.models.post_update_allotment_block_notes_response_data import PostUpdateAllotmentBlockNotesResponseData +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner import PostUpdateAllotmentBlockRequestAllotmentIntervalsInner +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner_availability_inner import PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing import PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_auto_release import PostUpdateAllotmentBlockRequestAutoRelease +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response import PostUpdateAllotmentBlockResponse +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner import PostUpdateAllotmentBlockResponseDataInner +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner_allotment_intervals_inner import PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions import PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions +from cloudbeds_pms_v1_3.models.post_void_item_response import PostVoidItemResponse +from cloudbeds_pms_v1_3.models.post_void_payment_response import PostVoidPaymentResponse +from cloudbeds_pms_v1_3.models.post_webhook_response import PostWebhookResponse +from cloudbeds_pms_v1_3.models.post_webhook_response_data import PostWebhookResponseData +from cloudbeds_pms_v1_3.models.put_guest_note_response import PutGuestNoteResponse +from cloudbeds_pms_v1_3.models.put_guest_request_guest_custom_fields_inner import PutGuestRequestGuestCustomFieldsInner +from cloudbeds_pms_v1_3.models.put_guest_response import PutGuestResponse +from cloudbeds_pms_v1_3.models.put_house_account_status_response import PutHouseAccountStatusResponse +from cloudbeds_pms_v1_3.models.put_housekeeper_response import PutHousekeeperResponse +from cloudbeds_pms_v1_3.models.put_item_to_inventory_response import PutItemToInventoryResponse +from cloudbeds_pms_v1_3.models.put_reservation_note_response import PutReservationNoteResponse +from cloudbeds_pms_v1_3.models.put_reservation_request_custom_fields_inner import PutReservationRequestCustomFieldsInner +from cloudbeds_pms_v1_3.models.put_reservation_request_rooms_inner import PutReservationRequestRoomsInner +from cloudbeds_pms_v1_3.models.put_reservation_response import PutReservationResponse +from cloudbeds_pms_v1_3.models.put_room_block_request_rooms_inner import PutRoomBlockRequestRoomsInner +from cloudbeds_pms_v1_3.models.put_room_block_response import PutRoomBlockResponse diff --git a/cloudbeds_pms_v1_3/api/__init__.py b/cloudbeds_pms_v1_3/api/__init__.py new file mode 100644 index 0000000..e69a82e --- /dev/null +++ b/cloudbeds_pms_v1_3/api/__init__.py @@ -0,0 +1,26 @@ +# flake8: noqa + +# import apis into api package +from cloudbeds_pms_v1_3.api.adjustment_api import AdjustmentApi +from cloudbeds_pms_v1_3.api.allotment_blocks_api import AllotmentBlocksApi +from cloudbeds_pms_v1_3.api.app_settings_api import AppSettingsApi +from cloudbeds_pms_v1_3.api.authentication_api import AuthenticationApi +from cloudbeds_pms_v1_3.api.currency_api import CurrencyApi +from cloudbeds_pms_v1_3.api.custom_fields_api import CustomFieldsApi +from cloudbeds_pms_v1_3.api.dashboard_api import DashboardApi +from cloudbeds_pms_v1_3.api.emails_api import EmailsApi +from cloudbeds_pms_v1_3.api.groups_api import GroupsApi +from cloudbeds_pms_v1_3.api.guest_api import GuestApi +from cloudbeds_pms_v1_3.api.hotel_api import HotelApi +from cloudbeds_pms_v1_3.api.house_account_api import HouseAccountApi +from cloudbeds_pms_v1_3.api.housekeeping_api import HousekeepingApi +from cloudbeds_pms_v1_3.api.integration_api import IntegrationApi +from cloudbeds_pms_v1_3.api.item_api import ItemApi +from cloudbeds_pms_v1_3.api.package_api import PackageApi +from cloudbeds_pms_v1_3.api.payment_api import PaymentApi +from cloudbeds_pms_v1_3.api.rate_api import RateApi +from cloudbeds_pms_v1_3.api.reservation_api import ReservationApi +from cloudbeds_pms_v1_3.api.room_api import RoomApi +from cloudbeds_pms_v1_3.api.taxes_and_fees_api import TaxesAndFeesApi +from cloudbeds_pms_v1_3.api.user_api import UserApi + diff --git a/cloudbeds_pms_v1_3/api/adjustment_api.py b/cloudbeds_pms_v1_3/api/adjustment_api.py new file mode 100644 index 0000000..b1ce0e2 --- /dev/null +++ b/cloudbeds_pms_v1_3/api/adjustment_api.py @@ -0,0 +1,688 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Optional, Union +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.delete_adjustment_response import DeleteAdjustmentResponse +from cloudbeds_pms_v1_3.models.post_adjustment_response import PostAdjustmentResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class AdjustmentApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def delete_adjustment_delete( + self, + reservation_id: Annotated[StrictStr, Field(description="Reservation identifier")], + adjustment_id: Annotated[StrictStr, Field(description="Adjustment identifier")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DeleteAdjustmentResponse: + """deleteAdjustment + + Voids the AdjustmentID transaction on the specified reservationID + + :param reservation_id: Reservation identifier (required) + :type reservation_id: str + :param adjustment_id: Adjustment identifier (required) + :type adjustment_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_adjustment_delete_serialize( + reservation_id=reservation_id, + adjustment_id=adjustment_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteAdjustmentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_adjustment_delete_with_http_info( + self, + reservation_id: Annotated[StrictStr, Field(description="Reservation identifier")], + adjustment_id: Annotated[StrictStr, Field(description="Adjustment identifier")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DeleteAdjustmentResponse]: + """deleteAdjustment + + Voids the AdjustmentID transaction on the specified reservationID + + :param reservation_id: Reservation identifier (required) + :type reservation_id: str + :param adjustment_id: Adjustment identifier (required) + :type adjustment_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_adjustment_delete_serialize( + reservation_id=reservation_id, + adjustment_id=adjustment_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteAdjustmentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_adjustment_delete_without_preload_content( + self, + reservation_id: Annotated[StrictStr, Field(description="Reservation identifier")], + adjustment_id: Annotated[StrictStr, Field(description="Adjustment identifier")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """deleteAdjustment + + Voids the AdjustmentID transaction on the specified reservationID + + :param reservation_id: Reservation identifier (required) + :type reservation_id: str + :param adjustment_id: Adjustment identifier (required) + :type adjustment_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_adjustment_delete_serialize( + reservation_id=reservation_id, + adjustment_id=adjustment_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteAdjustmentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_adjustment_delete_serialize( + self, + reservation_id, + adjustment_id, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if reservation_id is not None: + + _query_params.append(('reservationID', reservation_id)) + + if adjustment_id is not None: + + _query_params.append(('adjustmentID', adjustment_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/deleteAdjustment', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_adjustment_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + type: Annotated[Optional[StrictStr], Field(description="Apply Adjustment to")] = None, + amount: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Adjustment amount")] = None, + notes: Annotated[Optional[StrictStr], Field(description="Adjustment notes")] = None, + item_id: Annotated[Optional[StrictStr], Field(description="Apply Adjustment to. Identifier for: product, tax, fee. Not for rate")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostAdjustmentResponse: + """postAdjustment + + Adds an adjustment to a reservation + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param type: Apply Adjustment to + :type type: str + :param amount: Adjustment amount + :type amount: float + :param notes: Adjustment notes + :type notes: str + :param item_id: Apply Adjustment to. Identifier for: product, tax, fee. Not for rate + :type item_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_adjustment_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + type=type, + amount=amount, + notes=notes, + item_id=item_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAdjustmentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_adjustment_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + type: Annotated[Optional[StrictStr], Field(description="Apply Adjustment to")] = None, + amount: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Adjustment amount")] = None, + notes: Annotated[Optional[StrictStr], Field(description="Adjustment notes")] = None, + item_id: Annotated[Optional[StrictStr], Field(description="Apply Adjustment to. Identifier for: product, tax, fee. Not for rate")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostAdjustmentResponse]: + """postAdjustment + + Adds an adjustment to a reservation + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param type: Apply Adjustment to + :type type: str + :param amount: Adjustment amount + :type amount: float + :param notes: Adjustment notes + :type notes: str + :param item_id: Apply Adjustment to. Identifier for: product, tax, fee. Not for rate + :type item_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_adjustment_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + type=type, + amount=amount, + notes=notes, + item_id=item_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAdjustmentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_adjustment_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + type: Annotated[Optional[StrictStr], Field(description="Apply Adjustment to")] = None, + amount: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Adjustment amount")] = None, + notes: Annotated[Optional[StrictStr], Field(description="Adjustment notes")] = None, + item_id: Annotated[Optional[StrictStr], Field(description="Apply Adjustment to. Identifier for: product, tax, fee. Not for rate")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postAdjustment + + Adds an adjustment to a reservation + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param type: Apply Adjustment to + :type type: str + :param amount: Adjustment amount + :type amount: float + :param notes: Adjustment notes + :type notes: str + :param item_id: Apply Adjustment to. Identifier for: product, tax, fee. Not for rate + :type item_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_adjustment_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + type=type, + amount=amount, + notes=notes, + item_id=item_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAdjustmentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_adjustment_post_serialize( + self, + property_id, + reservation_id, + type, + amount, + notes, + item_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if type is not None: + _form_params.append(('type', type)) + if amount is not None: + _form_params.append(('amount', amount)) + if notes is not None: + _form_params.append(('notes', notes)) + if item_id is not None: + _form_params.append(('itemID', item_id)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postAdjustment', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/allotment_blocks_api.py b/cloudbeds_pms_v1_3/api/allotment_blocks_api.py new file mode 100644 index 0000000..33691f3 --- /dev/null +++ b/cloudbeds_pms_v1_3/api/allotment_blocks_api.py @@ -0,0 +1,2560 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from datetime import date +from pydantic import Field, StrictBool, StrictInt, StrictStr, field_validator +from typing import List, Optional +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response import GetAllotmentBlocksResponse +from cloudbeds_pms_v1_3.models.get_list_allotment_block_notes_response import GetListAllotmentBlockNotesResponse +from cloudbeds_pms_v1_3.models.post_create_allotment_block_notes_response import PostCreateAllotmentBlockNotesResponse +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner import PostCreateAllotmentBlockRequestAllotmentIntervalsInner +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_auto_release import PostCreateAllotmentBlockRequestAutoRelease +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response import PostCreateAllotmentBlockResponse +from cloudbeds_pms_v1_3.models.post_delete_allotment_block_response import PostDeleteAllotmentBlockResponse +from cloudbeds_pms_v1_3.models.post_update_allotment_block_notes_response import PostUpdateAllotmentBlockNotesResponse +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner import PostUpdateAllotmentBlockRequestAllotmentIntervalsInner +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_auto_release import PostUpdateAllotmentBlockRequestAutoRelease +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response import PostUpdateAllotmentBlockResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class AllotmentBlocksApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_allotment_block_notes_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="Allotment Block Code")] = None, + text: Annotated[Optional[StrictStr], Field(description="Note's text")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostCreateAllotmentBlockNotesResponse: + """createAllotmentBlockNotes + + Add a note to an allotment block + + :param property_id: Property ID + :type property_id: str + :param allotment_block_code: Allotment Block Code + :type allotment_block_code: str + :param text: Note's text + :type text: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_allotment_block_notes_post_serialize( + property_id=property_id, + allotment_block_code=allotment_block_code, + text=text, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCreateAllotmentBlockNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_allotment_block_notes_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="Allotment Block Code")] = None, + text: Annotated[Optional[StrictStr], Field(description="Note's text")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostCreateAllotmentBlockNotesResponse]: + """createAllotmentBlockNotes + + Add a note to an allotment block + + :param property_id: Property ID + :type property_id: str + :param allotment_block_code: Allotment Block Code + :type allotment_block_code: str + :param text: Note's text + :type text: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_allotment_block_notes_post_serialize( + property_id=property_id, + allotment_block_code=allotment_block_code, + text=text, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCreateAllotmentBlockNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_allotment_block_notes_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="Allotment Block Code")] = None, + text: Annotated[Optional[StrictStr], Field(description="Note's text")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """createAllotmentBlockNotes + + Add a note to an allotment block + + :param property_id: Property ID + :type property_id: str + :param allotment_block_code: Allotment Block Code + :type allotment_block_code: str + :param text: Note's text + :type text: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_allotment_block_notes_post_serialize( + property_id=property_id, + allotment_block_code=allotment_block_code, + text=text, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCreateAllotmentBlockNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_allotment_block_notes_post_serialize( + self, + property_id, + allotment_block_code, + text, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if allotment_block_code is not None: + _form_params.append(('allotmentBlockCode', allotment_block_code)) + if text is not None: + _form_params.append(('text', text)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/createAllotmentBlockNotes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_allotment_block_post( + self, + group_code: Annotated[Optional[StrictStr], Field(description="The unique identifier of the group profile the allotment block should be created")] = None, + event_code: Annotated[Optional[StrictStr], Field(description="The unique identifier of the event the allotment block should be created")] = None, + allotment_block_name: Annotated[Optional[StrictStr], Field(description="The name for the allotment block")] = None, + rate_type: Annotated[Optional[StrictStr], Field(description="The rate type for the associated intervals")] = None, + rate_plan_id: Annotated[Optional[StrictStr], Field(description="The rate plan ID. Required if rateType is \\\"rate_plan\\\".")] = None, + allotment_type: Annotated[Optional[StrictStr], Field(description="The allotment type")] = None, + allotment_block_status: Annotated[Optional[StrictStr], Field(description="The status for the allotment block under")] = None, + allow_overbooking: Annotated[Optional[StrictBool], Field(description="If false, or omitted, then this command will fail if it would result in an overbooking. If true, then the update will succeed even if it results in an overbooking.")] = None, + auto_release: Optional[PostCreateAllotmentBlockRequestAutoRelease] = None, + allotment_intervals: Annotated[Optional[List[PostCreateAllotmentBlockRequestAllotmentIntervalsInner]], Field(description="The day-based data for the allotment block.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostCreateAllotmentBlockResponse: + """createAllotmentBlock + + Retreive allotment blocks @apiQuery {Integer} propertyID Property ID + + :param group_code: The unique identifier of the group profile the allotment block should be created + :type group_code: str + :param event_code: The unique identifier of the event the allotment block should be created + :type event_code: str + :param allotment_block_name: The name for the allotment block + :type allotment_block_name: str + :param rate_type: The rate type for the associated intervals + :type rate_type: str + :param rate_plan_id: The rate plan ID. Required if rateType is \\\"rate_plan\\\". + :type rate_plan_id: str + :param allotment_type: The allotment type + :type allotment_type: str + :param allotment_block_status: The status for the allotment block under + :type allotment_block_status: str + :param allow_overbooking: If false, or omitted, then this command will fail if it would result in an overbooking. If true, then the update will succeed even if it results in an overbooking. + :type allow_overbooking: bool + :param auto_release: + :type auto_release: PostCreateAllotmentBlockRequestAutoRelease + :param allotment_intervals: The day-based data for the allotment block. + :type allotment_intervals: List[PostCreateAllotmentBlockRequestAllotmentIntervalsInner] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_allotment_block_post_serialize( + group_code=group_code, + event_code=event_code, + allotment_block_name=allotment_block_name, + rate_type=rate_type, + rate_plan_id=rate_plan_id, + allotment_type=allotment_type, + allotment_block_status=allotment_block_status, + allow_overbooking=allow_overbooking, + auto_release=auto_release, + allotment_intervals=allotment_intervals, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCreateAllotmentBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_allotment_block_post_with_http_info( + self, + group_code: Annotated[Optional[StrictStr], Field(description="The unique identifier of the group profile the allotment block should be created")] = None, + event_code: Annotated[Optional[StrictStr], Field(description="The unique identifier of the event the allotment block should be created")] = None, + allotment_block_name: Annotated[Optional[StrictStr], Field(description="The name for the allotment block")] = None, + rate_type: Annotated[Optional[StrictStr], Field(description="The rate type for the associated intervals")] = None, + rate_plan_id: Annotated[Optional[StrictStr], Field(description="The rate plan ID. Required if rateType is \\\"rate_plan\\\".")] = None, + allotment_type: Annotated[Optional[StrictStr], Field(description="The allotment type")] = None, + allotment_block_status: Annotated[Optional[StrictStr], Field(description="The status for the allotment block under")] = None, + allow_overbooking: Annotated[Optional[StrictBool], Field(description="If false, or omitted, then this command will fail if it would result in an overbooking. If true, then the update will succeed even if it results in an overbooking.")] = None, + auto_release: Optional[PostCreateAllotmentBlockRequestAutoRelease] = None, + allotment_intervals: Annotated[Optional[List[PostCreateAllotmentBlockRequestAllotmentIntervalsInner]], Field(description="The day-based data for the allotment block.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostCreateAllotmentBlockResponse]: + """createAllotmentBlock + + Retreive allotment blocks @apiQuery {Integer} propertyID Property ID + + :param group_code: The unique identifier of the group profile the allotment block should be created + :type group_code: str + :param event_code: The unique identifier of the event the allotment block should be created + :type event_code: str + :param allotment_block_name: The name for the allotment block + :type allotment_block_name: str + :param rate_type: The rate type for the associated intervals + :type rate_type: str + :param rate_plan_id: The rate plan ID. Required if rateType is \\\"rate_plan\\\". + :type rate_plan_id: str + :param allotment_type: The allotment type + :type allotment_type: str + :param allotment_block_status: The status for the allotment block under + :type allotment_block_status: str + :param allow_overbooking: If false, or omitted, then this command will fail if it would result in an overbooking. If true, then the update will succeed even if it results in an overbooking. + :type allow_overbooking: bool + :param auto_release: + :type auto_release: PostCreateAllotmentBlockRequestAutoRelease + :param allotment_intervals: The day-based data for the allotment block. + :type allotment_intervals: List[PostCreateAllotmentBlockRequestAllotmentIntervalsInner] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_allotment_block_post_serialize( + group_code=group_code, + event_code=event_code, + allotment_block_name=allotment_block_name, + rate_type=rate_type, + rate_plan_id=rate_plan_id, + allotment_type=allotment_type, + allotment_block_status=allotment_block_status, + allow_overbooking=allow_overbooking, + auto_release=auto_release, + allotment_intervals=allotment_intervals, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCreateAllotmentBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_allotment_block_post_without_preload_content( + self, + group_code: Annotated[Optional[StrictStr], Field(description="The unique identifier of the group profile the allotment block should be created")] = None, + event_code: Annotated[Optional[StrictStr], Field(description="The unique identifier of the event the allotment block should be created")] = None, + allotment_block_name: Annotated[Optional[StrictStr], Field(description="The name for the allotment block")] = None, + rate_type: Annotated[Optional[StrictStr], Field(description="The rate type for the associated intervals")] = None, + rate_plan_id: Annotated[Optional[StrictStr], Field(description="The rate plan ID. Required if rateType is \\\"rate_plan\\\".")] = None, + allotment_type: Annotated[Optional[StrictStr], Field(description="The allotment type")] = None, + allotment_block_status: Annotated[Optional[StrictStr], Field(description="The status for the allotment block under")] = None, + allow_overbooking: Annotated[Optional[StrictBool], Field(description="If false, or omitted, then this command will fail if it would result in an overbooking. If true, then the update will succeed even if it results in an overbooking.")] = None, + auto_release: Optional[PostCreateAllotmentBlockRequestAutoRelease] = None, + allotment_intervals: Annotated[Optional[List[PostCreateAllotmentBlockRequestAllotmentIntervalsInner]], Field(description="The day-based data for the allotment block.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """createAllotmentBlock + + Retreive allotment blocks @apiQuery {Integer} propertyID Property ID + + :param group_code: The unique identifier of the group profile the allotment block should be created + :type group_code: str + :param event_code: The unique identifier of the event the allotment block should be created + :type event_code: str + :param allotment_block_name: The name for the allotment block + :type allotment_block_name: str + :param rate_type: The rate type for the associated intervals + :type rate_type: str + :param rate_plan_id: The rate plan ID. Required if rateType is \\\"rate_plan\\\". + :type rate_plan_id: str + :param allotment_type: The allotment type + :type allotment_type: str + :param allotment_block_status: The status for the allotment block under + :type allotment_block_status: str + :param allow_overbooking: If false, or omitted, then this command will fail if it would result in an overbooking. If true, then the update will succeed even if it results in an overbooking. + :type allow_overbooking: bool + :param auto_release: + :type auto_release: PostCreateAllotmentBlockRequestAutoRelease + :param allotment_intervals: The day-based data for the allotment block. + :type allotment_intervals: List[PostCreateAllotmentBlockRequestAllotmentIntervalsInner] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_allotment_block_post_serialize( + group_code=group_code, + event_code=event_code, + allotment_block_name=allotment_block_name, + rate_type=rate_type, + rate_plan_id=rate_plan_id, + allotment_type=allotment_type, + allotment_block_status=allotment_block_status, + allow_overbooking=allow_overbooking, + auto_release=auto_release, + allotment_intervals=allotment_intervals, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCreateAllotmentBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_allotment_block_post_serialize( + self, + group_code, + event_code, + allotment_block_name, + rate_type, + rate_plan_id, + allotment_type, + allotment_block_status, + allow_overbooking, + auto_release, + allotment_intervals, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'allotmentIntervals': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if group_code is not None: + _form_params.append(('groupCode', group_code)) + if event_code is not None: + _form_params.append(('eventCode', event_code)) + if allotment_block_name is not None: + _form_params.append(('allotmentBlockName', allotment_block_name)) + if rate_type is not None: + _form_params.append(('rateType', rate_type)) + if rate_plan_id is not None: + _form_params.append(('ratePlanId', rate_plan_id)) + if allotment_type is not None: + _form_params.append(('allotmentType', allotment_type)) + if allotment_block_status is not None: + _form_params.append(('allotmentBlockStatus', allotment_block_status)) + if allow_overbooking is not None: + _form_params.append(('allowOverbooking', allow_overbooking)) + if auto_release is not None: + _form_params.append(('autoRelease', auto_release)) + if allotment_intervals is not None: + _form_params.append(('allotmentIntervals', allotment_intervals)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/createAllotmentBlock', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_allotment_block_post( + self, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="The unique code of the allotment Block")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostDeleteAllotmentBlockResponse: + """deleteAllotmentBlock + + Delete allotment blocks + + :param allotment_block_code: The unique code of the allotment Block + :type allotment_block_code: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_allotment_block_post_serialize( + allotment_block_code=allotment_block_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostDeleteAllotmentBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_allotment_block_post_with_http_info( + self, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="The unique code of the allotment Block")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostDeleteAllotmentBlockResponse]: + """deleteAllotmentBlock + + Delete allotment blocks + + :param allotment_block_code: The unique code of the allotment Block + :type allotment_block_code: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_allotment_block_post_serialize( + allotment_block_code=allotment_block_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostDeleteAllotmentBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_allotment_block_post_without_preload_content( + self, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="The unique code of the allotment Block")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """deleteAllotmentBlock + + Delete allotment blocks + + :param allotment_block_code: The unique code of the allotment Block + :type allotment_block_code: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_allotment_block_post_serialize( + allotment_block_code=allotment_block_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostDeleteAllotmentBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_allotment_block_post_serialize( + self, + allotment_block_code, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if allotment_block_code is not None: + _form_params.append(('allotmentBlockCode', allotment_block_code)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/deleteAllotmentBlock', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_allotment_blocks_get( + self, + property_id: Annotated[StrictStr, Field(description="Property ID (optional, by default all authorized properties will be included)")], + allotment_block_code: Annotated[Optional[StrictStr], Field(description="Allotment block code")] = None, + allotment_block_name: Annotated[Optional[StrictStr], Field(description="Allotment block name")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="A group profile code")] = None, + event_code: Annotated[Optional[StrictStr], Field(description="An event code")] = None, + allotment_block_status: Annotated[Optional[StrictStr], Field(description="Allotment block status(es)")] = None, + allotment_block_type: Annotated[Optional[StrictStr], Field(description="The type of allotment block")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="Filters allotment blocks with the supplied Room Type ID.")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Number of allotment blocks to return per page (min: 1, max: 100)")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Which page in the results to access")] = None, + start_date: Annotated[Optional[date], Field(description="Interval start date")] = None, + end_date: Annotated[Optional[date], Field(description="Interval end date")] = None, + for_update: Annotated[Optional[StrictBool], Field(description="If false (default) this will show the effective availability on each date. If true, will read raw availability from the allotment intervals.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetAllotmentBlocksResponse: + """getAllotmentBlocks + + Retrieve allotment blocks + + :param property_id: Property ID (optional, by default all authorized properties will be included) (required) + :type property_id: str + :param allotment_block_code: Allotment block code + :type allotment_block_code: str + :param allotment_block_name: Allotment block name + :type allotment_block_name: str + :param group_code: A group profile code + :type group_code: str + :param event_code: An event code + :type event_code: str + :param allotment_block_status: Allotment block status(es) + :type allotment_block_status: str + :param allotment_block_type: The type of allotment block + :type allotment_block_type: str + :param room_type_id: Filters allotment blocks with the supplied Room Type ID. + :type room_type_id: str + :param page_size: Number of allotment blocks to return per page (min: 1, max: 100) + :type page_size: int + :param page_number: Which page in the results to access + :type page_number: int + :param start_date: Interval start date + :type start_date: date + :param end_date: Interval end date + :type end_date: date + :param for_update: If false (default) this will show the effective availability on each date. If true, will read raw availability from the allotment intervals. + :type for_update: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_allotment_blocks_get_serialize( + property_id=property_id, + allotment_block_code=allotment_block_code, + allotment_block_name=allotment_block_name, + group_code=group_code, + event_code=event_code, + allotment_block_status=allotment_block_status, + allotment_block_type=allotment_block_type, + room_type_id=room_type_id, + page_size=page_size, + page_number=page_number, + start_date=start_date, + end_date=end_date, + for_update=for_update, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAllotmentBlocksResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_allotment_blocks_get_with_http_info( + self, + property_id: Annotated[StrictStr, Field(description="Property ID (optional, by default all authorized properties will be included)")], + allotment_block_code: Annotated[Optional[StrictStr], Field(description="Allotment block code")] = None, + allotment_block_name: Annotated[Optional[StrictStr], Field(description="Allotment block name")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="A group profile code")] = None, + event_code: Annotated[Optional[StrictStr], Field(description="An event code")] = None, + allotment_block_status: Annotated[Optional[StrictStr], Field(description="Allotment block status(es)")] = None, + allotment_block_type: Annotated[Optional[StrictStr], Field(description="The type of allotment block")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="Filters allotment blocks with the supplied Room Type ID.")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Number of allotment blocks to return per page (min: 1, max: 100)")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Which page in the results to access")] = None, + start_date: Annotated[Optional[date], Field(description="Interval start date")] = None, + end_date: Annotated[Optional[date], Field(description="Interval end date")] = None, + for_update: Annotated[Optional[StrictBool], Field(description="If false (default) this will show the effective availability on each date. If true, will read raw availability from the allotment intervals.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetAllotmentBlocksResponse]: + """getAllotmentBlocks + + Retrieve allotment blocks + + :param property_id: Property ID (optional, by default all authorized properties will be included) (required) + :type property_id: str + :param allotment_block_code: Allotment block code + :type allotment_block_code: str + :param allotment_block_name: Allotment block name + :type allotment_block_name: str + :param group_code: A group profile code + :type group_code: str + :param event_code: An event code + :type event_code: str + :param allotment_block_status: Allotment block status(es) + :type allotment_block_status: str + :param allotment_block_type: The type of allotment block + :type allotment_block_type: str + :param room_type_id: Filters allotment blocks with the supplied Room Type ID. + :type room_type_id: str + :param page_size: Number of allotment blocks to return per page (min: 1, max: 100) + :type page_size: int + :param page_number: Which page in the results to access + :type page_number: int + :param start_date: Interval start date + :type start_date: date + :param end_date: Interval end date + :type end_date: date + :param for_update: If false (default) this will show the effective availability on each date. If true, will read raw availability from the allotment intervals. + :type for_update: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_allotment_blocks_get_serialize( + property_id=property_id, + allotment_block_code=allotment_block_code, + allotment_block_name=allotment_block_name, + group_code=group_code, + event_code=event_code, + allotment_block_status=allotment_block_status, + allotment_block_type=allotment_block_type, + room_type_id=room_type_id, + page_size=page_size, + page_number=page_number, + start_date=start_date, + end_date=end_date, + for_update=for_update, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAllotmentBlocksResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_allotment_blocks_get_without_preload_content( + self, + property_id: Annotated[StrictStr, Field(description="Property ID (optional, by default all authorized properties will be included)")], + allotment_block_code: Annotated[Optional[StrictStr], Field(description="Allotment block code")] = None, + allotment_block_name: Annotated[Optional[StrictStr], Field(description="Allotment block name")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="A group profile code")] = None, + event_code: Annotated[Optional[StrictStr], Field(description="An event code")] = None, + allotment_block_status: Annotated[Optional[StrictStr], Field(description="Allotment block status(es)")] = None, + allotment_block_type: Annotated[Optional[StrictStr], Field(description="The type of allotment block")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="Filters allotment blocks with the supplied Room Type ID.")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Number of allotment blocks to return per page (min: 1, max: 100)")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Which page in the results to access")] = None, + start_date: Annotated[Optional[date], Field(description="Interval start date")] = None, + end_date: Annotated[Optional[date], Field(description="Interval end date")] = None, + for_update: Annotated[Optional[StrictBool], Field(description="If false (default) this will show the effective availability on each date. If true, will read raw availability from the allotment intervals.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getAllotmentBlocks + + Retrieve allotment blocks + + :param property_id: Property ID (optional, by default all authorized properties will be included) (required) + :type property_id: str + :param allotment_block_code: Allotment block code + :type allotment_block_code: str + :param allotment_block_name: Allotment block name + :type allotment_block_name: str + :param group_code: A group profile code + :type group_code: str + :param event_code: An event code + :type event_code: str + :param allotment_block_status: Allotment block status(es) + :type allotment_block_status: str + :param allotment_block_type: The type of allotment block + :type allotment_block_type: str + :param room_type_id: Filters allotment blocks with the supplied Room Type ID. + :type room_type_id: str + :param page_size: Number of allotment blocks to return per page (min: 1, max: 100) + :type page_size: int + :param page_number: Which page in the results to access + :type page_number: int + :param start_date: Interval start date + :type start_date: date + :param end_date: Interval end date + :type end_date: date + :param for_update: If false (default) this will show the effective availability on each date. If true, will read raw availability from the allotment intervals. + :type for_update: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_allotment_blocks_get_serialize( + property_id=property_id, + allotment_block_code=allotment_block_code, + allotment_block_name=allotment_block_name, + group_code=group_code, + event_code=event_code, + allotment_block_status=allotment_block_status, + allotment_block_type=allotment_block_type, + room_type_id=room_type_id, + page_size=page_size, + page_number=page_number, + start_date=start_date, + end_date=end_date, + for_update=for_update, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAllotmentBlocksResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_allotment_blocks_get_serialize( + self, + property_id, + allotment_block_code, + allotment_block_name, + group_code, + event_code, + allotment_block_status, + allotment_block_type, + room_type_id, + page_size, + page_number, + start_date, + end_date, + for_update, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if allotment_block_code is not None: + + _query_params.append(('allotmentBlockCode', allotment_block_code)) + + if allotment_block_name is not None: + + _query_params.append(('allotmentBlockName', allotment_block_name)) + + if group_code is not None: + + _query_params.append(('groupCode', group_code)) + + if event_code is not None: + + _query_params.append(('eventCode', event_code)) + + if allotment_block_status is not None: + + _query_params.append(('allotmentBlockStatus', allotment_block_status)) + + if allotment_block_type is not None: + + _query_params.append(('allotmentBlockType', allotment_block_type)) + + if room_type_id is not None: + + _query_params.append(('roomTypeID', room_type_id)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + if page_number is not None: + + _query_params.append(('pageNumber', page_number)) + + if start_date is not None: + if isinstance(start_date, date): + _query_params.append( + ( + 'startDate', + start_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('startDate', start_date)) + + if end_date is not None: + if isinstance(end_date, date): + _query_params.append( + ( + 'endDate', + end_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('endDate', end_date)) + + if for_update is not None: + + _query_params.append(('forUpdate', for_update)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getAllotmentBlocks', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def list_allotment_block_notes_get( + self, + property_id: Annotated[StrictStr, Field(description="Property ID")], + allotment_block_code: Annotated[StrictStr, Field(description="Allotment block code")], + status: Annotated[Optional[StrictStr], Field(description="Note status")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Number of Items per Page (min 1, max 100)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetListAllotmentBlockNotesResponse: + """listAllotmentBlockNotes + + List notes added to an allotment block + + :param property_id: Property ID (required) + :type property_id: str + :param allotment_block_code: Allotment block code (required) + :type allotment_block_code: str + :param status: Note status + :type status: str + :param page_number: Page + :type page_number: int + :param page_size: Number of Items per Page (min 1, max 100) + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_allotment_block_notes_get_serialize( + property_id=property_id, + allotment_block_code=allotment_block_code, + status=status, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetListAllotmentBlockNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def list_allotment_block_notes_get_with_http_info( + self, + property_id: Annotated[StrictStr, Field(description="Property ID")], + allotment_block_code: Annotated[StrictStr, Field(description="Allotment block code")], + status: Annotated[Optional[StrictStr], Field(description="Note status")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Number of Items per Page (min 1, max 100)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetListAllotmentBlockNotesResponse]: + """listAllotmentBlockNotes + + List notes added to an allotment block + + :param property_id: Property ID (required) + :type property_id: str + :param allotment_block_code: Allotment block code (required) + :type allotment_block_code: str + :param status: Note status + :type status: str + :param page_number: Page + :type page_number: int + :param page_size: Number of Items per Page (min 1, max 100) + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_allotment_block_notes_get_serialize( + property_id=property_id, + allotment_block_code=allotment_block_code, + status=status, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetListAllotmentBlockNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def list_allotment_block_notes_get_without_preload_content( + self, + property_id: Annotated[StrictStr, Field(description="Property ID")], + allotment_block_code: Annotated[StrictStr, Field(description="Allotment block code")], + status: Annotated[Optional[StrictStr], Field(description="Note status")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Number of Items per Page (min 1, max 100)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """listAllotmentBlockNotes + + List notes added to an allotment block + + :param property_id: Property ID (required) + :type property_id: str + :param allotment_block_code: Allotment block code (required) + :type allotment_block_code: str + :param status: Note status + :type status: str + :param page_number: Page + :type page_number: int + :param page_size: Number of Items per Page (min 1, max 100) + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_allotment_block_notes_get_serialize( + property_id=property_id, + allotment_block_code=allotment_block_code, + status=status, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetListAllotmentBlockNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_allotment_block_notes_get_serialize( + self, + property_id, + allotment_block_code, + status, + page_number, + page_size, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if allotment_block_code is not None: + + _query_params.append(('allotmentBlockCode', allotment_block_code)) + + if status is not None: + + _query_params.append(('status', status)) + + if page_number is not None: + + _query_params.append(('pageNumber', page_number)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/listAllotmentBlockNotes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_allotment_block_notes_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="Allotment Block Code")] = None, + note_id: Annotated[Optional[StrictStr], Field(description="Note's ID")] = None, + text: Annotated[Optional[StrictStr], Field(description="Note's text (null for no change)")] = None, + status: Annotated[Optional[StrictStr], Field(description="Note status")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostUpdateAllotmentBlockNotesResponse: + """updateAllotmentBlockNotes + + Update a note on an allotment block + + :param property_id: Property ID + :type property_id: str + :param allotment_block_code: Allotment Block Code + :type allotment_block_code: str + :param note_id: Note's ID + :type note_id: str + :param text: Note's text (null for no change) + :type text: str + :param status: Note status + :type status: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_allotment_block_notes_post_serialize( + property_id=property_id, + allotment_block_code=allotment_block_code, + note_id=note_id, + text=text, + status=status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostUpdateAllotmentBlockNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_allotment_block_notes_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="Allotment Block Code")] = None, + note_id: Annotated[Optional[StrictStr], Field(description="Note's ID")] = None, + text: Annotated[Optional[StrictStr], Field(description="Note's text (null for no change)")] = None, + status: Annotated[Optional[StrictStr], Field(description="Note status")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostUpdateAllotmentBlockNotesResponse]: + """updateAllotmentBlockNotes + + Update a note on an allotment block + + :param property_id: Property ID + :type property_id: str + :param allotment_block_code: Allotment Block Code + :type allotment_block_code: str + :param note_id: Note's ID + :type note_id: str + :param text: Note's text (null for no change) + :type text: str + :param status: Note status + :type status: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_allotment_block_notes_post_serialize( + property_id=property_id, + allotment_block_code=allotment_block_code, + note_id=note_id, + text=text, + status=status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostUpdateAllotmentBlockNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_allotment_block_notes_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="Allotment Block Code")] = None, + note_id: Annotated[Optional[StrictStr], Field(description="Note's ID")] = None, + text: Annotated[Optional[StrictStr], Field(description="Note's text (null for no change)")] = None, + status: Annotated[Optional[StrictStr], Field(description="Note status")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """updateAllotmentBlockNotes + + Update a note on an allotment block + + :param property_id: Property ID + :type property_id: str + :param allotment_block_code: Allotment Block Code + :type allotment_block_code: str + :param note_id: Note's ID + :type note_id: str + :param text: Note's text (null for no change) + :type text: str + :param status: Note status + :type status: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_allotment_block_notes_post_serialize( + property_id=property_id, + allotment_block_code=allotment_block_code, + note_id=note_id, + text=text, + status=status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostUpdateAllotmentBlockNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_allotment_block_notes_post_serialize( + self, + property_id, + allotment_block_code, + note_id, + text, + status, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if allotment_block_code is not None: + _form_params.append(('allotmentBlockCode', allotment_block_code)) + if note_id is not None: + _form_params.append(('noteID', note_id)) + if text is not None: + _form_params.append(('text', text)) + if status is not None: + _form_params.append(('status', status)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/updateAllotmentBlockNotes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_allotment_block_post( + self, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="The allotment block code identifying the allotment block to update")] = None, + allotment_block_name: Annotated[Optional[StrictStr], Field(description="The name for the allotment block")] = None, + allow_overbooking: Annotated[Optional[StrictBool], Field(description="If false, or omitted, then this update will fail if it would result in an overbooking. If true, then the update will succeed even if it results in an overbooking.")] = None, + allotment_type: Annotated[Optional[StrictStr], Field(description="The allotment type")] = None, + allotment_block_status: Annotated[Optional[StrictStr], Field(description="The status for the allotment block under")] = None, + auto_release: Optional[PostUpdateAllotmentBlockRequestAutoRelease] = None, + allotment_intervals: Annotated[Optional[List[PostUpdateAllotmentBlockRequestAllotmentIntervalsInner]], Field(description="The day-based data for the allotment block.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostUpdateAllotmentBlockResponse: + """updateAllotmentBlock + + Update an allotment block @apiQuery {Integer} propertyID Property ID + + :param allotment_block_code: The allotment block code identifying the allotment block to update + :type allotment_block_code: str + :param allotment_block_name: The name for the allotment block + :type allotment_block_name: str + :param allow_overbooking: If false, or omitted, then this update will fail if it would result in an overbooking. If true, then the update will succeed even if it results in an overbooking. + :type allow_overbooking: bool + :param allotment_type: The allotment type + :type allotment_type: str + :param allotment_block_status: The status for the allotment block under + :type allotment_block_status: str + :param auto_release: + :type auto_release: PostUpdateAllotmentBlockRequestAutoRelease + :param allotment_intervals: The day-based data for the allotment block. + :type allotment_intervals: List[PostUpdateAllotmentBlockRequestAllotmentIntervalsInner] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_allotment_block_post_serialize( + allotment_block_code=allotment_block_code, + allotment_block_name=allotment_block_name, + allow_overbooking=allow_overbooking, + allotment_type=allotment_type, + allotment_block_status=allotment_block_status, + auto_release=auto_release, + allotment_intervals=allotment_intervals, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostUpdateAllotmentBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_allotment_block_post_with_http_info( + self, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="The allotment block code identifying the allotment block to update")] = None, + allotment_block_name: Annotated[Optional[StrictStr], Field(description="The name for the allotment block")] = None, + allow_overbooking: Annotated[Optional[StrictBool], Field(description="If false, or omitted, then this update will fail if it would result in an overbooking. If true, then the update will succeed even if it results in an overbooking.")] = None, + allotment_type: Annotated[Optional[StrictStr], Field(description="The allotment type")] = None, + allotment_block_status: Annotated[Optional[StrictStr], Field(description="The status for the allotment block under")] = None, + auto_release: Optional[PostUpdateAllotmentBlockRequestAutoRelease] = None, + allotment_intervals: Annotated[Optional[List[PostUpdateAllotmentBlockRequestAllotmentIntervalsInner]], Field(description="The day-based data for the allotment block.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostUpdateAllotmentBlockResponse]: + """updateAllotmentBlock + + Update an allotment block @apiQuery {Integer} propertyID Property ID + + :param allotment_block_code: The allotment block code identifying the allotment block to update + :type allotment_block_code: str + :param allotment_block_name: The name for the allotment block + :type allotment_block_name: str + :param allow_overbooking: If false, or omitted, then this update will fail if it would result in an overbooking. If true, then the update will succeed even if it results in an overbooking. + :type allow_overbooking: bool + :param allotment_type: The allotment type + :type allotment_type: str + :param allotment_block_status: The status for the allotment block under + :type allotment_block_status: str + :param auto_release: + :type auto_release: PostUpdateAllotmentBlockRequestAutoRelease + :param allotment_intervals: The day-based data for the allotment block. + :type allotment_intervals: List[PostUpdateAllotmentBlockRequestAllotmentIntervalsInner] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_allotment_block_post_serialize( + allotment_block_code=allotment_block_code, + allotment_block_name=allotment_block_name, + allow_overbooking=allow_overbooking, + allotment_type=allotment_type, + allotment_block_status=allotment_block_status, + auto_release=auto_release, + allotment_intervals=allotment_intervals, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostUpdateAllotmentBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_allotment_block_post_without_preload_content( + self, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="The allotment block code identifying the allotment block to update")] = None, + allotment_block_name: Annotated[Optional[StrictStr], Field(description="The name for the allotment block")] = None, + allow_overbooking: Annotated[Optional[StrictBool], Field(description="If false, or omitted, then this update will fail if it would result in an overbooking. If true, then the update will succeed even if it results in an overbooking.")] = None, + allotment_type: Annotated[Optional[StrictStr], Field(description="The allotment type")] = None, + allotment_block_status: Annotated[Optional[StrictStr], Field(description="The status for the allotment block under")] = None, + auto_release: Optional[PostUpdateAllotmentBlockRequestAutoRelease] = None, + allotment_intervals: Annotated[Optional[List[PostUpdateAllotmentBlockRequestAllotmentIntervalsInner]], Field(description="The day-based data for the allotment block.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """updateAllotmentBlock + + Update an allotment block @apiQuery {Integer} propertyID Property ID + + :param allotment_block_code: The allotment block code identifying the allotment block to update + :type allotment_block_code: str + :param allotment_block_name: The name for the allotment block + :type allotment_block_name: str + :param allow_overbooking: If false, or omitted, then this update will fail if it would result in an overbooking. If true, then the update will succeed even if it results in an overbooking. + :type allow_overbooking: bool + :param allotment_type: The allotment type + :type allotment_type: str + :param allotment_block_status: The status for the allotment block under + :type allotment_block_status: str + :param auto_release: + :type auto_release: PostUpdateAllotmentBlockRequestAutoRelease + :param allotment_intervals: The day-based data for the allotment block. + :type allotment_intervals: List[PostUpdateAllotmentBlockRequestAllotmentIntervalsInner] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_allotment_block_post_serialize( + allotment_block_code=allotment_block_code, + allotment_block_name=allotment_block_name, + allow_overbooking=allow_overbooking, + allotment_type=allotment_type, + allotment_block_status=allotment_block_status, + auto_release=auto_release, + allotment_intervals=allotment_intervals, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostUpdateAllotmentBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_allotment_block_post_serialize( + self, + allotment_block_code, + allotment_block_name, + allow_overbooking, + allotment_type, + allotment_block_status, + auto_release, + allotment_intervals, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'allotmentIntervals': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if allotment_block_code is not None: + _form_params.append(('allotmentBlockCode', allotment_block_code)) + if allotment_block_name is not None: + _form_params.append(('allotmentBlockName', allotment_block_name)) + if allow_overbooking is not None: + _form_params.append(('allowOverbooking', allow_overbooking)) + if allotment_type is not None: + _form_params.append(('allotmentType', allotment_type)) + if allotment_block_status is not None: + _form_params.append(('allotmentBlockStatus', allotment_block_status)) + if auto_release is not None: + _form_params.append(('autoRelease', auto_release)) + if allotment_intervals is not None: + _form_params.append(('allotmentIntervals', allotment_intervals)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/updateAllotmentBlock', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/app_settings_api.py b/cloudbeds_pms_v1_3/api/app_settings_api.py new file mode 100644 index 0000000..65517b4 --- /dev/null +++ b/cloudbeds_pms_v1_3/api/app_settings_api.py @@ -0,0 +1,1238 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.get_app_property_settings_response import GetAppPropertySettingsResponse +from cloudbeds_pms_v1_3.models.post_app_property_setting_response import PostAppPropertySettingResponse +from cloudbeds_pms_v1_3.models.post_delete_app_property_settings_response import PostDeleteAppPropertySettingsResponse +from cloudbeds_pms_v1_3.models.post_put_app_property_settings_response import PostPutAppPropertySettingsResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class AppSettingsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def delete_app_property_settings_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Key")] = None, + key: Annotated[Optional[StrictStr], Field(description="Key")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostDeleteAppPropertySettingsResponse: + """deleteAppPropertySettings + + + + :param property_id: Key + :type property_id: str + :param key: Key + :type key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_app_property_settings_post_serialize( + property_id=property_id, + key=key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostDeleteAppPropertySettingsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_app_property_settings_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Key")] = None, + key: Annotated[Optional[StrictStr], Field(description="Key")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostDeleteAppPropertySettingsResponse]: + """deleteAppPropertySettings + + + + :param property_id: Key + :type property_id: str + :param key: Key + :type key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_app_property_settings_post_serialize( + property_id=property_id, + key=key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostDeleteAppPropertySettingsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_app_property_settings_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Key")] = None, + key: Annotated[Optional[StrictStr], Field(description="Key")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """deleteAppPropertySettings + + + + :param property_id: Key + :type property_id: str + :param key: Key + :type key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_app_property_settings_post_serialize( + property_id=property_id, + key=key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostDeleteAppPropertySettingsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_app_property_settings_post_serialize( + self, + property_id, + key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if key is not None: + _form_params.append(('key', key)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/deleteAppPropertySettings', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_app_property_settings_get( + self, + property_id: Annotated[StrictStr, Field(description="Property ID")], + key: Annotated[Optional[StrictStr], Field(description="Key")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetAppPropertySettingsResponse: + """getAppPropertySettings + + Returns the app property settings + + :param property_id: Property ID (required) + :type property_id: str + :param key: Key + :type key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_app_property_settings_get_serialize( + property_id=property_id, + key=key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAppPropertySettingsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_app_property_settings_get_with_http_info( + self, + property_id: Annotated[StrictStr, Field(description="Property ID")], + key: Annotated[Optional[StrictStr], Field(description="Key")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetAppPropertySettingsResponse]: + """getAppPropertySettings + + Returns the app property settings + + :param property_id: Property ID (required) + :type property_id: str + :param key: Key + :type key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_app_property_settings_get_serialize( + property_id=property_id, + key=key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAppPropertySettingsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_app_property_settings_get_without_preload_content( + self, + property_id: Annotated[StrictStr, Field(description="Property ID")], + key: Annotated[Optional[StrictStr], Field(description="Key")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getAppPropertySettings + + Returns the app property settings + + :param property_id: Property ID (required) + :type property_id: str + :param key: Key + :type key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_app_property_settings_get_serialize( + property_id=property_id, + key=key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAppPropertySettingsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_app_property_settings_get_serialize( + self, + property_id, + key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if key is not None: + + _query_params.append(('key', key)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getAppPropertySettings', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_app_property_settings_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + app_client_id: Annotated[Optional[StrictStr], Field(description="Application Client ID")] = None, + key: Annotated[Optional[StrictStr], Field(description="Key")] = None, + value: Annotated[Optional[StrictStr], Field(description="Value")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostAppPropertySettingResponse: + """postAppPropertySettings + + + + :param property_id: Property ID + :type property_id: str + :param app_client_id: Application Client ID + :type app_client_id: str + :param key: Key + :type key: str + :param value: Value + :type value: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_app_property_settings_post_serialize( + property_id=property_id, + app_client_id=app_client_id, + key=key, + value=value, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAppPropertySettingResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_app_property_settings_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + app_client_id: Annotated[Optional[StrictStr], Field(description="Application Client ID")] = None, + key: Annotated[Optional[StrictStr], Field(description="Key")] = None, + value: Annotated[Optional[StrictStr], Field(description="Value")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostAppPropertySettingResponse]: + """postAppPropertySettings + + + + :param property_id: Property ID + :type property_id: str + :param app_client_id: Application Client ID + :type app_client_id: str + :param key: Key + :type key: str + :param value: Value + :type value: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_app_property_settings_post_serialize( + property_id=property_id, + app_client_id=app_client_id, + key=key, + value=value, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAppPropertySettingResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_app_property_settings_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + app_client_id: Annotated[Optional[StrictStr], Field(description="Application Client ID")] = None, + key: Annotated[Optional[StrictStr], Field(description="Key")] = None, + value: Annotated[Optional[StrictStr], Field(description="Value")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postAppPropertySettings + + + + :param property_id: Property ID + :type property_id: str + :param app_client_id: Application Client ID + :type app_client_id: str + :param key: Key + :type key: str + :param value: Value + :type value: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_app_property_settings_post_serialize( + property_id=property_id, + app_client_id=app_client_id, + key=key, + value=value, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAppPropertySettingResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_app_property_settings_post_serialize( + self, + property_id, + app_client_id, + key, + value, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if app_client_id is not None: + _form_params.append(('appClientID', app_client_id)) + if key is not None: + _form_params.append(('key', key)) + if value is not None: + _form_params.append(('value', value)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postAppPropertySettings', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def put_app_property_settings_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + key: Annotated[Optional[StrictStr], Field(description="Key")] = None, + value: Annotated[Optional[StrictStr], Field(description="Value")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostPutAppPropertySettingsResponse: + """putAppPropertySettings + + + + :param property_id: Property ID + :type property_id: str + :param key: Key + :type key: str + :param value: Value + :type value: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_app_property_settings_post_serialize( + property_id=property_id, + key=key, + value=value, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPutAppPropertySettingsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def put_app_property_settings_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + key: Annotated[Optional[StrictStr], Field(description="Key")] = None, + value: Annotated[Optional[StrictStr], Field(description="Value")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostPutAppPropertySettingsResponse]: + """putAppPropertySettings + + + + :param property_id: Property ID + :type property_id: str + :param key: Key + :type key: str + :param value: Value + :type value: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_app_property_settings_post_serialize( + property_id=property_id, + key=key, + value=value, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPutAppPropertySettingsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def put_app_property_settings_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + key: Annotated[Optional[StrictStr], Field(description="Key")] = None, + value: Annotated[Optional[StrictStr], Field(description="Value")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """putAppPropertySettings + + + + :param property_id: Property ID + :type property_id: str + :param key: Key + :type key: str + :param value: Value + :type value: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_app_property_settings_post_serialize( + property_id=property_id, + key=key, + value=value, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPutAppPropertySettingsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _put_app_property_settings_post_serialize( + self, + property_id, + key, + value, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if key is not None: + _form_params.append(('key', key)) + if value is not None: + _form_params.append(('value', value)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/putAppPropertySettings', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/authentication_api.py b/cloudbeds_pms_v1_3/api/authentication_api.py new file mode 100644 index 0000000..21df3b9 --- /dev/null +++ b/cloudbeds_pms_v1_3/api/authentication_api.py @@ -0,0 +1,915 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr, field_validator +from typing import Optional +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.get_metadata_response import GetMetadataResponse +from cloudbeds_pms_v1_3.models.get_userinfo_response import GetUserinfoResponse +from cloudbeds_pms_v1_3.models.post_access_token_response import PostAccessTokenResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class AuthenticationApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def access_token_post( + self, + grant_type: Annotated[Optional[StrictStr], Field(description="The OAuth2 grant type.")] = None, + client_id: Annotated[Optional[StrictStr], Field(description="The client identifier. Each client must be provisioned an identifier.")] = None, + client_secret: Annotated[Optional[StrictStr], Field(description="The client secret. Each client must be provisioned a secret.")] = None, + redirect_uri: Annotated[Optional[StrictStr], Field(description="The client pre-configured redirect URI. (Required for grant type 'authorization_code' and 'urn:ietf:params:oauth:grant-type:api-key').")] = None, + code: Annotated[Optional[StrictStr], Field(description="An authorization code provisioned by /oauth (Required for grant type 'authorization_code' and 'urn:ietf:params:oauth:grant-type:api-key').")] = None, + refresh_token: Annotated[Optional[StrictStr], Field(description="A refresh token to renew an access_token (Required for grant type 'refresh_token' only).")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostAccessTokenResponse: + """access_token + + Query the authorization server for an access token used to access property resources.
If the automatic delivery method for API keys is used, the grant type `urn:ietf:params:oauth:grant-type:api-key` needs to be used to request an API key. This grant type requires `grant_type=urn:ietf:params:oauth:grant-type:api-key`, `client_id`, `client_secret`, `redirect_uri` and `code`.
For OAuth 2.0., two different grant types (`authorization_code`, `refresh_token`) are supported. Authorization code grant type requires `grant_type=authorization_code`, `client_id`, `client_secret`, `redirect_uri`, `code`. Refresh token grant type requires `grant_type=refresh_token`, `client_id`, `client_secret`, `refresh_token`.
Read the [Authentication guide](https://integrations.cloudbeds.com/hc/en-us/sections/14731510501915-Authentication) for implementation tips, user flows and testing advice. + + :param grant_type: The OAuth2 grant type. + :type grant_type: str + :param client_id: The client identifier. Each client must be provisioned an identifier. + :type client_id: str + :param client_secret: The client secret. Each client must be provisioned a secret. + :type client_secret: str + :param redirect_uri: The client pre-configured redirect URI. (Required for grant type 'authorization_code' and 'urn:ietf:params:oauth:grant-type:api-key'). + :type redirect_uri: str + :param code: An authorization code provisioned by /oauth (Required for grant type 'authorization_code' and 'urn:ietf:params:oauth:grant-type:api-key'). + :type code: str + :param refresh_token: A refresh token to renew an access_token (Required for grant type 'refresh_token' only). + :type refresh_token: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._access_token_post_serialize( + grant_type=grant_type, + client_id=client_id, + client_secret=client_secret, + redirect_uri=redirect_uri, + code=code, + refresh_token=refresh_token, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAccessTokenResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def access_token_post_with_http_info( + self, + grant_type: Annotated[Optional[StrictStr], Field(description="The OAuth2 grant type.")] = None, + client_id: Annotated[Optional[StrictStr], Field(description="The client identifier. Each client must be provisioned an identifier.")] = None, + client_secret: Annotated[Optional[StrictStr], Field(description="The client secret. Each client must be provisioned a secret.")] = None, + redirect_uri: Annotated[Optional[StrictStr], Field(description="The client pre-configured redirect URI. (Required for grant type 'authorization_code' and 'urn:ietf:params:oauth:grant-type:api-key').")] = None, + code: Annotated[Optional[StrictStr], Field(description="An authorization code provisioned by /oauth (Required for grant type 'authorization_code' and 'urn:ietf:params:oauth:grant-type:api-key').")] = None, + refresh_token: Annotated[Optional[StrictStr], Field(description="A refresh token to renew an access_token (Required for grant type 'refresh_token' only).")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostAccessTokenResponse]: + """access_token + + Query the authorization server for an access token used to access property resources.
If the automatic delivery method for API keys is used, the grant type `urn:ietf:params:oauth:grant-type:api-key` needs to be used to request an API key. This grant type requires `grant_type=urn:ietf:params:oauth:grant-type:api-key`, `client_id`, `client_secret`, `redirect_uri` and `code`.
For OAuth 2.0., two different grant types (`authorization_code`, `refresh_token`) are supported. Authorization code grant type requires `grant_type=authorization_code`, `client_id`, `client_secret`, `redirect_uri`, `code`. Refresh token grant type requires `grant_type=refresh_token`, `client_id`, `client_secret`, `refresh_token`.
Read the [Authentication guide](https://integrations.cloudbeds.com/hc/en-us/sections/14731510501915-Authentication) for implementation tips, user flows and testing advice. + + :param grant_type: The OAuth2 grant type. + :type grant_type: str + :param client_id: The client identifier. Each client must be provisioned an identifier. + :type client_id: str + :param client_secret: The client secret. Each client must be provisioned a secret. + :type client_secret: str + :param redirect_uri: The client pre-configured redirect URI. (Required for grant type 'authorization_code' and 'urn:ietf:params:oauth:grant-type:api-key'). + :type redirect_uri: str + :param code: An authorization code provisioned by /oauth (Required for grant type 'authorization_code' and 'urn:ietf:params:oauth:grant-type:api-key'). + :type code: str + :param refresh_token: A refresh token to renew an access_token (Required for grant type 'refresh_token' only). + :type refresh_token: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._access_token_post_serialize( + grant_type=grant_type, + client_id=client_id, + client_secret=client_secret, + redirect_uri=redirect_uri, + code=code, + refresh_token=refresh_token, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAccessTokenResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def access_token_post_without_preload_content( + self, + grant_type: Annotated[Optional[StrictStr], Field(description="The OAuth2 grant type.")] = None, + client_id: Annotated[Optional[StrictStr], Field(description="The client identifier. Each client must be provisioned an identifier.")] = None, + client_secret: Annotated[Optional[StrictStr], Field(description="The client secret. Each client must be provisioned a secret.")] = None, + redirect_uri: Annotated[Optional[StrictStr], Field(description="The client pre-configured redirect URI. (Required for grant type 'authorization_code' and 'urn:ietf:params:oauth:grant-type:api-key').")] = None, + code: Annotated[Optional[StrictStr], Field(description="An authorization code provisioned by /oauth (Required for grant type 'authorization_code' and 'urn:ietf:params:oauth:grant-type:api-key').")] = None, + refresh_token: Annotated[Optional[StrictStr], Field(description="A refresh token to renew an access_token (Required for grant type 'refresh_token' only).")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """access_token + + Query the authorization server for an access token used to access property resources.
If the automatic delivery method for API keys is used, the grant type `urn:ietf:params:oauth:grant-type:api-key` needs to be used to request an API key. This grant type requires `grant_type=urn:ietf:params:oauth:grant-type:api-key`, `client_id`, `client_secret`, `redirect_uri` and `code`.
For OAuth 2.0., two different grant types (`authorization_code`, `refresh_token`) are supported. Authorization code grant type requires `grant_type=authorization_code`, `client_id`, `client_secret`, `redirect_uri`, `code`. Refresh token grant type requires `grant_type=refresh_token`, `client_id`, `client_secret`, `refresh_token`.
Read the [Authentication guide](https://integrations.cloudbeds.com/hc/en-us/sections/14731510501915-Authentication) for implementation tips, user flows and testing advice. + + :param grant_type: The OAuth2 grant type. + :type grant_type: str + :param client_id: The client identifier. Each client must be provisioned an identifier. + :type client_id: str + :param client_secret: The client secret. Each client must be provisioned a secret. + :type client_secret: str + :param redirect_uri: The client pre-configured redirect URI. (Required for grant type 'authorization_code' and 'urn:ietf:params:oauth:grant-type:api-key'). + :type redirect_uri: str + :param code: An authorization code provisioned by /oauth (Required for grant type 'authorization_code' and 'urn:ietf:params:oauth:grant-type:api-key'). + :type code: str + :param refresh_token: A refresh token to renew an access_token (Required for grant type 'refresh_token' only). + :type refresh_token: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._access_token_post_serialize( + grant_type=grant_type, + client_id=client_id, + client_secret=client_secret, + redirect_uri=redirect_uri, + code=code, + refresh_token=refresh_token, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAccessTokenResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _access_token_post_serialize( + self, + grant_type, + client_id, + client_secret, + redirect_uri, + code, + refresh_token, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if grant_type is not None: + _form_params.append(('grant_type', grant_type)) + if client_id is not None: + _form_params.append(('client_id', client_id)) + if client_secret is not None: + _form_params.append(('client_secret', client_secret)) + if redirect_uri is not None: + _form_params.append(('redirect_uri', redirect_uri)) + if code is not None: + _form_params.append(('code', code)) + if refresh_token is not None: + _form_params.append(('refresh_token', refresh_token)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/access_token', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def oauth_metadata_get( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetMetadataResponse: + """metadata + + In the context of properties being distributed across multiple localizations, this endpoint serves to retrieve the precise location of the property associated with the provided access token. Further information can be found in the [Authentication guide](https://integrations.cloudbeds.com/hc/en-us/sections/14731510501915-Authentication). + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._oauth_metadata_get_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetMetadataResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def oauth_metadata_get_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetMetadataResponse]: + """metadata + + In the context of properties being distributed across multiple localizations, this endpoint serves to retrieve the precise location of the property associated with the provided access token. Further information can be found in the [Authentication guide](https://integrations.cloudbeds.com/hc/en-us/sections/14731510501915-Authentication). + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._oauth_metadata_get_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetMetadataResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def oauth_metadata_get_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """metadata + + In the context of properties being distributed across multiple localizations, this endpoint serves to retrieve the precise location of the property associated with the provided access token. Further information can be found in the [Authentication guide](https://integrations.cloudbeds.com/hc/en-us/sections/14731510501915-Authentication). + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._oauth_metadata_get_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetMetadataResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _oauth_metadata_get_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/oauth/metadata', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def userinfo_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Specify a property ID when using role_details")] = None, + role_details: Annotated[Optional[StrictBool], Field(description="Specify whether to include role and acl details of the user.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetUserinfoResponse: + """userinfo + + Returns information on user who authorized connection + + :param property_id: Specify a property ID when using role_details + :type property_id: str + :param role_details: Specify whether to include role and acl details of the user. + :type role_details: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._userinfo_get_serialize( + property_id=property_id, + role_details=role_details, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserinfoResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def userinfo_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Specify a property ID when using role_details")] = None, + role_details: Annotated[Optional[StrictBool], Field(description="Specify whether to include role and acl details of the user.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetUserinfoResponse]: + """userinfo + + Returns information on user who authorized connection + + :param property_id: Specify a property ID when using role_details + :type property_id: str + :param role_details: Specify whether to include role and acl details of the user. + :type role_details: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._userinfo_get_serialize( + property_id=property_id, + role_details=role_details, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserinfoResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def userinfo_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Specify a property ID when using role_details")] = None, + role_details: Annotated[Optional[StrictBool], Field(description="Specify whether to include role and acl details of the user.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """userinfo + + Returns information on user who authorized connection + + :param property_id: Specify a property ID when using role_details + :type property_id: str + :param role_details: Specify whether to include role and acl details of the user. + :type role_details: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._userinfo_get_serialize( + property_id=property_id, + role_details=role_details, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserinfoResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _userinfo_get_serialize( + self, + property_id, + role_details, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('property_id', property_id)) + + if role_details is not None: + + _query_params.append(('role_details', role_details)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/userinfo', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/currency_api.py b/cloudbeds_pms_v1_3/api/currency_api.py new file mode 100644 index 0000000..22dd9ef --- /dev/null +++ b/cloudbeds_pms_v1_3/api/currency_api.py @@ -0,0 +1,303 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.get_currency_settings_response import GetCurrencySettingsResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class CurrencyApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_currency_settings_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetCurrencySettingsResponse: + """getCurrencySettings + + Get currency settings + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_currency_settings_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetCurrencySettingsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_currency_settings_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetCurrencySettingsResponse]: + """getCurrencySettings + + Get currency settings + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_currency_settings_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetCurrencySettingsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_currency_settings_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getCurrencySettings + + Get currency settings + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_currency_settings_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetCurrencySettingsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_currency_settings_get_serialize( + self, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getCurrencySettings', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/custom_fields_api.py b/cloudbeds_pms_v1_3/api/custom_fields_api.py new file mode 100644 index 0000000..d8176e9 --- /dev/null +++ b/cloudbeds_pms_v1_3/api/custom_fields_api.py @@ -0,0 +1,734 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictInt, StrictStr, field_validator +from typing import List, Optional +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.get_custom_fields_response import GetCustomFieldsResponse +from cloudbeds_pms_v1_3.models.post_custom_field_response import PostCustomFieldResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class CustomFieldsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_custom_fields_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + custom_field_id: Annotated[Optional[StrictStr], Field(description="Field identifier")] = None, + shortcode: Annotated[Optional[StrictStr], Field(description="Internal reference and is used for integration purposes such as custom links and the API")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetCustomFieldsResponse: + """getCustomFields + + Gets custom fields list
¹ data.displayed = \"booking\" - Display this field to guests on the booking engine.
¹ data.displayed = \"reservation\" - Add this field to the reservation folio for use by staff.
¹ data.displayed = \"card\" - Make this field available for registration cards.
+ + :param property_id: Property ID + :type property_id: str + :param custom_field_id: Field identifier + :type custom_field_id: str + :param shortcode: Internal reference and is used for integration purposes such as custom links and the API + :type shortcode: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_custom_fields_get_serialize( + property_id=property_id, + custom_field_id=custom_field_id, + shortcode=shortcode, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetCustomFieldsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_custom_fields_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + custom_field_id: Annotated[Optional[StrictStr], Field(description="Field identifier")] = None, + shortcode: Annotated[Optional[StrictStr], Field(description="Internal reference and is used for integration purposes such as custom links and the API")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetCustomFieldsResponse]: + """getCustomFields + + Gets custom fields list
¹ data.displayed = \"booking\" - Display this field to guests on the booking engine.
¹ data.displayed = \"reservation\" - Add this field to the reservation folio for use by staff.
¹ data.displayed = \"card\" - Make this field available for registration cards.
+ + :param property_id: Property ID + :type property_id: str + :param custom_field_id: Field identifier + :type custom_field_id: str + :param shortcode: Internal reference and is used for integration purposes such as custom links and the API + :type shortcode: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_custom_fields_get_serialize( + property_id=property_id, + custom_field_id=custom_field_id, + shortcode=shortcode, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetCustomFieldsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_custom_fields_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + custom_field_id: Annotated[Optional[StrictStr], Field(description="Field identifier")] = None, + shortcode: Annotated[Optional[StrictStr], Field(description="Internal reference and is used for integration purposes such as custom links and the API")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getCustomFields + + Gets custom fields list
¹ data.displayed = \"booking\" - Display this field to guests on the booking engine.
¹ data.displayed = \"reservation\" - Add this field to the reservation folio for use by staff.
¹ data.displayed = \"card\" - Make this field available for registration cards.
+ + :param property_id: Property ID + :type property_id: str + :param custom_field_id: Field identifier + :type custom_field_id: str + :param shortcode: Internal reference and is used for integration purposes such as custom links and the API + :type shortcode: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_custom_fields_get_serialize( + property_id=property_id, + custom_field_id=custom_field_id, + shortcode=shortcode, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetCustomFieldsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_custom_fields_get_serialize( + self, + property_id, + custom_field_id, + shortcode, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if custom_field_id is not None: + + _query_params.append(('customFieldID', custom_field_id)) + + if shortcode is not None: + + _query_params.append(('shortcode', shortcode)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getCustomFields', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_custom_field_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + name: Annotated[Optional[StrictStr], Field(description="Field name")] = None, + shortcode: Annotated[Optional[StrictStr], Field(description="Internal reference and is used for integration purposes such as custom links and the API")] = None, + apply_to: Annotated[Optional[StrictStr], Field(description="Where put this field in reservation or guest section of the booking. reservation - applies the custom field to reservations in myfrontdesk guest - applies the custom field to guest interface in myfrontdesk")] = None, + required: Annotated[Optional[StrictBool], Field(description="Specify whether this field is required to be filled out.")] = None, + max_characters: Annotated[Optional[StrictInt], Field(description="Maximum number of characters allowed to be entered in this field.")] = None, + type: Annotated[Optional[StrictStr], Field(description="The field's input type.")] = None, + displayed: Annotated[Optional[List[StrictStr]], Field(description="¹ Specify where this custom field to show up. reservation - applies the custom field to reservation interface in myfrontdesk booking - applies the custom field to the booking engine card - applies the custom field to Registration cards")] = None, + is_personal: Annotated[Optional[StrictBool], Field(description="Specifies if the contents of this field may contain personal information. User's personal information may be removed upon request according to GDPR rules.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostCustomFieldResponse: + """postCustomField + + Sets custom fields. The call should only be made once to add the field to the system. + + :param property_id: Property ID + :type property_id: str + :param name: Field name + :type name: str + :param shortcode: Internal reference and is used for integration purposes such as custom links and the API + :type shortcode: str + :param apply_to: Where put this field in reservation or guest section of the booking. reservation - applies the custom field to reservations in myfrontdesk guest - applies the custom field to guest interface in myfrontdesk + :type apply_to: str + :param required: Specify whether this field is required to be filled out. + :type required: bool + :param max_characters: Maximum number of characters allowed to be entered in this field. + :type max_characters: int + :param type: The field's input type. + :type type: str + :param displayed: ¹ Specify where this custom field to show up. reservation - applies the custom field to reservation interface in myfrontdesk booking - applies the custom field to the booking engine card - applies the custom field to Registration cards + :type displayed: List[str] + :param is_personal: Specifies if the contents of this field may contain personal information. User's personal information may be removed upon request according to GDPR rules. + :type is_personal: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_custom_field_post_serialize( + property_id=property_id, + name=name, + shortcode=shortcode, + apply_to=apply_to, + required=required, + max_characters=max_characters, + type=type, + displayed=displayed, + is_personal=is_personal, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCustomFieldResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_custom_field_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + name: Annotated[Optional[StrictStr], Field(description="Field name")] = None, + shortcode: Annotated[Optional[StrictStr], Field(description="Internal reference and is used for integration purposes such as custom links and the API")] = None, + apply_to: Annotated[Optional[StrictStr], Field(description="Where put this field in reservation or guest section of the booking. reservation - applies the custom field to reservations in myfrontdesk guest - applies the custom field to guest interface in myfrontdesk")] = None, + required: Annotated[Optional[StrictBool], Field(description="Specify whether this field is required to be filled out.")] = None, + max_characters: Annotated[Optional[StrictInt], Field(description="Maximum number of characters allowed to be entered in this field.")] = None, + type: Annotated[Optional[StrictStr], Field(description="The field's input type.")] = None, + displayed: Annotated[Optional[List[StrictStr]], Field(description="¹ Specify where this custom field to show up. reservation - applies the custom field to reservation interface in myfrontdesk booking - applies the custom field to the booking engine card - applies the custom field to Registration cards")] = None, + is_personal: Annotated[Optional[StrictBool], Field(description="Specifies if the contents of this field may contain personal information. User's personal information may be removed upon request according to GDPR rules.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostCustomFieldResponse]: + """postCustomField + + Sets custom fields. The call should only be made once to add the field to the system. + + :param property_id: Property ID + :type property_id: str + :param name: Field name + :type name: str + :param shortcode: Internal reference and is used for integration purposes such as custom links and the API + :type shortcode: str + :param apply_to: Where put this field in reservation or guest section of the booking. reservation - applies the custom field to reservations in myfrontdesk guest - applies the custom field to guest interface in myfrontdesk + :type apply_to: str + :param required: Specify whether this field is required to be filled out. + :type required: bool + :param max_characters: Maximum number of characters allowed to be entered in this field. + :type max_characters: int + :param type: The field's input type. + :type type: str + :param displayed: ¹ Specify where this custom field to show up. reservation - applies the custom field to reservation interface in myfrontdesk booking - applies the custom field to the booking engine card - applies the custom field to Registration cards + :type displayed: List[str] + :param is_personal: Specifies if the contents of this field may contain personal information. User's personal information may be removed upon request according to GDPR rules. + :type is_personal: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_custom_field_post_serialize( + property_id=property_id, + name=name, + shortcode=shortcode, + apply_to=apply_to, + required=required, + max_characters=max_characters, + type=type, + displayed=displayed, + is_personal=is_personal, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCustomFieldResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_custom_field_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + name: Annotated[Optional[StrictStr], Field(description="Field name")] = None, + shortcode: Annotated[Optional[StrictStr], Field(description="Internal reference and is used for integration purposes such as custom links and the API")] = None, + apply_to: Annotated[Optional[StrictStr], Field(description="Where put this field in reservation or guest section of the booking. reservation - applies the custom field to reservations in myfrontdesk guest - applies the custom field to guest interface in myfrontdesk")] = None, + required: Annotated[Optional[StrictBool], Field(description="Specify whether this field is required to be filled out.")] = None, + max_characters: Annotated[Optional[StrictInt], Field(description="Maximum number of characters allowed to be entered in this field.")] = None, + type: Annotated[Optional[StrictStr], Field(description="The field's input type.")] = None, + displayed: Annotated[Optional[List[StrictStr]], Field(description="¹ Specify where this custom field to show up. reservation - applies the custom field to reservation interface in myfrontdesk booking - applies the custom field to the booking engine card - applies the custom field to Registration cards")] = None, + is_personal: Annotated[Optional[StrictBool], Field(description="Specifies if the contents of this field may contain personal information. User's personal information may be removed upon request according to GDPR rules.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postCustomField + + Sets custom fields. The call should only be made once to add the field to the system. + + :param property_id: Property ID + :type property_id: str + :param name: Field name + :type name: str + :param shortcode: Internal reference and is used for integration purposes such as custom links and the API + :type shortcode: str + :param apply_to: Where put this field in reservation or guest section of the booking. reservation - applies the custom field to reservations in myfrontdesk guest - applies the custom field to guest interface in myfrontdesk + :type apply_to: str + :param required: Specify whether this field is required to be filled out. + :type required: bool + :param max_characters: Maximum number of characters allowed to be entered in this field. + :type max_characters: int + :param type: The field's input type. + :type type: str + :param displayed: ¹ Specify where this custom field to show up. reservation - applies the custom field to reservation interface in myfrontdesk booking - applies the custom field to the booking engine card - applies the custom field to Registration cards + :type displayed: List[str] + :param is_personal: Specifies if the contents of this field may contain personal information. User's personal information may be removed upon request according to GDPR rules. + :type is_personal: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_custom_field_post_serialize( + property_id=property_id, + name=name, + shortcode=shortcode, + apply_to=apply_to, + required=required, + max_characters=max_characters, + type=type, + displayed=displayed, + is_personal=is_personal, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCustomFieldResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_custom_field_post_serialize( + self, + property_id, + name, + shortcode, + apply_to, + required, + max_characters, + type, + displayed, + is_personal, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'displayed': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if name is not None: + _form_params.append(('name', name)) + if shortcode is not None: + _form_params.append(('shortcode', shortcode)) + if apply_to is not None: + _form_params.append(('applyTo', apply_to)) + if required is not None: + _form_params.append(('required', required)) + if max_characters is not None: + _form_params.append(('maxCharacters', max_characters)) + if type is not None: + _form_params.append(('type', type)) + if displayed is not None: + _form_params.append(('displayed', displayed)) + if is_personal is not None: + _form_params.append(('isPersonal', is_personal)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postCustomField', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/dashboard_api.py b/cloudbeds_pms_v1_3/api/dashboard_api.py new file mode 100644 index 0000000..a8cfe42 --- /dev/null +++ b/cloudbeds_pms_v1_3/api/dashboard_api.py @@ -0,0 +1,330 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from datetime import date +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.get_dashboard_response import GetDashboardResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class DashboardApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_dashboard_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + var_date: Annotated[Optional[date], Field(description="Return data for this date. Format: YYYY-MM-DD")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetDashboardResponse: + """getDashboard + + Returns basic information about the current state of the hotel + + :param property_id: Property ID + :type property_id: str + :param var_date: Return data for this date. Format: YYYY-MM-DD + :type var_date: date + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_dashboard_get_serialize( + property_id=property_id, + var_date=var_date, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDashboardResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_dashboard_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + var_date: Annotated[Optional[date], Field(description="Return data for this date. Format: YYYY-MM-DD")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetDashboardResponse]: + """getDashboard + + Returns basic information about the current state of the hotel + + :param property_id: Property ID + :type property_id: str + :param var_date: Return data for this date. Format: YYYY-MM-DD + :type var_date: date + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_dashboard_get_serialize( + property_id=property_id, + var_date=var_date, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDashboardResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_dashboard_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + var_date: Annotated[Optional[date], Field(description="Return data for this date. Format: YYYY-MM-DD")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getDashboard + + Returns basic information about the current state of the hotel + + :param property_id: Property ID + :type property_id: str + :param var_date: Return data for this date. Format: YYYY-MM-DD + :type var_date: date + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_dashboard_get_serialize( + property_id=property_id, + var_date=var_date, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDashboardResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_dashboard_get_serialize( + self, + property_id, + var_date, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if var_date is not None: + if isinstance(var_date, date): + _query_params.append( + ( + 'date', + var_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('date', var_date)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getDashboard', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/emails_api.py b/cloudbeds_pms_v1_3/api/emails_api.py new file mode 100644 index 0000000..9dc44f7 --- /dev/null +++ b/cloudbeds_pms_v1_3/api/emails_api.py @@ -0,0 +1,1333 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr, field_validator +from typing import Optional +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.get_email_schedule_response import GetEmailScheduleResponse +from cloudbeds_pms_v1_3.models.get_email_templates_response import GetEmailTemplatesResponse +from cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule import PostEmailScheduleRequestSchedule +from cloudbeds_pms_v1_3.models.post_email_schedule_response import PostEmailScheduleResponse +from cloudbeds_pms_v1_3.models.post_email_template_request_body import PostEmailTemplateRequestBody +from cloudbeds_pms_v1_3.models.post_email_template_request_subject import PostEmailTemplateRequestSubject +from cloudbeds_pms_v1_3.models.post_email_template_response import PostEmailTemplateResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class EmailsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_email_schedule_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetEmailScheduleResponse: + """getEmailSchedule + + Returns a list of all existing email scheduling. This call is only available for third-party integration partners, and not for property client IDs. + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_email_schedule_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetEmailScheduleResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_email_schedule_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetEmailScheduleResponse]: + """getEmailSchedule + + Returns a list of all existing email scheduling. This call is only available for third-party integration partners, and not for property client IDs. + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_email_schedule_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetEmailScheduleResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_email_schedule_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getEmailSchedule + + Returns a list of all existing email scheduling. This call is only available for third-party integration partners, and not for property client IDs. + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_email_schedule_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetEmailScheduleResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_email_schedule_get_serialize( + self, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getEmailSchedule', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_email_templates_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetEmailTemplatesResponse: + """getEmailTemplates + + Returns a list of all existing email templates. This call is only available for third-party integration partners, and not for property client IDs. + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_email_templates_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetEmailTemplatesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_email_templates_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetEmailTemplatesResponse]: + """getEmailTemplates + + Returns a list of all existing email templates. This call is only available for third-party integration partners, and not for property client IDs. + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_email_templates_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetEmailTemplatesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_email_templates_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getEmailTemplates + + Returns a list of all existing email templates. This call is only available for third-party integration partners, and not for property client IDs. + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_email_templates_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetEmailTemplatesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_email_templates_get_serialize( + self, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getEmailTemplates', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_email_schedule_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + email_template_id: Annotated[Optional[StrictStr], Field(description="ID of the email template that will be used when sending an email.")] = None, + schedule_name: Annotated[Optional[StrictStr], Field(description="User friendly schedule name that appears in the list. Should contain app name.")] = None, + schedule: Optional[PostEmailScheduleRequestSchedule] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostEmailScheduleResponse: + """postEmailSchedule + + Creates a new email schedule for existing email template. Email template can be scheduled based on two parameters: reservationStatusChange and reservationEvent. Only one of the parameters can be used. *reservationStatusChange* schedules email to be sent when reservation status transitions to a specific one, for instance: `confirmed`. *reservationEvent* schedules email to be sent number of days prior or after a specific event, for instance: `after_check_out` at a given time This call is only available for third-party integration partners, and not for property client IDs. + + :param property_id: Property ID + :type property_id: str + :param email_template_id: ID of the email template that will be used when sending an email. + :type email_template_id: str + :param schedule_name: User friendly schedule name that appears in the list. Should contain app name. + :type schedule_name: str + :param schedule: + :type schedule: PostEmailScheduleRequestSchedule + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_email_schedule_post_serialize( + property_id=property_id, + email_template_id=email_template_id, + schedule_name=schedule_name, + schedule=schedule, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostEmailScheduleResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_email_schedule_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + email_template_id: Annotated[Optional[StrictStr], Field(description="ID of the email template that will be used when sending an email.")] = None, + schedule_name: Annotated[Optional[StrictStr], Field(description="User friendly schedule name that appears in the list. Should contain app name.")] = None, + schedule: Optional[PostEmailScheduleRequestSchedule] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostEmailScheduleResponse]: + """postEmailSchedule + + Creates a new email schedule for existing email template. Email template can be scheduled based on two parameters: reservationStatusChange and reservationEvent. Only one of the parameters can be used. *reservationStatusChange* schedules email to be sent when reservation status transitions to a specific one, for instance: `confirmed`. *reservationEvent* schedules email to be sent number of days prior or after a specific event, for instance: `after_check_out` at a given time This call is only available for third-party integration partners, and not for property client IDs. + + :param property_id: Property ID + :type property_id: str + :param email_template_id: ID of the email template that will be used when sending an email. + :type email_template_id: str + :param schedule_name: User friendly schedule name that appears in the list. Should contain app name. + :type schedule_name: str + :param schedule: + :type schedule: PostEmailScheduleRequestSchedule + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_email_schedule_post_serialize( + property_id=property_id, + email_template_id=email_template_id, + schedule_name=schedule_name, + schedule=schedule, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostEmailScheduleResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_email_schedule_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + email_template_id: Annotated[Optional[StrictStr], Field(description="ID of the email template that will be used when sending an email.")] = None, + schedule_name: Annotated[Optional[StrictStr], Field(description="User friendly schedule name that appears in the list. Should contain app name.")] = None, + schedule: Optional[PostEmailScheduleRequestSchedule] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postEmailSchedule + + Creates a new email schedule for existing email template. Email template can be scheduled based on two parameters: reservationStatusChange and reservationEvent. Only one of the parameters can be used. *reservationStatusChange* schedules email to be sent when reservation status transitions to a specific one, for instance: `confirmed`. *reservationEvent* schedules email to be sent number of days prior or after a specific event, for instance: `after_check_out` at a given time This call is only available for third-party integration partners, and not for property client IDs. + + :param property_id: Property ID + :type property_id: str + :param email_template_id: ID of the email template that will be used when sending an email. + :type email_template_id: str + :param schedule_name: User friendly schedule name that appears in the list. Should contain app name. + :type schedule_name: str + :param schedule: + :type schedule: PostEmailScheduleRequestSchedule + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_email_schedule_post_serialize( + property_id=property_id, + email_template_id=email_template_id, + schedule_name=schedule_name, + schedule=schedule, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostEmailScheduleResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_email_schedule_post_serialize( + self, + property_id, + email_template_id, + schedule_name, + schedule, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if email_template_id is not None: + _form_params.append(('emailTemplateID', email_template_id)) + if schedule_name is not None: + _form_params.append(('scheduleName', schedule_name)) + if schedule is not None: + _form_params.append(('schedule', schedule)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postEmailSchedule', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_email_template_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + email_type: Annotated[Optional[StrictStr], Field(description="Type of the email template: Marketing or Non-Marketing. Only applicable to GDPR-compliant properties.")] = None, + name: Annotated[Optional[StrictStr], Field(description="Template name")] = None, + var_from: Annotated[Optional[StrictStr], Field(description="Email address from which the email message may be sent")] = None, + from_name: Annotated[Optional[StrictStr], Field(description="from which the email message may be sent. If empty email will be used")] = None, + subject: Optional[PostEmailTemplateRequestSubject] = None, + body: Optional[PostEmailTemplateRequestBody] = None, + reply_to: Annotated[Optional[StrictStr], Field(description="Email address to which the email message may be replied. If empty, the value on from parameter will be used.")] = None, + reply_to_name: Annotated[Optional[StrictStr], Field(description="Name to which the email message may be replied. If empty, email will be used.")] = None, + autofill_all_languages: Annotated[Optional[StrictBool], Field(description="If set, all languages will be set with the value for the property language. If not informed and only one language is sent, it's considered true, if more than one language is sent, it'll be considered false.")] = None, + cc: Annotated[Optional[StrictStr], Field(description="Email address to which the email message may be sent as a Carbon Copy")] = None, + bcc: Annotated[Optional[StrictStr], Field(description="Email address to which the email message may be sent as a Blind Carbon Copy")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostEmailTemplateResponse: + """postEmailTemplate + + Creates a new email template. See the full list of available language parameters here. This call is only available for third-party integration partners, and not for property client IDs. + + :param property_id: Property ID + :type property_id: str + :param email_type: Type of the email template: Marketing or Non-Marketing. Only applicable to GDPR-compliant properties. + :type email_type: str + :param name: Template name + :type name: str + :param var_from: Email address from which the email message may be sent + :type var_from: str + :param from_name: from which the email message may be sent. If empty email will be used + :type from_name: str + :param subject: + :type subject: PostEmailTemplateRequestSubject + :param body: + :type body: PostEmailTemplateRequestBody + :param reply_to: Email address to which the email message may be replied. If empty, the value on from parameter will be used. + :type reply_to: str + :param reply_to_name: Name to which the email message may be replied. If empty, email will be used. + :type reply_to_name: str + :param autofill_all_languages: If set, all languages will be set with the value for the property language. If not informed and only one language is sent, it's considered true, if more than one language is sent, it'll be considered false. + :type autofill_all_languages: bool + :param cc: Email address to which the email message may be sent as a Carbon Copy + :type cc: str + :param bcc: Email address to which the email message may be sent as a Blind Carbon Copy + :type bcc: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_email_template_post_serialize( + property_id=property_id, + email_type=email_type, + name=name, + var_from=var_from, + from_name=from_name, + subject=subject, + body=body, + reply_to=reply_to, + reply_to_name=reply_to_name, + autofill_all_languages=autofill_all_languages, + cc=cc, + bcc=bcc, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostEmailTemplateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_email_template_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + email_type: Annotated[Optional[StrictStr], Field(description="Type of the email template: Marketing or Non-Marketing. Only applicable to GDPR-compliant properties.")] = None, + name: Annotated[Optional[StrictStr], Field(description="Template name")] = None, + var_from: Annotated[Optional[StrictStr], Field(description="Email address from which the email message may be sent")] = None, + from_name: Annotated[Optional[StrictStr], Field(description="from which the email message may be sent. If empty email will be used")] = None, + subject: Optional[PostEmailTemplateRequestSubject] = None, + body: Optional[PostEmailTemplateRequestBody] = None, + reply_to: Annotated[Optional[StrictStr], Field(description="Email address to which the email message may be replied. If empty, the value on from parameter will be used.")] = None, + reply_to_name: Annotated[Optional[StrictStr], Field(description="Name to which the email message may be replied. If empty, email will be used.")] = None, + autofill_all_languages: Annotated[Optional[StrictBool], Field(description="If set, all languages will be set with the value for the property language. If not informed and only one language is sent, it's considered true, if more than one language is sent, it'll be considered false.")] = None, + cc: Annotated[Optional[StrictStr], Field(description="Email address to which the email message may be sent as a Carbon Copy")] = None, + bcc: Annotated[Optional[StrictStr], Field(description="Email address to which the email message may be sent as a Blind Carbon Copy")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostEmailTemplateResponse]: + """postEmailTemplate + + Creates a new email template. See the full list of available language parameters here. This call is only available for third-party integration partners, and not for property client IDs. + + :param property_id: Property ID + :type property_id: str + :param email_type: Type of the email template: Marketing or Non-Marketing. Only applicable to GDPR-compliant properties. + :type email_type: str + :param name: Template name + :type name: str + :param var_from: Email address from which the email message may be sent + :type var_from: str + :param from_name: from which the email message may be sent. If empty email will be used + :type from_name: str + :param subject: + :type subject: PostEmailTemplateRequestSubject + :param body: + :type body: PostEmailTemplateRequestBody + :param reply_to: Email address to which the email message may be replied. If empty, the value on from parameter will be used. + :type reply_to: str + :param reply_to_name: Name to which the email message may be replied. If empty, email will be used. + :type reply_to_name: str + :param autofill_all_languages: If set, all languages will be set with the value for the property language. If not informed and only one language is sent, it's considered true, if more than one language is sent, it'll be considered false. + :type autofill_all_languages: bool + :param cc: Email address to which the email message may be sent as a Carbon Copy + :type cc: str + :param bcc: Email address to which the email message may be sent as a Blind Carbon Copy + :type bcc: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_email_template_post_serialize( + property_id=property_id, + email_type=email_type, + name=name, + var_from=var_from, + from_name=from_name, + subject=subject, + body=body, + reply_to=reply_to, + reply_to_name=reply_to_name, + autofill_all_languages=autofill_all_languages, + cc=cc, + bcc=bcc, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostEmailTemplateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_email_template_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + email_type: Annotated[Optional[StrictStr], Field(description="Type of the email template: Marketing or Non-Marketing. Only applicable to GDPR-compliant properties.")] = None, + name: Annotated[Optional[StrictStr], Field(description="Template name")] = None, + var_from: Annotated[Optional[StrictStr], Field(description="Email address from which the email message may be sent")] = None, + from_name: Annotated[Optional[StrictStr], Field(description="from which the email message may be sent. If empty email will be used")] = None, + subject: Optional[PostEmailTemplateRequestSubject] = None, + body: Optional[PostEmailTemplateRequestBody] = None, + reply_to: Annotated[Optional[StrictStr], Field(description="Email address to which the email message may be replied. If empty, the value on from parameter will be used.")] = None, + reply_to_name: Annotated[Optional[StrictStr], Field(description="Name to which the email message may be replied. If empty, email will be used.")] = None, + autofill_all_languages: Annotated[Optional[StrictBool], Field(description="If set, all languages will be set with the value for the property language. If not informed and only one language is sent, it's considered true, if more than one language is sent, it'll be considered false.")] = None, + cc: Annotated[Optional[StrictStr], Field(description="Email address to which the email message may be sent as a Carbon Copy")] = None, + bcc: Annotated[Optional[StrictStr], Field(description="Email address to which the email message may be sent as a Blind Carbon Copy")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postEmailTemplate + + Creates a new email template. See the full list of available language parameters here. This call is only available for third-party integration partners, and not for property client IDs. + + :param property_id: Property ID + :type property_id: str + :param email_type: Type of the email template: Marketing or Non-Marketing. Only applicable to GDPR-compliant properties. + :type email_type: str + :param name: Template name + :type name: str + :param var_from: Email address from which the email message may be sent + :type var_from: str + :param from_name: from which the email message may be sent. If empty email will be used + :type from_name: str + :param subject: + :type subject: PostEmailTemplateRequestSubject + :param body: + :type body: PostEmailTemplateRequestBody + :param reply_to: Email address to which the email message may be replied. If empty, the value on from parameter will be used. + :type reply_to: str + :param reply_to_name: Name to which the email message may be replied. If empty, email will be used. + :type reply_to_name: str + :param autofill_all_languages: If set, all languages will be set with the value for the property language. If not informed and only one language is sent, it's considered true, if more than one language is sent, it'll be considered false. + :type autofill_all_languages: bool + :param cc: Email address to which the email message may be sent as a Carbon Copy + :type cc: str + :param bcc: Email address to which the email message may be sent as a Blind Carbon Copy + :type bcc: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_email_template_post_serialize( + property_id=property_id, + email_type=email_type, + name=name, + var_from=var_from, + from_name=from_name, + subject=subject, + body=body, + reply_to=reply_to, + reply_to_name=reply_to_name, + autofill_all_languages=autofill_all_languages, + cc=cc, + bcc=bcc, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostEmailTemplateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_email_template_post_serialize( + self, + property_id, + email_type, + name, + var_from, + from_name, + subject, + body, + reply_to, + reply_to_name, + autofill_all_languages, + cc, + bcc, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if email_type is not None: + _form_params.append(('emailType', email_type)) + if name is not None: + _form_params.append(('name', name)) + if var_from is not None: + _form_params.append(('from', var_from)) + if from_name is not None: + _form_params.append(('fromName', from_name)) + if subject is not None: + _form_params.append(('subject', subject)) + if body is not None: + _form_params.append(('body', body)) + if reply_to is not None: + _form_params.append(('replyTo', reply_to)) + if reply_to_name is not None: + _form_params.append(('replyToName', reply_to_name)) + if autofill_all_languages is not None: + _form_params.append(('autofillAllLanguages', autofill_all_languages)) + if cc is not None: + _form_params.append(('cc', cc)) + if bcc is not None: + _form_params.append(('bcc', bcc)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postEmailTemplate', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/groups_api.py b/cloudbeds_pms_v1_3/api/groups_api.py new file mode 100644 index 0000000..689f046 --- /dev/null +++ b/cloudbeds_pms_v1_3/api/groups_api.py @@ -0,0 +1,1915 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from datetime import datetime +from pydantic import Field, StrictInt, StrictStr, field_validator +from typing import Optional +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.get_group_notes_response import GetGroupNotesResponse +from cloudbeds_pms_v1_3.models.get_groups_response import GetGroupsResponse +from cloudbeds_pms_v1_3.models.post_group_note_response import PostGroupNoteResponse +from cloudbeds_pms_v1_3.models.post_patch_group_response import PostPatchGroupResponse +from cloudbeds_pms_v1_3.models.post_put_group_response import PostPutGroupResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class GroupsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_group_notes_get( + self, + property_id: Annotated[StrictStr, Field(description="Property ID")], + group_code: Annotated[StrictStr, Field(description="Group code")], + page_size: Annotated[StrictInt, Field(description="Number of groups notes to return per page (min: 1, max: 100)")], + page_number: Annotated[StrictInt, Field(description="Which page in the results to access")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetGroupNotesResponse: + """getGroupNotes + + Returns group notes + + :param property_id: Property ID (required) + :type property_id: str + :param group_code: Group code (required) + :type group_code: str + :param page_size: Number of groups notes to return per page (min: 1, max: 100) (required) + :type page_size: int + :param page_number: Which page in the results to access (required) + :type page_number: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_group_notes_get_serialize( + property_id=property_id, + group_code=group_code, + page_size=page_size, + page_number=page_number, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGroupNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_group_notes_get_with_http_info( + self, + property_id: Annotated[StrictStr, Field(description="Property ID")], + group_code: Annotated[StrictStr, Field(description="Group code")], + page_size: Annotated[StrictInt, Field(description="Number of groups notes to return per page (min: 1, max: 100)")], + page_number: Annotated[StrictInt, Field(description="Which page in the results to access")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetGroupNotesResponse]: + """getGroupNotes + + Returns group notes + + :param property_id: Property ID (required) + :type property_id: str + :param group_code: Group code (required) + :type group_code: str + :param page_size: Number of groups notes to return per page (min: 1, max: 100) (required) + :type page_size: int + :param page_number: Which page in the results to access (required) + :type page_number: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_group_notes_get_serialize( + property_id=property_id, + group_code=group_code, + page_size=page_size, + page_number=page_number, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGroupNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_group_notes_get_without_preload_content( + self, + property_id: Annotated[StrictStr, Field(description="Property ID")], + group_code: Annotated[StrictStr, Field(description="Group code")], + page_size: Annotated[StrictInt, Field(description="Number of groups notes to return per page (min: 1, max: 100)")], + page_number: Annotated[StrictInt, Field(description="Which page in the results to access")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getGroupNotes + + Returns group notes + + :param property_id: Property ID (required) + :type property_id: str + :param group_code: Group code (required) + :type group_code: str + :param page_size: Number of groups notes to return per page (min: 1, max: 100) (required) + :type page_size: int + :param page_number: Which page in the results to access (required) + :type page_number: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_group_notes_get_serialize( + property_id=property_id, + group_code=group_code, + page_size=page_size, + page_number=page_number, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGroupNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_group_notes_get_serialize( + self, + property_id, + group_code, + page_size, + page_number, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if group_code is not None: + + _query_params.append(('groupCode', group_code)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + if page_number is not None: + + _query_params.append(('pageNumber', page_number)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getGroupNotes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_groups_get( + self, + property_id: Annotated[StrictStr, Field(description="Property ID")], + group_code: Annotated[Optional[StrictStr], Field(description="Unique ID for a group")] = None, + type: Annotated[Optional[StrictStr], Field(description="The type of group")] = None, + status: Annotated[Optional[StrictStr], Field(description="Group status")] = None, + created_from: Annotated[Optional[datetime], Field(description="Datetime (lower limit) to be queried")] = None, + created_to: Annotated[Optional[datetime], Field(description="Datetime (upper limit) to be queried")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Number of groups to return per page (min: 1, max: 100)")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Which page in the results to access")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetGroupsResponse: + """getGroups + + Returns the groups for a property + + :param property_id: Property ID (required) + :type property_id: str + :param group_code: Unique ID for a group + :type group_code: str + :param type: The type of group + :type type: str + :param status: Group status + :type status: str + :param created_from: Datetime (lower limit) to be queried + :type created_from: datetime + :param created_to: Datetime (upper limit) to be queried + :type created_to: datetime + :param page_size: Number of groups to return per page (min: 1, max: 100) + :type page_size: int + :param page_number: Which page in the results to access + :type page_number: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_groups_get_serialize( + property_id=property_id, + group_code=group_code, + type=type, + status=status, + created_from=created_from, + created_to=created_to, + page_size=page_size, + page_number=page_number, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGroupsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_groups_get_with_http_info( + self, + property_id: Annotated[StrictStr, Field(description="Property ID")], + group_code: Annotated[Optional[StrictStr], Field(description="Unique ID for a group")] = None, + type: Annotated[Optional[StrictStr], Field(description="The type of group")] = None, + status: Annotated[Optional[StrictStr], Field(description="Group status")] = None, + created_from: Annotated[Optional[datetime], Field(description="Datetime (lower limit) to be queried")] = None, + created_to: Annotated[Optional[datetime], Field(description="Datetime (upper limit) to be queried")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Number of groups to return per page (min: 1, max: 100)")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Which page in the results to access")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetGroupsResponse]: + """getGroups + + Returns the groups for a property + + :param property_id: Property ID (required) + :type property_id: str + :param group_code: Unique ID for a group + :type group_code: str + :param type: The type of group + :type type: str + :param status: Group status + :type status: str + :param created_from: Datetime (lower limit) to be queried + :type created_from: datetime + :param created_to: Datetime (upper limit) to be queried + :type created_to: datetime + :param page_size: Number of groups to return per page (min: 1, max: 100) + :type page_size: int + :param page_number: Which page in the results to access + :type page_number: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_groups_get_serialize( + property_id=property_id, + group_code=group_code, + type=type, + status=status, + created_from=created_from, + created_to=created_to, + page_size=page_size, + page_number=page_number, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGroupsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_groups_get_without_preload_content( + self, + property_id: Annotated[StrictStr, Field(description="Property ID")], + group_code: Annotated[Optional[StrictStr], Field(description="Unique ID for a group")] = None, + type: Annotated[Optional[StrictStr], Field(description="The type of group")] = None, + status: Annotated[Optional[StrictStr], Field(description="Group status")] = None, + created_from: Annotated[Optional[datetime], Field(description="Datetime (lower limit) to be queried")] = None, + created_to: Annotated[Optional[datetime], Field(description="Datetime (upper limit) to be queried")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Number of groups to return per page (min: 1, max: 100)")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Which page in the results to access")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getGroups + + Returns the groups for a property + + :param property_id: Property ID (required) + :type property_id: str + :param group_code: Unique ID for a group + :type group_code: str + :param type: The type of group + :type type: str + :param status: Group status + :type status: str + :param created_from: Datetime (lower limit) to be queried + :type created_from: datetime + :param created_to: Datetime (upper limit) to be queried + :type created_to: datetime + :param page_size: Number of groups to return per page (min: 1, max: 100) + :type page_size: int + :param page_number: Which page in the results to access + :type page_number: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_groups_get_serialize( + property_id=property_id, + group_code=group_code, + type=type, + status=status, + created_from=created_from, + created_to=created_to, + page_size=page_size, + page_number=page_number, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGroupsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_groups_get_serialize( + self, + property_id, + group_code, + type, + status, + created_from, + created_to, + page_size, + page_number, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if group_code is not None: + + _query_params.append(('groupCode', group_code)) + + if type is not None: + + _query_params.append(('type', type)) + + if status is not None: + + _query_params.append(('status', status)) + + if created_from is not None: + if isinstance(created_from, datetime): + _query_params.append( + ( + 'createdFrom', + created_from.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('createdFrom', created_from)) + + if created_to is not None: + if isinstance(created_to, datetime): + _query_params.append( + ( + 'createdTo', + created_to.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('createdTo', created_to)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + if page_number is not None: + + _query_params.append(('pageNumber', page_number)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getGroups', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_group_post( + self, + group_code: Annotated[Optional[StrictStr], Field(description="code for a group")] = None, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + name: Annotated[Optional[StrictStr], Field(description="Name for a group")] = None, + type: Annotated[Optional[StrictStr], Field(description="The type of group")] = None, + status: Annotated[Optional[StrictStr], Field(description="Group status")] = None, + source_id: Annotated[Optional[StrictStr], Field(description="Source ID for a group")] = None, + address1: Annotated[Optional[StrictStr], Field(description="Address line 1 for a group")] = None, + address2: Annotated[Optional[StrictStr], Field(description="Address line 2 for a group")] = None, + city: Annotated[Optional[StrictStr], Field(description="City for a group")] = None, + zip: Annotated[Optional[StrictStr], Field(description="Zip for a group")] = None, + state: Annotated[Optional[StrictStr], Field(description="State for a group")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostPatchGroupResponse: + """patchGroup + + Updates an existing group with information provided. At least one information field is required for this call. + + :param group_code: code for a group + :type group_code: str + :param property_id: Property ID + :type property_id: str + :param name: Name for a group + :type name: str + :param type: The type of group + :type type: str + :param status: Group status + :type status: str + :param source_id: Source ID for a group + :type source_id: str + :param address1: Address line 1 for a group + :type address1: str + :param address2: Address line 2 for a group + :type address2: str + :param city: City for a group + :type city: str + :param zip: Zip for a group + :type zip: str + :param state: State for a group + :type state: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_group_post_serialize( + group_code=group_code, + property_id=property_id, + name=name, + type=type, + status=status, + source_id=source_id, + address1=address1, + address2=address2, + city=city, + zip=zip, + state=state, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPatchGroupResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_group_post_with_http_info( + self, + group_code: Annotated[Optional[StrictStr], Field(description="code for a group")] = None, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + name: Annotated[Optional[StrictStr], Field(description="Name for a group")] = None, + type: Annotated[Optional[StrictStr], Field(description="The type of group")] = None, + status: Annotated[Optional[StrictStr], Field(description="Group status")] = None, + source_id: Annotated[Optional[StrictStr], Field(description="Source ID for a group")] = None, + address1: Annotated[Optional[StrictStr], Field(description="Address line 1 for a group")] = None, + address2: Annotated[Optional[StrictStr], Field(description="Address line 2 for a group")] = None, + city: Annotated[Optional[StrictStr], Field(description="City for a group")] = None, + zip: Annotated[Optional[StrictStr], Field(description="Zip for a group")] = None, + state: Annotated[Optional[StrictStr], Field(description="State for a group")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostPatchGroupResponse]: + """patchGroup + + Updates an existing group with information provided. At least one information field is required for this call. + + :param group_code: code for a group + :type group_code: str + :param property_id: Property ID + :type property_id: str + :param name: Name for a group + :type name: str + :param type: The type of group + :type type: str + :param status: Group status + :type status: str + :param source_id: Source ID for a group + :type source_id: str + :param address1: Address line 1 for a group + :type address1: str + :param address2: Address line 2 for a group + :type address2: str + :param city: City for a group + :type city: str + :param zip: Zip for a group + :type zip: str + :param state: State for a group + :type state: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_group_post_serialize( + group_code=group_code, + property_id=property_id, + name=name, + type=type, + status=status, + source_id=source_id, + address1=address1, + address2=address2, + city=city, + zip=zip, + state=state, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPatchGroupResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_group_post_without_preload_content( + self, + group_code: Annotated[Optional[StrictStr], Field(description="code for a group")] = None, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + name: Annotated[Optional[StrictStr], Field(description="Name for a group")] = None, + type: Annotated[Optional[StrictStr], Field(description="The type of group")] = None, + status: Annotated[Optional[StrictStr], Field(description="Group status")] = None, + source_id: Annotated[Optional[StrictStr], Field(description="Source ID for a group")] = None, + address1: Annotated[Optional[StrictStr], Field(description="Address line 1 for a group")] = None, + address2: Annotated[Optional[StrictStr], Field(description="Address line 2 for a group")] = None, + city: Annotated[Optional[StrictStr], Field(description="City for a group")] = None, + zip: Annotated[Optional[StrictStr], Field(description="Zip for a group")] = None, + state: Annotated[Optional[StrictStr], Field(description="State for a group")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """patchGroup + + Updates an existing group with information provided. At least one information field is required for this call. + + :param group_code: code for a group + :type group_code: str + :param property_id: Property ID + :type property_id: str + :param name: Name for a group + :type name: str + :param type: The type of group + :type type: str + :param status: Group status + :type status: str + :param source_id: Source ID for a group + :type source_id: str + :param address1: Address line 1 for a group + :type address1: str + :param address2: Address line 2 for a group + :type address2: str + :param city: City for a group + :type city: str + :param zip: Zip for a group + :type zip: str + :param state: State for a group + :type state: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_group_post_serialize( + group_code=group_code, + property_id=property_id, + name=name, + type=type, + status=status, + source_id=source_id, + address1=address1, + address2=address2, + city=city, + zip=zip, + state=state, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPatchGroupResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_group_post_serialize( + self, + group_code, + property_id, + name, + type, + status, + source_id, + address1, + address2, + city, + zip, + state, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if group_code is not None: + _form_params.append(('groupCode', group_code)) + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if name is not None: + _form_params.append(('name', name)) + if type is not None: + _form_params.append(('type', type)) + if status is not None: + _form_params.append(('status', status)) + if source_id is not None: + _form_params.append(('sourceID', source_id)) + if address1 is not None: + _form_params.append(('address1', address1)) + if address2 is not None: + _form_params.append(('address2', address2)) + if city is not None: + _form_params.append(('city', city)) + if zip is not None: + _form_params.append(('zip', zip)) + if state is not None: + _form_params.append(('state', state)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/patchGroup', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_group_note_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Group code")] = None, + group_note: Annotated[Optional[StrictStr], Field(description="Group note")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostGroupNoteResponse: + """postGroupNote + + Adds a group note + + :param property_id: Property ID + :type property_id: str + :param group_code: Group code + :type group_code: str + :param group_note: Group note + :type group_note: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_group_note_post_serialize( + property_id=property_id, + group_code=group_code, + group_note=group_note, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGroupNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_group_note_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Group code")] = None, + group_note: Annotated[Optional[StrictStr], Field(description="Group note")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostGroupNoteResponse]: + """postGroupNote + + Adds a group note + + :param property_id: Property ID + :type property_id: str + :param group_code: Group code + :type group_code: str + :param group_note: Group note + :type group_note: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_group_note_post_serialize( + property_id=property_id, + group_code=group_code, + group_note=group_note, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGroupNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_group_note_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Group code")] = None, + group_note: Annotated[Optional[StrictStr], Field(description="Group note")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postGroupNote + + Adds a group note + + :param property_id: Property ID + :type property_id: str + :param group_code: Group code + :type group_code: str + :param group_note: Group note + :type group_note: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_group_note_post_serialize( + property_id=property_id, + group_code=group_code, + group_note=group_note, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGroupNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_group_note_post_serialize( + self, + property_id, + group_code, + group_note, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if group_code is not None: + _form_params.append(('groupCode', group_code)) + if group_note is not None: + _form_params.append(('groupNote', group_note)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postGroupNote', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def put_group_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + name: Annotated[Optional[StrictStr], Field(description="Name for a group")] = None, + type: Annotated[Optional[StrictStr], Field(description="The type of group")] = None, + status: Annotated[Optional[StrictStr], Field(description="Group status")] = None, + commission_type: Annotated[Optional[StrictStr], Field(description="Commission Type")] = None, + source_id: Annotated[Optional[StrictStr], Field(description="Source ID for a group")] = None, + address1: Annotated[Optional[StrictStr], Field(description="Address line 1 for a group")] = None, + address2: Annotated[Optional[StrictStr], Field(description="Address line 2 for a group")] = None, + city: Annotated[Optional[StrictStr], Field(description="City for a group")] = None, + zip: Annotated[Optional[StrictStr], Field(description="Zip for a group")] = None, + state: Annotated[Optional[StrictStr], Field(description="State for a group")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostPutGroupResponse: + """putGroup + + Adds a group to the property. Please note that the default setting for 'Route to Group Folio' will be 'No,' and the 'Reservation Folio Configuration' will be set as the default folio configuration. You can edit these settings through the user interface (UI). + + :param property_id: Property ID + :type property_id: str + :param name: Name for a group + :type name: str + :param type: The type of group + :type type: str + :param status: Group status + :type status: str + :param commission_type: Commission Type + :type commission_type: str + :param source_id: Source ID for a group + :type source_id: str + :param address1: Address line 1 for a group + :type address1: str + :param address2: Address line 2 for a group + :type address2: str + :param city: City for a group + :type city: str + :param zip: Zip for a group + :type zip: str + :param state: State for a group + :type state: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_group_post_serialize( + property_id=property_id, + name=name, + type=type, + status=status, + commission_type=commission_type, + source_id=source_id, + address1=address1, + address2=address2, + city=city, + zip=zip, + state=state, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPutGroupResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def put_group_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + name: Annotated[Optional[StrictStr], Field(description="Name for a group")] = None, + type: Annotated[Optional[StrictStr], Field(description="The type of group")] = None, + status: Annotated[Optional[StrictStr], Field(description="Group status")] = None, + commission_type: Annotated[Optional[StrictStr], Field(description="Commission Type")] = None, + source_id: Annotated[Optional[StrictStr], Field(description="Source ID for a group")] = None, + address1: Annotated[Optional[StrictStr], Field(description="Address line 1 for a group")] = None, + address2: Annotated[Optional[StrictStr], Field(description="Address line 2 for a group")] = None, + city: Annotated[Optional[StrictStr], Field(description="City for a group")] = None, + zip: Annotated[Optional[StrictStr], Field(description="Zip for a group")] = None, + state: Annotated[Optional[StrictStr], Field(description="State for a group")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostPutGroupResponse]: + """putGroup + + Adds a group to the property. Please note that the default setting for 'Route to Group Folio' will be 'No,' and the 'Reservation Folio Configuration' will be set as the default folio configuration. You can edit these settings through the user interface (UI). + + :param property_id: Property ID + :type property_id: str + :param name: Name for a group + :type name: str + :param type: The type of group + :type type: str + :param status: Group status + :type status: str + :param commission_type: Commission Type + :type commission_type: str + :param source_id: Source ID for a group + :type source_id: str + :param address1: Address line 1 for a group + :type address1: str + :param address2: Address line 2 for a group + :type address2: str + :param city: City for a group + :type city: str + :param zip: Zip for a group + :type zip: str + :param state: State for a group + :type state: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_group_post_serialize( + property_id=property_id, + name=name, + type=type, + status=status, + commission_type=commission_type, + source_id=source_id, + address1=address1, + address2=address2, + city=city, + zip=zip, + state=state, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPutGroupResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def put_group_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + name: Annotated[Optional[StrictStr], Field(description="Name for a group")] = None, + type: Annotated[Optional[StrictStr], Field(description="The type of group")] = None, + status: Annotated[Optional[StrictStr], Field(description="Group status")] = None, + commission_type: Annotated[Optional[StrictStr], Field(description="Commission Type")] = None, + source_id: Annotated[Optional[StrictStr], Field(description="Source ID for a group")] = None, + address1: Annotated[Optional[StrictStr], Field(description="Address line 1 for a group")] = None, + address2: Annotated[Optional[StrictStr], Field(description="Address line 2 for a group")] = None, + city: Annotated[Optional[StrictStr], Field(description="City for a group")] = None, + zip: Annotated[Optional[StrictStr], Field(description="Zip for a group")] = None, + state: Annotated[Optional[StrictStr], Field(description="State for a group")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """putGroup + + Adds a group to the property. Please note that the default setting for 'Route to Group Folio' will be 'No,' and the 'Reservation Folio Configuration' will be set as the default folio configuration. You can edit these settings through the user interface (UI). + + :param property_id: Property ID + :type property_id: str + :param name: Name for a group + :type name: str + :param type: The type of group + :type type: str + :param status: Group status + :type status: str + :param commission_type: Commission Type + :type commission_type: str + :param source_id: Source ID for a group + :type source_id: str + :param address1: Address line 1 for a group + :type address1: str + :param address2: Address line 2 for a group + :type address2: str + :param city: City for a group + :type city: str + :param zip: Zip for a group + :type zip: str + :param state: State for a group + :type state: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_group_post_serialize( + property_id=property_id, + name=name, + type=type, + status=status, + commission_type=commission_type, + source_id=source_id, + address1=address1, + address2=address2, + city=city, + zip=zip, + state=state, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPutGroupResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _put_group_post_serialize( + self, + property_id, + name, + type, + status, + commission_type, + source_id, + address1, + address2, + city, + zip, + state, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if name is not None: + _form_params.append(('name', name)) + if type is not None: + _form_params.append(('type', type)) + if status is not None: + _form_params.append(('status', status)) + if commission_type is not None: + _form_params.append(('commissionType', commission_type)) + if source_id is not None: + _form_params.append(('sourceID', source_id)) + if address1 is not None: + _form_params.append(('address1', address1)) + if address2 is not None: + _form_params.append(('address2', address2)) + if city is not None: + _form_params.append(('city', city)) + if zip is not None: + _form_params.append(('zip', zip)) + if state is not None: + _form_params.append(('state', state)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/putGroup', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/guest_api.py b/cloudbeds_pms_v1_3/api/guest_api.py new file mode 100644 index 0000000..d0223cc --- /dev/null +++ b/cloudbeds_pms_v1_3/api/guest_api.py @@ -0,0 +1,5768 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from datetime import date, datetime +from pydantic import Field, StrictBool, StrictBytes, StrictInt, StrictStr, field_validator +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.delete_guest_note_response import DeleteGuestNoteResponse +from cloudbeds_pms_v1_3.models.get_guest_list_response import GetGuestListResponse +from cloudbeds_pms_v1_3.models.get_guest_notes_response import GetGuestNotesResponse +from cloudbeds_pms_v1_3.models.get_guest_response import GetGuestResponse +from cloudbeds_pms_v1_3.models.get_guests_by_filter_response import GetGuestsByFilterResponse +from cloudbeds_pms_v1_3.models.get_guests_by_status_response import GetGuestsByStatusResponse +from cloudbeds_pms_v1_3.models.get_guests_modified_response import GetGuestsModifiedResponse +from cloudbeds_pms_v1_3.models.post_guest_document_response import PostGuestDocumentResponse +from cloudbeds_pms_v1_3.models.post_guest_note_response import PostGuestNoteResponse +from cloudbeds_pms_v1_3.models.post_guest_photo_response import PostGuestPhotoResponse +from cloudbeds_pms_v1_3.models.post_guest_request_custom_fields_inner import PostGuestRequestCustomFieldsInner +from cloudbeds_pms_v1_3.models.post_guest_response import PostGuestResponse +from cloudbeds_pms_v1_3.models.post_guests_to_room_response import PostGuestsToRoomResponse +from cloudbeds_pms_v1_3.models.put_guest_note_response import PutGuestNoteResponse +from cloudbeds_pms_v1_3.models.put_guest_request_guest_custom_fields_inner import PutGuestRequestGuestCustomFieldsInner +from cloudbeds_pms_v1_3.models.put_guest_response import PutGuestResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class GuestApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def delete_guest_note_delete( + self, + guest_id: Annotated[StrictStr, Field(description="Guest ID")], + note_id: Annotated[StrictStr, Field(description="Note ID")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DeleteGuestNoteResponse: + """deleteGuestNote + + Archives an existing guest note. + + :param guest_id: Guest ID (required) + :type guest_id: str + :param note_id: Note ID (required) + :type note_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_guest_note_delete_serialize( + guest_id=guest_id, + note_id=note_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteGuestNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_guest_note_delete_with_http_info( + self, + guest_id: Annotated[StrictStr, Field(description="Guest ID")], + note_id: Annotated[StrictStr, Field(description="Note ID")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DeleteGuestNoteResponse]: + """deleteGuestNote + + Archives an existing guest note. + + :param guest_id: Guest ID (required) + :type guest_id: str + :param note_id: Note ID (required) + :type note_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_guest_note_delete_serialize( + guest_id=guest_id, + note_id=note_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteGuestNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_guest_note_delete_without_preload_content( + self, + guest_id: Annotated[StrictStr, Field(description="Guest ID")], + note_id: Annotated[StrictStr, Field(description="Note ID")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """deleteGuestNote + + Archives an existing guest note. + + :param guest_id: Guest ID (required) + :type guest_id: str + :param note_id: Note ID (required) + :type note_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_guest_note_delete_serialize( + guest_id=guest_id, + note_id=note_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteGuestNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_guest_note_delete_serialize( + self, + guest_id, + note_id, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if guest_id is not None: + + _query_params.append(('guestID', guest_id)) + + if note_id is not None: + + _query_params.append(('noteID', note_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/deleteGuestNote', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_guest_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation Unique Identifier. Required if no guestID is provided.")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest ID. Required if no reservationID is provided.")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetGuestResponse: + """getGuest + + Returns information on a guest specified by the Reservation ID parameter + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation Unique Identifier. Required if no guestID is provided. + :type reservation_id: str + :param guest_id: Guest ID. Required if no reservationID is provided. + :type guest_id: str + :param include_guest_requirements: Includes guest requirements data in the response + :type include_guest_requirements: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guest_get_serialize( + property_id=property_id, + reservation_id=reservation_id, + guest_id=guest_id, + include_guest_requirements=include_guest_requirements, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_guest_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation Unique Identifier. Required if no guestID is provided.")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest ID. Required if no reservationID is provided.")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetGuestResponse]: + """getGuest + + Returns information on a guest specified by the Reservation ID parameter + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation Unique Identifier. Required if no guestID is provided. + :type reservation_id: str + :param guest_id: Guest ID. Required if no reservationID is provided. + :type guest_id: str + :param include_guest_requirements: Includes guest requirements data in the response + :type include_guest_requirements: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guest_get_serialize( + property_id=property_id, + reservation_id=reservation_id, + guest_id=guest_id, + include_guest_requirements=include_guest_requirements, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_guest_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation Unique Identifier. Required if no guestID is provided.")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest ID. Required if no reservationID is provided.")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getGuest + + Returns information on a guest specified by the Reservation ID parameter + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation Unique Identifier. Required if no guestID is provided. + :type reservation_id: str + :param guest_id: Guest ID. Required if no reservationID is provided. + :type guest_id: str + :param include_guest_requirements: Includes guest requirements data in the response + :type include_guest_requirements: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guest_get_serialize( + property_id=property_id, + reservation_id=reservation_id, + guest_id=guest_id, + include_guest_requirements=include_guest_requirements, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_guest_get_serialize( + self, + property_id, + reservation_id, + guest_id, + include_guest_requirements, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if reservation_id is not None: + + _query_params.append(('reservationID', reservation_id)) + + if guest_id is not None: + + _query_params.append(('guestID', guest_id)) + + if include_guest_requirements is not None: + + _query_params.append(('includeGuestRequirements', include_guest_requirements)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getGuest', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_guest_list_get( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + results_from: Annotated[Optional[datetime], Field(description="Inferior limit datetime, used to filter guests result, based on latest creation/modification date")] = None, + results_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter guests result, based on latest creation/modification date")] = None, + check_in_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range starting on this date")] = None, + check_in_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range ending on this date")] = None, + check_out_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range starting on this date")] = None, + check_out_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range ending on this date")] = None, + guest_first_name: Annotated[Optional[StrictStr], Field(description="Filters guests result based on Guest First Name")] = None, + guest_last_name: Annotated[Optional[StrictStr], Field(description="Filters guests result based on Guest Last Name")] = None, + guest_email: Annotated[Optional[StrictStr], Field(description="Filters guests result based on Guest Email")] = None, + guest_phone: Annotated[Optional[StrictStr], Field(description="Filters guests result based on Guest Phone Number")] = None, + guest_cell_phone: Annotated[Optional[StrictStr], Field(description="Filters guests result based on Guest Cell Phone Number")] = None, + status: Annotated[Optional[StrictStr], Field(description="Reservation status
If more than one, send as comma-separated values. i.e. in_progress,confirmed")] = None, + sort_by: Annotated[Optional[StrictStr], Field(description="Sort By parameter")] = None, + include_guest_info: Annotated[Optional[StrictBool], Field(description="If API response should return with more of Guest's information")] = None, + exclude_secondary_guests: Annotated[Optional[StrictBool], Field(description="If true, response only returns main guest's")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetGuestListResponse: + """getGuestList + + Returns a list of guests, ordered by modification date ### Group account support + + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param results_from: Inferior limit datetime, used to filter guests result, based on latest creation/modification date + :type results_from: datetime + :param results_to: Superior limit datetime, used to filter guests result, based on latest creation/modification date + :type results_to: datetime + :param check_in_from: Filters guests result to return only guests with check-in date range starting on this date + :type check_in_from: date + :param check_in_to: Filters guests result to return only guests with check-in date range ending on this date + :type check_in_to: date + :param check_out_from: Filters guests result to return only guests with check-out date range starting on this date + :type check_out_from: date + :param check_out_to: Filters guests result to return only guests with check-out date range ending on this date + :type check_out_to: date + :param guest_first_name: Filters guests result based on Guest First Name + :type guest_first_name: str + :param guest_last_name: Filters guests result based on Guest Last Name + :type guest_last_name: str + :param guest_email: Filters guests result based on Guest Email + :type guest_email: str + :param guest_phone: Filters guests result based on Guest Phone Number + :type guest_phone: str + :param guest_cell_phone: Filters guests result based on Guest Cell Phone Number + :type guest_cell_phone: str + :param status: Reservation status
If more than one, send as comma-separated values. i.e. in_progress,confirmed + :type status: str + :param sort_by: Sort By parameter + :type sort_by: str + :param include_guest_info: If API response should return with more of Guest's information + :type include_guest_info: bool + :param exclude_secondary_guests: If true, response only returns main guest's + :type exclude_secondary_guests: bool + :param include_guest_requirements: Includes guest requirements data in the response + :type include_guest_requirements: bool + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guest_list_get_serialize( + property_ids=property_ids, + results_from=results_from, + results_to=results_to, + check_in_from=check_in_from, + check_in_to=check_in_to, + check_out_from=check_out_from, + check_out_to=check_out_to, + guest_first_name=guest_first_name, + guest_last_name=guest_last_name, + guest_email=guest_email, + guest_phone=guest_phone, + guest_cell_phone=guest_cell_phone, + status=status, + sort_by=sort_by, + include_guest_info=include_guest_info, + exclude_secondary_guests=exclude_secondary_guests, + include_guest_requirements=include_guest_requirements, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestListResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_guest_list_get_with_http_info( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + results_from: Annotated[Optional[datetime], Field(description="Inferior limit datetime, used to filter guests result, based on latest creation/modification date")] = None, + results_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter guests result, based on latest creation/modification date")] = None, + check_in_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range starting on this date")] = None, + check_in_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range ending on this date")] = None, + check_out_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range starting on this date")] = None, + check_out_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range ending on this date")] = None, + guest_first_name: Annotated[Optional[StrictStr], Field(description="Filters guests result based on Guest First Name")] = None, + guest_last_name: Annotated[Optional[StrictStr], Field(description="Filters guests result based on Guest Last Name")] = None, + guest_email: Annotated[Optional[StrictStr], Field(description="Filters guests result based on Guest Email")] = None, + guest_phone: Annotated[Optional[StrictStr], Field(description="Filters guests result based on Guest Phone Number")] = None, + guest_cell_phone: Annotated[Optional[StrictStr], Field(description="Filters guests result based on Guest Cell Phone Number")] = None, + status: Annotated[Optional[StrictStr], Field(description="Reservation status
If more than one, send as comma-separated values. i.e. in_progress,confirmed")] = None, + sort_by: Annotated[Optional[StrictStr], Field(description="Sort By parameter")] = None, + include_guest_info: Annotated[Optional[StrictBool], Field(description="If API response should return with more of Guest's information")] = None, + exclude_secondary_guests: Annotated[Optional[StrictBool], Field(description="If true, response only returns main guest's")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetGuestListResponse]: + """getGuestList + + Returns a list of guests, ordered by modification date ### Group account support + + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param results_from: Inferior limit datetime, used to filter guests result, based on latest creation/modification date + :type results_from: datetime + :param results_to: Superior limit datetime, used to filter guests result, based on latest creation/modification date + :type results_to: datetime + :param check_in_from: Filters guests result to return only guests with check-in date range starting on this date + :type check_in_from: date + :param check_in_to: Filters guests result to return only guests with check-in date range ending on this date + :type check_in_to: date + :param check_out_from: Filters guests result to return only guests with check-out date range starting on this date + :type check_out_from: date + :param check_out_to: Filters guests result to return only guests with check-out date range ending on this date + :type check_out_to: date + :param guest_first_name: Filters guests result based on Guest First Name + :type guest_first_name: str + :param guest_last_name: Filters guests result based on Guest Last Name + :type guest_last_name: str + :param guest_email: Filters guests result based on Guest Email + :type guest_email: str + :param guest_phone: Filters guests result based on Guest Phone Number + :type guest_phone: str + :param guest_cell_phone: Filters guests result based on Guest Cell Phone Number + :type guest_cell_phone: str + :param status: Reservation status
If more than one, send as comma-separated values. i.e. in_progress,confirmed + :type status: str + :param sort_by: Sort By parameter + :type sort_by: str + :param include_guest_info: If API response should return with more of Guest's information + :type include_guest_info: bool + :param exclude_secondary_guests: If true, response only returns main guest's + :type exclude_secondary_guests: bool + :param include_guest_requirements: Includes guest requirements data in the response + :type include_guest_requirements: bool + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guest_list_get_serialize( + property_ids=property_ids, + results_from=results_from, + results_to=results_to, + check_in_from=check_in_from, + check_in_to=check_in_to, + check_out_from=check_out_from, + check_out_to=check_out_to, + guest_first_name=guest_first_name, + guest_last_name=guest_last_name, + guest_email=guest_email, + guest_phone=guest_phone, + guest_cell_phone=guest_cell_phone, + status=status, + sort_by=sort_by, + include_guest_info=include_guest_info, + exclude_secondary_guests=exclude_secondary_guests, + include_guest_requirements=include_guest_requirements, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestListResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_guest_list_get_without_preload_content( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + results_from: Annotated[Optional[datetime], Field(description="Inferior limit datetime, used to filter guests result, based on latest creation/modification date")] = None, + results_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter guests result, based on latest creation/modification date")] = None, + check_in_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range starting on this date")] = None, + check_in_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range ending on this date")] = None, + check_out_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range starting on this date")] = None, + check_out_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range ending on this date")] = None, + guest_first_name: Annotated[Optional[StrictStr], Field(description="Filters guests result based on Guest First Name")] = None, + guest_last_name: Annotated[Optional[StrictStr], Field(description="Filters guests result based on Guest Last Name")] = None, + guest_email: Annotated[Optional[StrictStr], Field(description="Filters guests result based on Guest Email")] = None, + guest_phone: Annotated[Optional[StrictStr], Field(description="Filters guests result based on Guest Phone Number")] = None, + guest_cell_phone: Annotated[Optional[StrictStr], Field(description="Filters guests result based on Guest Cell Phone Number")] = None, + status: Annotated[Optional[StrictStr], Field(description="Reservation status
If more than one, send as comma-separated values. i.e. in_progress,confirmed")] = None, + sort_by: Annotated[Optional[StrictStr], Field(description="Sort By parameter")] = None, + include_guest_info: Annotated[Optional[StrictBool], Field(description="If API response should return with more of Guest's information")] = None, + exclude_secondary_guests: Annotated[Optional[StrictBool], Field(description="If true, response only returns main guest's")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getGuestList + + Returns a list of guests, ordered by modification date ### Group account support + + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param results_from: Inferior limit datetime, used to filter guests result, based on latest creation/modification date + :type results_from: datetime + :param results_to: Superior limit datetime, used to filter guests result, based on latest creation/modification date + :type results_to: datetime + :param check_in_from: Filters guests result to return only guests with check-in date range starting on this date + :type check_in_from: date + :param check_in_to: Filters guests result to return only guests with check-in date range ending on this date + :type check_in_to: date + :param check_out_from: Filters guests result to return only guests with check-out date range starting on this date + :type check_out_from: date + :param check_out_to: Filters guests result to return only guests with check-out date range ending on this date + :type check_out_to: date + :param guest_first_name: Filters guests result based on Guest First Name + :type guest_first_name: str + :param guest_last_name: Filters guests result based on Guest Last Name + :type guest_last_name: str + :param guest_email: Filters guests result based on Guest Email + :type guest_email: str + :param guest_phone: Filters guests result based on Guest Phone Number + :type guest_phone: str + :param guest_cell_phone: Filters guests result based on Guest Cell Phone Number + :type guest_cell_phone: str + :param status: Reservation status
If more than one, send as comma-separated values. i.e. in_progress,confirmed + :type status: str + :param sort_by: Sort By parameter + :type sort_by: str + :param include_guest_info: If API response should return with more of Guest's information + :type include_guest_info: bool + :param exclude_secondary_guests: If true, response only returns main guest's + :type exclude_secondary_guests: bool + :param include_guest_requirements: Includes guest requirements data in the response + :type include_guest_requirements: bool + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guest_list_get_serialize( + property_ids=property_ids, + results_from=results_from, + results_to=results_to, + check_in_from=check_in_from, + check_in_to=check_in_to, + check_out_from=check_out_from, + check_out_to=check_out_to, + guest_first_name=guest_first_name, + guest_last_name=guest_last_name, + guest_email=guest_email, + guest_phone=guest_phone, + guest_cell_phone=guest_cell_phone, + status=status, + sort_by=sort_by, + include_guest_info=include_guest_info, + exclude_secondary_guests=exclude_secondary_guests, + include_guest_requirements=include_guest_requirements, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestListResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_guest_list_get_serialize( + self, + property_ids, + results_from, + results_to, + check_in_from, + check_in_to, + check_out_from, + check_out_to, + guest_first_name, + guest_last_name, + guest_email, + guest_phone, + guest_cell_phone, + status, + sort_by, + include_guest_info, + exclude_secondary_guests, + include_guest_requirements, + page_number, + page_size, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_ids is not None: + + _query_params.append(('propertyIDs', property_ids)) + + if results_from is not None: + if isinstance(results_from, datetime): + _query_params.append( + ( + 'resultsFrom', + results_from.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('resultsFrom', results_from)) + + if results_to is not None: + if isinstance(results_to, datetime): + _query_params.append( + ( + 'resultsTo', + results_to.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('resultsTo', results_to)) + + if check_in_from is not None: + if isinstance(check_in_from, date): + _query_params.append( + ( + 'checkInFrom', + check_in_from.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('checkInFrom', check_in_from)) + + if check_in_to is not None: + if isinstance(check_in_to, date): + _query_params.append( + ( + 'checkInTo', + check_in_to.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('checkInTo', check_in_to)) + + if check_out_from is not None: + if isinstance(check_out_from, date): + _query_params.append( + ( + 'checkOutFrom', + check_out_from.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('checkOutFrom', check_out_from)) + + if check_out_to is not None: + if isinstance(check_out_to, date): + _query_params.append( + ( + 'checkOutTo', + check_out_to.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('checkOutTo', check_out_to)) + + if guest_first_name is not None: + + _query_params.append(('guestFirstName', guest_first_name)) + + if guest_last_name is not None: + + _query_params.append(('guestLastName', guest_last_name)) + + if guest_email is not None: + + _query_params.append(('guestEmail', guest_email)) + + if guest_phone is not None: + + _query_params.append(('guestPhone', guest_phone)) + + if guest_cell_phone is not None: + + _query_params.append(('guestCellPhone', guest_cell_phone)) + + if status is not None: + + _query_params.append(('status', status)) + + if sort_by is not None: + + _query_params.append(('sortBy', sort_by)) + + if include_guest_info is not None: + + _query_params.append(('includeGuestInfo', include_guest_info)) + + if exclude_secondary_guests is not None: + + _query_params.append(('excludeSecondaryGuests', exclude_secondary_guests)) + + if include_guest_requirements is not None: + + _query_params.append(('includeGuestRequirements', include_guest_requirements)) + + if page_number is not None: + + _query_params.append(('pageNumber', page_number)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getGuestList', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_guest_notes_get( + self, + guest_id: Annotated[StrictStr, Field(description="Guest ID")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetGuestNotesResponse: + """getGuestNotes + + Retrieves a guest notes + + :param guest_id: Guest ID (required) + :type guest_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guest_notes_get_serialize( + guest_id=guest_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_guest_notes_get_with_http_info( + self, + guest_id: Annotated[StrictStr, Field(description="Guest ID")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetGuestNotesResponse]: + """getGuestNotes + + Retrieves a guest notes + + :param guest_id: Guest ID (required) + :type guest_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guest_notes_get_serialize( + guest_id=guest_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_guest_notes_get_without_preload_content( + self, + guest_id: Annotated[StrictStr, Field(description="Guest ID")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getGuestNotes + + Retrieves a guest notes + + :param guest_id: Guest ID (required) + :type guest_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guest_notes_get_serialize( + guest_id=guest_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_guest_notes_get_serialize( + self, + guest_id, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if guest_id is not None: + + _query_params.append(('guestID', guest_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getGuestNotes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_guests_by_filter_get( + self, + status: Annotated[StrictStr, Field(description="Current guest status")], + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + reservation_id: Optional[StrictStr] = None, + room_id: Optional[StrictStr] = None, + guest_name: Optional[StrictStr] = None, + check_in_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range starting on this date")] = None, + check_in_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range ending on this date")] = None, + check_out_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range starting on this date")] = None, + check_out_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range ending on this date")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetGuestsByFilterResponse: + """getGuestsByFilter + + Returns a list of guests matching the selected parameters ### Group account support + + :param status: Current guest status (required) + :type status: str + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param reservation_id: + :type reservation_id: str + :param room_id: + :type room_id: str + :param guest_name: + :type guest_name: str + :param check_in_from: Filters guests result to return only guests with check-in date range starting on this date + :type check_in_from: date + :param check_in_to: Filters guests result to return only guests with check-in date range ending on this date + :type check_in_to: date + :param check_out_from: Filters guests result to return only guests with check-out date range starting on this date + :type check_out_from: date + :param check_out_to: Filters guests result to return only guests with check-out date range ending on this date + :type check_out_to: date + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guests_by_filter_get_serialize( + status=status, + property_ids=property_ids, + reservation_id=reservation_id, + room_id=room_id, + guest_name=guest_name, + check_in_from=check_in_from, + check_in_to=check_in_to, + check_out_from=check_out_from, + check_out_to=check_out_to, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestsByFilterResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_guests_by_filter_get_with_http_info( + self, + status: Annotated[StrictStr, Field(description="Current guest status")], + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + reservation_id: Optional[StrictStr] = None, + room_id: Optional[StrictStr] = None, + guest_name: Optional[StrictStr] = None, + check_in_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range starting on this date")] = None, + check_in_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range ending on this date")] = None, + check_out_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range starting on this date")] = None, + check_out_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range ending on this date")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetGuestsByFilterResponse]: + """getGuestsByFilter + + Returns a list of guests matching the selected parameters ### Group account support + + :param status: Current guest status (required) + :type status: str + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param reservation_id: + :type reservation_id: str + :param room_id: + :type room_id: str + :param guest_name: + :type guest_name: str + :param check_in_from: Filters guests result to return only guests with check-in date range starting on this date + :type check_in_from: date + :param check_in_to: Filters guests result to return only guests with check-in date range ending on this date + :type check_in_to: date + :param check_out_from: Filters guests result to return only guests with check-out date range starting on this date + :type check_out_from: date + :param check_out_to: Filters guests result to return only guests with check-out date range ending on this date + :type check_out_to: date + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guests_by_filter_get_serialize( + status=status, + property_ids=property_ids, + reservation_id=reservation_id, + room_id=room_id, + guest_name=guest_name, + check_in_from=check_in_from, + check_in_to=check_in_to, + check_out_from=check_out_from, + check_out_to=check_out_to, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestsByFilterResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_guests_by_filter_get_without_preload_content( + self, + status: Annotated[StrictStr, Field(description="Current guest status")], + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + reservation_id: Optional[StrictStr] = None, + room_id: Optional[StrictStr] = None, + guest_name: Optional[StrictStr] = None, + check_in_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range starting on this date")] = None, + check_in_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range ending on this date")] = None, + check_out_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range starting on this date")] = None, + check_out_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range ending on this date")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getGuestsByFilter + + Returns a list of guests matching the selected parameters ### Group account support + + :param status: Current guest status (required) + :type status: str + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param reservation_id: + :type reservation_id: str + :param room_id: + :type room_id: str + :param guest_name: + :type guest_name: str + :param check_in_from: Filters guests result to return only guests with check-in date range starting on this date + :type check_in_from: date + :param check_in_to: Filters guests result to return only guests with check-in date range ending on this date + :type check_in_to: date + :param check_out_from: Filters guests result to return only guests with check-out date range starting on this date + :type check_out_from: date + :param check_out_to: Filters guests result to return only guests with check-out date range ending on this date + :type check_out_to: date + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guests_by_filter_get_serialize( + status=status, + property_ids=property_ids, + reservation_id=reservation_id, + room_id=room_id, + guest_name=guest_name, + check_in_from=check_in_from, + check_in_to=check_in_to, + check_out_from=check_out_from, + check_out_to=check_out_to, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestsByFilterResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_guests_by_filter_get_serialize( + self, + status, + property_ids, + reservation_id, + room_id, + guest_name, + check_in_from, + check_in_to, + check_out_from, + check_out_to, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_ids is not None: + + _query_params.append(('propertyIDs', property_ids)) + + if status is not None: + + _query_params.append(('status', status)) + + if reservation_id is not None: + + _query_params.append(('reservationID', reservation_id)) + + if room_id is not None: + + _query_params.append(('roomID', room_id)) + + if guest_name is not None: + + _query_params.append(('guestName', guest_name)) + + if check_in_from is not None: + if isinstance(check_in_from, date): + _query_params.append( + ( + 'checkInFrom', + check_in_from.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('checkInFrom', check_in_from)) + + if check_in_to is not None: + if isinstance(check_in_to, date): + _query_params.append( + ( + 'checkInTo', + check_in_to.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('checkInTo', check_in_to)) + + if check_out_from is not None: + if isinstance(check_out_from, date): + _query_params.append( + ( + 'checkOutFrom', + check_out_from.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('checkOutFrom', check_out_from)) + + if check_out_to is not None: + if isinstance(check_out_to, date): + _query_params.append( + ( + 'checkOutTo', + check_out_to.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('checkOutTo', check_out_to)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getGuestsByFilter', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_guests_by_status_get( + self, + status: Annotated[StrictStr, Field(description="Guest status during the period")], + property_id: Annotated[Optional[StrictStr], Field(description="ID for the properties to be queried (comma-separated, i.e. 37,345,89).
It can be omitted if the API key is single-property, or to get results from all properties on an association.")] = None, + results_from: Annotated[Optional[datetime], Field(description="Used to filter guests result, and returns only the guests that were last modified starting on \"resultsFrom\" value")] = None, + results_to: Annotated[Optional[datetime], Field(description="Used to filter guests result, and returns only the guests that were last modified ending on \"resultsTo\" value")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetGuestsByStatusResponse: + """getGuestsByStatus + + Returns a list of guests in the current status (Not Checked In, In House, Checked Out or Cancelled), sorted by modification date. If no date range is passed, it returns all guests with the selected status. ### Group account support + + :param status: Guest status during the period (required) + :type status: str + :param property_id: ID for the properties to be queried (comma-separated, i.e. 37,345,89).
It can be omitted if the API key is single-property, or to get results from all properties on an association. + :type property_id: str + :param results_from: Used to filter guests result, and returns only the guests that were last modified starting on \"resultsFrom\" value + :type results_from: datetime + :param results_to: Used to filter guests result, and returns only the guests that were last modified ending on \"resultsTo\" value + :type results_to: datetime + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guests_by_status_get_serialize( + status=status, + property_id=property_id, + results_from=results_from, + results_to=results_to, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestsByStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_guests_by_status_get_with_http_info( + self, + status: Annotated[StrictStr, Field(description="Guest status during the period")], + property_id: Annotated[Optional[StrictStr], Field(description="ID for the properties to be queried (comma-separated, i.e. 37,345,89).
It can be omitted if the API key is single-property, or to get results from all properties on an association.")] = None, + results_from: Annotated[Optional[datetime], Field(description="Used to filter guests result, and returns only the guests that were last modified starting on \"resultsFrom\" value")] = None, + results_to: Annotated[Optional[datetime], Field(description="Used to filter guests result, and returns only the guests that were last modified ending on \"resultsTo\" value")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetGuestsByStatusResponse]: + """getGuestsByStatus + + Returns a list of guests in the current status (Not Checked In, In House, Checked Out or Cancelled), sorted by modification date. If no date range is passed, it returns all guests with the selected status. ### Group account support + + :param status: Guest status during the period (required) + :type status: str + :param property_id: ID for the properties to be queried (comma-separated, i.e. 37,345,89).
It can be omitted if the API key is single-property, or to get results from all properties on an association. + :type property_id: str + :param results_from: Used to filter guests result, and returns only the guests that were last modified starting on \"resultsFrom\" value + :type results_from: datetime + :param results_to: Used to filter guests result, and returns only the guests that were last modified ending on \"resultsTo\" value + :type results_to: datetime + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guests_by_status_get_serialize( + status=status, + property_id=property_id, + results_from=results_from, + results_to=results_to, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestsByStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_guests_by_status_get_without_preload_content( + self, + status: Annotated[StrictStr, Field(description="Guest status during the period")], + property_id: Annotated[Optional[StrictStr], Field(description="ID for the properties to be queried (comma-separated, i.e. 37,345,89).
It can be omitted if the API key is single-property, or to get results from all properties on an association.")] = None, + results_from: Annotated[Optional[datetime], Field(description="Used to filter guests result, and returns only the guests that were last modified starting on \"resultsFrom\" value")] = None, + results_to: Annotated[Optional[datetime], Field(description="Used to filter guests result, and returns only the guests that were last modified ending on \"resultsTo\" value")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getGuestsByStatus + + Returns a list of guests in the current status (Not Checked In, In House, Checked Out or Cancelled), sorted by modification date. If no date range is passed, it returns all guests with the selected status. ### Group account support + + :param status: Guest status during the period (required) + :type status: str + :param property_id: ID for the properties to be queried (comma-separated, i.e. 37,345,89).
It can be omitted if the API key is single-property, or to get results from all properties on an association. + :type property_id: str + :param results_from: Used to filter guests result, and returns only the guests that were last modified starting on \"resultsFrom\" value + :type results_from: datetime + :param results_to: Used to filter guests result, and returns only the guests that were last modified ending on \"resultsTo\" value + :type results_to: datetime + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guests_by_status_get_serialize( + status=status, + property_id=property_id, + results_from=results_from, + results_to=results_to, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestsByStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_guests_by_status_get_serialize( + self, + status, + property_id, + results_from, + results_to, + page_number, + page_size, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if status is not None: + + _query_params.append(('status', status)) + + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if results_from is not None: + if isinstance(results_from, datetime): + _query_params.append( + ( + 'resultsFrom', + results_from.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('resultsFrom', results_from)) + + if results_to is not None: + if isinstance(results_to, datetime): + _query_params.append( + ( + 'resultsTo', + results_to.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('resultsTo', results_to)) + + if page_number is not None: + + _query_params.append(('pageNumber', page_number)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getGuestsByStatus', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_guests_modified_get( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + in_house: Annotated[Optional[StrictBool], Field(description="When used, and true, will return guests only currently in-house. If the guest checks-out, it will not appear on the results.")] = None, + results_from: Annotated[Optional[datetime], Field(description="Inferior limit datetime, used to filter guests result, based on latest creation/modification date")] = None, + results_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter guests result, based on latest creation/modification date")] = None, + check_in_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range starting on this date")] = None, + check_in_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range ending on this date")] = None, + check_out_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range starting on this date")] = None, + check_out_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range ending on this date")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetGuestsModifiedResponse: + """getGuestsModified + + Returns a list of guests based on their modification date. Note that when a guest checks in or checks out of a room, their record is modified at that time. If no date range is passed, only the records for the current day are returned. Also note that if the guest is assigned to multiple rooms, it will result in multiple records. ### Group account support + + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param in_house: When used, and true, will return guests only currently in-house. If the guest checks-out, it will not appear on the results. + :type in_house: bool + :param results_from: Inferior limit datetime, used to filter guests result, based on latest creation/modification date + :type results_from: datetime + :param results_to: Superior limit datetime, used to filter guests result, based on latest creation/modification date + :type results_to: datetime + :param check_in_from: Filters guests result to return only guests with check-in date range starting on this date + :type check_in_from: date + :param check_in_to: Filters guests result to return only guests with check-in date range ending on this date + :type check_in_to: date + :param check_out_from: Filters guests result to return only guests with check-out date range starting on this date + :type check_out_from: date + :param check_out_to: Filters guests result to return only guests with check-out date range ending on this date + :type check_out_to: date + :param include_guest_requirements: Includes guest requirements data in the response + :type include_guest_requirements: bool + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guests_modified_get_serialize( + property_ids=property_ids, + in_house=in_house, + results_from=results_from, + results_to=results_to, + check_in_from=check_in_from, + check_in_to=check_in_to, + check_out_from=check_out_from, + check_out_to=check_out_to, + include_guest_requirements=include_guest_requirements, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestsModifiedResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_guests_modified_get_with_http_info( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + in_house: Annotated[Optional[StrictBool], Field(description="When used, and true, will return guests only currently in-house. If the guest checks-out, it will not appear on the results.")] = None, + results_from: Annotated[Optional[datetime], Field(description="Inferior limit datetime, used to filter guests result, based on latest creation/modification date")] = None, + results_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter guests result, based on latest creation/modification date")] = None, + check_in_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range starting on this date")] = None, + check_in_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range ending on this date")] = None, + check_out_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range starting on this date")] = None, + check_out_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range ending on this date")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetGuestsModifiedResponse]: + """getGuestsModified + + Returns a list of guests based on their modification date. Note that when a guest checks in or checks out of a room, their record is modified at that time. If no date range is passed, only the records for the current day are returned. Also note that if the guest is assigned to multiple rooms, it will result in multiple records. ### Group account support + + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param in_house: When used, and true, will return guests only currently in-house. If the guest checks-out, it will not appear on the results. + :type in_house: bool + :param results_from: Inferior limit datetime, used to filter guests result, based on latest creation/modification date + :type results_from: datetime + :param results_to: Superior limit datetime, used to filter guests result, based on latest creation/modification date + :type results_to: datetime + :param check_in_from: Filters guests result to return only guests with check-in date range starting on this date + :type check_in_from: date + :param check_in_to: Filters guests result to return only guests with check-in date range ending on this date + :type check_in_to: date + :param check_out_from: Filters guests result to return only guests with check-out date range starting on this date + :type check_out_from: date + :param check_out_to: Filters guests result to return only guests with check-out date range ending on this date + :type check_out_to: date + :param include_guest_requirements: Includes guest requirements data in the response + :type include_guest_requirements: bool + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guests_modified_get_serialize( + property_ids=property_ids, + in_house=in_house, + results_from=results_from, + results_to=results_to, + check_in_from=check_in_from, + check_in_to=check_in_to, + check_out_from=check_out_from, + check_out_to=check_out_to, + include_guest_requirements=include_guest_requirements, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestsModifiedResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_guests_modified_get_without_preload_content( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + in_house: Annotated[Optional[StrictBool], Field(description="When used, and true, will return guests only currently in-house. If the guest checks-out, it will not appear on the results.")] = None, + results_from: Annotated[Optional[datetime], Field(description="Inferior limit datetime, used to filter guests result, based on latest creation/modification date")] = None, + results_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter guests result, based on latest creation/modification date")] = None, + check_in_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range starting on this date")] = None, + check_in_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-in date range ending on this date")] = None, + check_out_from: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range starting on this date")] = None, + check_out_to: Annotated[Optional[date], Field(description="Filters guests result to return only guests with check-out date range ending on this date")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getGuestsModified + + Returns a list of guests based on their modification date. Note that when a guest checks in or checks out of a room, their record is modified at that time. If no date range is passed, only the records for the current day are returned. Also note that if the guest is assigned to multiple rooms, it will result in multiple records. ### Group account support + + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param in_house: When used, and true, will return guests only currently in-house. If the guest checks-out, it will not appear on the results. + :type in_house: bool + :param results_from: Inferior limit datetime, used to filter guests result, based on latest creation/modification date + :type results_from: datetime + :param results_to: Superior limit datetime, used to filter guests result, based on latest creation/modification date + :type results_to: datetime + :param check_in_from: Filters guests result to return only guests with check-in date range starting on this date + :type check_in_from: date + :param check_in_to: Filters guests result to return only guests with check-in date range ending on this date + :type check_in_to: date + :param check_out_from: Filters guests result to return only guests with check-out date range starting on this date + :type check_out_from: date + :param check_out_to: Filters guests result to return only guests with check-out date range ending on this date + :type check_out_to: date + :param include_guest_requirements: Includes guest requirements data in the response + :type include_guest_requirements: bool + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_guests_modified_get_serialize( + property_ids=property_ids, + in_house=in_house, + results_from=results_from, + results_to=results_to, + check_in_from=check_in_from, + check_in_to=check_in_to, + check_out_from=check_out_from, + check_out_to=check_out_to, + include_guest_requirements=include_guest_requirements, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGuestsModifiedResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_guests_modified_get_serialize( + self, + property_ids, + in_house, + results_from, + results_to, + check_in_from, + check_in_to, + check_out_from, + check_out_to, + include_guest_requirements, + page_number, + page_size, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_ids is not None: + + _query_params.append(('propertyIDs', property_ids)) + + if in_house is not None: + + _query_params.append(('inHouse', in_house)) + + if results_from is not None: + if isinstance(results_from, datetime): + _query_params.append( + ( + 'resultsFrom', + results_from.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('resultsFrom', results_from)) + + if results_to is not None: + if isinstance(results_to, datetime): + _query_params.append( + ( + 'resultsTo', + results_to.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('resultsTo', results_to)) + + if check_in_from is not None: + if isinstance(check_in_from, date): + _query_params.append( + ( + 'checkInFrom', + check_in_from.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('checkInFrom', check_in_from)) + + if check_in_to is not None: + if isinstance(check_in_to, date): + _query_params.append( + ( + 'checkInTo', + check_in_to.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('checkInTo', check_in_to)) + + if check_out_from is not None: + if isinstance(check_out_from, date): + _query_params.append( + ( + 'checkOutFrom', + check_out_from.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('checkOutFrom', check_out_from)) + + if check_out_to is not None: + if isinstance(check_out_to, date): + _query_params.append( + ( + 'checkOutTo', + check_out_to.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('checkOutTo', check_out_to)) + + if include_guest_requirements is not None: + + _query_params.append(('includeGuestRequirements', include_guest_requirements)) + + if page_number is not None: + + _query_params.append(('pageNumber', page_number)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getGuestsModified', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_guest_document_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest Unique Identifier")] = None, + file: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostGuestDocumentResponse: + """postGuestDocument + + Attaches a document to a guest + + :param property_id: Property ID + :type property_id: str + :param guest_id: Guest Unique Identifier + :type guest_id: str + :param file: Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_guest_document_post_serialize( + property_id=property_id, + guest_id=guest_id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGuestDocumentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_guest_document_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest Unique Identifier")] = None, + file: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostGuestDocumentResponse]: + """postGuestDocument + + Attaches a document to a guest + + :param property_id: Property ID + :type property_id: str + :param guest_id: Guest Unique Identifier + :type guest_id: str + :param file: Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_guest_document_post_serialize( + property_id=property_id, + guest_id=guest_id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGuestDocumentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_guest_document_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest Unique Identifier")] = None, + file: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postGuestDocument + + Attaches a document to a guest + + :param property_id: Property ID + :type property_id: str + :param guest_id: Guest Unique Identifier + :type guest_id: str + :param file: Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_guest_document_post_serialize( + property_id=property_id, + guest_id=guest_id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGuestDocumentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_guest_document_post_serialize( + self, + property_id, + guest_id, + file, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if guest_id is not None: + _form_params.append(('guestID', guest_id)) + if file is not None: + _files['file'] = file + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postGuestDocument', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_guest_note_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest ID")] = None, + guest_note: Annotated[Optional[StrictStr], Field(description="Note to be added to guest profile. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected.")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="User ID Identify the actual user that is posting the note")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostGuestNoteResponse: + """postGuestNote + + Adds a guest note + + :param property_id: Property ID + :type property_id: str + :param guest_id: Guest ID + :type guest_id: str + :param guest_note: Note to be added to guest profile. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. + :type guest_note: str + :param user_id: User ID Identify the actual user that is posting the note + :type user_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_guest_note_post_serialize( + property_id=property_id, + guest_id=guest_id, + guest_note=guest_note, + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGuestNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_guest_note_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest ID")] = None, + guest_note: Annotated[Optional[StrictStr], Field(description="Note to be added to guest profile. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected.")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="User ID Identify the actual user that is posting the note")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostGuestNoteResponse]: + """postGuestNote + + Adds a guest note + + :param property_id: Property ID + :type property_id: str + :param guest_id: Guest ID + :type guest_id: str + :param guest_note: Note to be added to guest profile. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. + :type guest_note: str + :param user_id: User ID Identify the actual user that is posting the note + :type user_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_guest_note_post_serialize( + property_id=property_id, + guest_id=guest_id, + guest_note=guest_note, + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGuestNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_guest_note_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest ID")] = None, + guest_note: Annotated[Optional[StrictStr], Field(description="Note to be added to guest profile. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected.")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="User ID Identify the actual user that is posting the note")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postGuestNote + + Adds a guest note + + :param property_id: Property ID + :type property_id: str + :param guest_id: Guest ID + :type guest_id: str + :param guest_note: Note to be added to guest profile. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. + :type guest_note: str + :param user_id: User ID Identify the actual user that is posting the note + :type user_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_guest_note_post_serialize( + property_id=property_id, + guest_id=guest_id, + guest_note=guest_note, + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGuestNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_guest_note_post_serialize( + self, + property_id, + guest_id, + guest_note, + user_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if guest_id is not None: + _form_params.append(('guestID', guest_id)) + if guest_note is not None: + _form_params.append(('guestNote', guest_note)) + if user_id is not None: + _form_params.append(('userID', user_id)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postGuestNote', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_guest_photo_post( + self, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest Unique Identifier")] = None, + file: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Form-based File Upload
Allowed file types: *.jpg, *.jpeg, *.png, *.gif
Allowed max file size: 15MB")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostGuestPhotoResponse: + """postGuestPhoto + + Attaches a photo to a guest + + :param guest_id: Guest Unique Identifier + :type guest_id: str + :param file: Form-based File Upload
Allowed file types: *.jpg, *.jpeg, *.png, *.gif
Allowed max file size: 15MB + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_guest_photo_post_serialize( + guest_id=guest_id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGuestPhotoResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_guest_photo_post_with_http_info( + self, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest Unique Identifier")] = None, + file: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Form-based File Upload
Allowed file types: *.jpg, *.jpeg, *.png, *.gif
Allowed max file size: 15MB")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostGuestPhotoResponse]: + """postGuestPhoto + + Attaches a photo to a guest + + :param guest_id: Guest Unique Identifier + :type guest_id: str + :param file: Form-based File Upload
Allowed file types: *.jpg, *.jpeg, *.png, *.gif
Allowed max file size: 15MB + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_guest_photo_post_serialize( + guest_id=guest_id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGuestPhotoResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_guest_photo_post_without_preload_content( + self, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest Unique Identifier")] = None, + file: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Form-based File Upload
Allowed file types: *.jpg, *.jpeg, *.png, *.gif
Allowed max file size: 15MB")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postGuestPhoto + + Attaches a photo to a guest + + :param guest_id: Guest Unique Identifier + :type guest_id: str + :param file: Form-based File Upload
Allowed file types: *.jpg, *.jpeg, *.png, *.gif
Allowed max file size: 15MB + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_guest_photo_post_serialize( + guest_id=guest_id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGuestPhotoResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_guest_photo_post_serialize( + self, + guest_id, + file, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if guest_id is not None: + _form_params.append(('guestID', guest_id)) + if file is not None: + _files['file'] = file + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postGuestPhoto', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_guest_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation ID")] = None, + guest_first_name: Optional[StrictStr] = None, + guest_last_name: Optional[StrictStr] = None, + guest_gender: Optional[StrictStr] = None, + guest_email: Optional[StrictStr] = None, + guest_phone: Optional[StrictStr] = None, + guest_cell_phone: Optional[StrictStr] = None, + guest_address1: Optional[StrictStr] = None, + guest_address2: Optional[StrictStr] = None, + guest_city: Optional[StrictStr] = None, + guest_country: Annotated[Optional[StrictStr], Field(description="ISO-Code for Country (2 characters)")] = None, + guest_state: Optional[StrictStr] = None, + guest_zip: Optional[StrictStr] = None, + guest_birth_date: Optional[date] = None, + guest_document_type: Annotated[Optional[StrictStr], Field(description="Document Type
dni - Identity card
nie - Residence permit
na - non selection
cpf - Brazilian Tax ID
")] = None, + guest_document_number: Annotated[Optional[StrictStr], Field(description="(mandatory when guestDocumentType is sent)")] = None, + guest_document_issue_date: Annotated[Optional[date], Field(description="(mandatory when guestDocumentType is sent and is not DNI or CPF)")] = None, + guest_document_issuing_country: Annotated[Optional[StrictStr], Field(description="Valid ISO-Code for Country (2 characters) (mandatory when guestDocumentType is sent)")] = None, + guest_document_expiration_date: Annotated[Optional[date], Field(description="(mandatory when guestDocumentType is sent and is not DNI, NIE, or CPF)")] = None, + guest_requirements: Annotated[Optional[List[Dict[str, Any]]], Field(description="Object with guest requirements information.")] = None, + custom_fields: Annotated[Optional[List[PostGuestRequestCustomFieldsInner]], Field(description="Only guest custom fields are allowed.")] = None, + guest_note: Annotated[Optional[StrictStr], Field(description="Note to be added to the Guest")] = None, + reservation_note: Annotated[Optional[StrictStr], Field(description="Note to be added only to the Reservation.")] = None, + guest_company_name: Annotated[Optional[StrictStr], Field(description="Guest company name")] = None, + guest_company_tax_id: Annotated[Optional[StrictStr], Field(description="Guest company tax ID")] = None, + guest_tax_id: Annotated[Optional[StrictStr], Field(description="Guest tax ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostGuestResponse: + """postGuest + + Adds a guest to reservation as an additional guest. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation ID + :type reservation_id: str + :param guest_first_name: + :type guest_first_name: str + :param guest_last_name: + :type guest_last_name: str + :param guest_gender: + :type guest_gender: str + :param guest_email: + :type guest_email: str + :param guest_phone: + :type guest_phone: str + :param guest_cell_phone: + :type guest_cell_phone: str + :param guest_address1: + :type guest_address1: str + :param guest_address2: + :type guest_address2: str + :param guest_city: + :type guest_city: str + :param guest_country: ISO-Code for Country (2 characters) + :type guest_country: str + :param guest_state: + :type guest_state: str + :param guest_zip: + :type guest_zip: str + :param guest_birth_date: + :type guest_birth_date: date + :param guest_document_type: Document Type
dni - Identity card
nie - Residence permit
na - non selection
cpf - Brazilian Tax ID
+ :type guest_document_type: str + :param guest_document_number: (mandatory when guestDocumentType is sent) + :type guest_document_number: str + :param guest_document_issue_date: (mandatory when guestDocumentType is sent and is not DNI or CPF) + :type guest_document_issue_date: date + :param guest_document_issuing_country: Valid ISO-Code for Country (2 characters) (mandatory when guestDocumentType is sent) + :type guest_document_issuing_country: str + :param guest_document_expiration_date: (mandatory when guestDocumentType is sent and is not DNI, NIE, or CPF) + :type guest_document_expiration_date: date + :param guest_requirements: Object with guest requirements information. + :type guest_requirements: List[object] + :param custom_fields: Only guest custom fields are allowed. + :type custom_fields: List[PostGuestRequestCustomFieldsInner] + :param guest_note: Note to be added to the Guest + :type guest_note: str + :param reservation_note: Note to be added only to the Reservation. + :type reservation_note: str + :param guest_company_name: Guest company name + :type guest_company_name: str + :param guest_company_tax_id: Guest company tax ID + :type guest_company_tax_id: str + :param guest_tax_id: Guest tax ID + :type guest_tax_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_guest_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + guest_first_name=guest_first_name, + guest_last_name=guest_last_name, + guest_gender=guest_gender, + guest_email=guest_email, + guest_phone=guest_phone, + guest_cell_phone=guest_cell_phone, + guest_address1=guest_address1, + guest_address2=guest_address2, + guest_city=guest_city, + guest_country=guest_country, + guest_state=guest_state, + guest_zip=guest_zip, + guest_birth_date=guest_birth_date, + guest_document_type=guest_document_type, + guest_document_number=guest_document_number, + guest_document_issue_date=guest_document_issue_date, + guest_document_issuing_country=guest_document_issuing_country, + guest_document_expiration_date=guest_document_expiration_date, + guest_requirements=guest_requirements, + custom_fields=custom_fields, + guest_note=guest_note, + reservation_note=reservation_note, + guest_company_name=guest_company_name, + guest_company_tax_id=guest_company_tax_id, + guest_tax_id=guest_tax_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGuestResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_guest_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation ID")] = None, + guest_first_name: Optional[StrictStr] = None, + guest_last_name: Optional[StrictStr] = None, + guest_gender: Optional[StrictStr] = None, + guest_email: Optional[StrictStr] = None, + guest_phone: Optional[StrictStr] = None, + guest_cell_phone: Optional[StrictStr] = None, + guest_address1: Optional[StrictStr] = None, + guest_address2: Optional[StrictStr] = None, + guest_city: Optional[StrictStr] = None, + guest_country: Annotated[Optional[StrictStr], Field(description="ISO-Code for Country (2 characters)")] = None, + guest_state: Optional[StrictStr] = None, + guest_zip: Optional[StrictStr] = None, + guest_birth_date: Optional[date] = None, + guest_document_type: Annotated[Optional[StrictStr], Field(description="Document Type
dni - Identity card
nie - Residence permit
na - non selection
cpf - Brazilian Tax ID
")] = None, + guest_document_number: Annotated[Optional[StrictStr], Field(description="(mandatory when guestDocumentType is sent)")] = None, + guest_document_issue_date: Annotated[Optional[date], Field(description="(mandatory when guestDocumentType is sent and is not DNI or CPF)")] = None, + guest_document_issuing_country: Annotated[Optional[StrictStr], Field(description="Valid ISO-Code for Country (2 characters) (mandatory when guestDocumentType is sent)")] = None, + guest_document_expiration_date: Annotated[Optional[date], Field(description="(mandatory when guestDocumentType is sent and is not DNI, NIE, or CPF)")] = None, + guest_requirements: Annotated[Optional[List[Dict[str, Any]]], Field(description="Object with guest requirements information.")] = None, + custom_fields: Annotated[Optional[List[PostGuestRequestCustomFieldsInner]], Field(description="Only guest custom fields are allowed.")] = None, + guest_note: Annotated[Optional[StrictStr], Field(description="Note to be added to the Guest")] = None, + reservation_note: Annotated[Optional[StrictStr], Field(description="Note to be added only to the Reservation.")] = None, + guest_company_name: Annotated[Optional[StrictStr], Field(description="Guest company name")] = None, + guest_company_tax_id: Annotated[Optional[StrictStr], Field(description="Guest company tax ID")] = None, + guest_tax_id: Annotated[Optional[StrictStr], Field(description="Guest tax ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostGuestResponse]: + """postGuest + + Adds a guest to reservation as an additional guest. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation ID + :type reservation_id: str + :param guest_first_name: + :type guest_first_name: str + :param guest_last_name: + :type guest_last_name: str + :param guest_gender: + :type guest_gender: str + :param guest_email: + :type guest_email: str + :param guest_phone: + :type guest_phone: str + :param guest_cell_phone: + :type guest_cell_phone: str + :param guest_address1: + :type guest_address1: str + :param guest_address2: + :type guest_address2: str + :param guest_city: + :type guest_city: str + :param guest_country: ISO-Code for Country (2 characters) + :type guest_country: str + :param guest_state: + :type guest_state: str + :param guest_zip: + :type guest_zip: str + :param guest_birth_date: + :type guest_birth_date: date + :param guest_document_type: Document Type
dni - Identity card
nie - Residence permit
na - non selection
cpf - Brazilian Tax ID
+ :type guest_document_type: str + :param guest_document_number: (mandatory when guestDocumentType is sent) + :type guest_document_number: str + :param guest_document_issue_date: (mandatory when guestDocumentType is sent and is not DNI or CPF) + :type guest_document_issue_date: date + :param guest_document_issuing_country: Valid ISO-Code for Country (2 characters) (mandatory when guestDocumentType is sent) + :type guest_document_issuing_country: str + :param guest_document_expiration_date: (mandatory when guestDocumentType is sent and is not DNI, NIE, or CPF) + :type guest_document_expiration_date: date + :param guest_requirements: Object with guest requirements information. + :type guest_requirements: List[object] + :param custom_fields: Only guest custom fields are allowed. + :type custom_fields: List[PostGuestRequestCustomFieldsInner] + :param guest_note: Note to be added to the Guest + :type guest_note: str + :param reservation_note: Note to be added only to the Reservation. + :type reservation_note: str + :param guest_company_name: Guest company name + :type guest_company_name: str + :param guest_company_tax_id: Guest company tax ID + :type guest_company_tax_id: str + :param guest_tax_id: Guest tax ID + :type guest_tax_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_guest_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + guest_first_name=guest_first_name, + guest_last_name=guest_last_name, + guest_gender=guest_gender, + guest_email=guest_email, + guest_phone=guest_phone, + guest_cell_phone=guest_cell_phone, + guest_address1=guest_address1, + guest_address2=guest_address2, + guest_city=guest_city, + guest_country=guest_country, + guest_state=guest_state, + guest_zip=guest_zip, + guest_birth_date=guest_birth_date, + guest_document_type=guest_document_type, + guest_document_number=guest_document_number, + guest_document_issue_date=guest_document_issue_date, + guest_document_issuing_country=guest_document_issuing_country, + guest_document_expiration_date=guest_document_expiration_date, + guest_requirements=guest_requirements, + custom_fields=custom_fields, + guest_note=guest_note, + reservation_note=reservation_note, + guest_company_name=guest_company_name, + guest_company_tax_id=guest_company_tax_id, + guest_tax_id=guest_tax_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGuestResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_guest_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation ID")] = None, + guest_first_name: Optional[StrictStr] = None, + guest_last_name: Optional[StrictStr] = None, + guest_gender: Optional[StrictStr] = None, + guest_email: Optional[StrictStr] = None, + guest_phone: Optional[StrictStr] = None, + guest_cell_phone: Optional[StrictStr] = None, + guest_address1: Optional[StrictStr] = None, + guest_address2: Optional[StrictStr] = None, + guest_city: Optional[StrictStr] = None, + guest_country: Annotated[Optional[StrictStr], Field(description="ISO-Code for Country (2 characters)")] = None, + guest_state: Optional[StrictStr] = None, + guest_zip: Optional[StrictStr] = None, + guest_birth_date: Optional[date] = None, + guest_document_type: Annotated[Optional[StrictStr], Field(description="Document Type
dni - Identity card
nie - Residence permit
na - non selection
cpf - Brazilian Tax ID
")] = None, + guest_document_number: Annotated[Optional[StrictStr], Field(description="(mandatory when guestDocumentType is sent)")] = None, + guest_document_issue_date: Annotated[Optional[date], Field(description="(mandatory when guestDocumentType is sent and is not DNI or CPF)")] = None, + guest_document_issuing_country: Annotated[Optional[StrictStr], Field(description="Valid ISO-Code for Country (2 characters) (mandatory when guestDocumentType is sent)")] = None, + guest_document_expiration_date: Annotated[Optional[date], Field(description="(mandatory when guestDocumentType is sent and is not DNI, NIE, or CPF)")] = None, + guest_requirements: Annotated[Optional[List[Dict[str, Any]]], Field(description="Object with guest requirements information.")] = None, + custom_fields: Annotated[Optional[List[PostGuestRequestCustomFieldsInner]], Field(description="Only guest custom fields are allowed.")] = None, + guest_note: Annotated[Optional[StrictStr], Field(description="Note to be added to the Guest")] = None, + reservation_note: Annotated[Optional[StrictStr], Field(description="Note to be added only to the Reservation.")] = None, + guest_company_name: Annotated[Optional[StrictStr], Field(description="Guest company name")] = None, + guest_company_tax_id: Annotated[Optional[StrictStr], Field(description="Guest company tax ID")] = None, + guest_tax_id: Annotated[Optional[StrictStr], Field(description="Guest tax ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postGuest + + Adds a guest to reservation as an additional guest. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation ID + :type reservation_id: str + :param guest_first_name: + :type guest_first_name: str + :param guest_last_name: + :type guest_last_name: str + :param guest_gender: + :type guest_gender: str + :param guest_email: + :type guest_email: str + :param guest_phone: + :type guest_phone: str + :param guest_cell_phone: + :type guest_cell_phone: str + :param guest_address1: + :type guest_address1: str + :param guest_address2: + :type guest_address2: str + :param guest_city: + :type guest_city: str + :param guest_country: ISO-Code for Country (2 characters) + :type guest_country: str + :param guest_state: + :type guest_state: str + :param guest_zip: + :type guest_zip: str + :param guest_birth_date: + :type guest_birth_date: date + :param guest_document_type: Document Type
dni - Identity card
nie - Residence permit
na - non selection
cpf - Brazilian Tax ID
+ :type guest_document_type: str + :param guest_document_number: (mandatory when guestDocumentType is sent) + :type guest_document_number: str + :param guest_document_issue_date: (mandatory when guestDocumentType is sent and is not DNI or CPF) + :type guest_document_issue_date: date + :param guest_document_issuing_country: Valid ISO-Code for Country (2 characters) (mandatory when guestDocumentType is sent) + :type guest_document_issuing_country: str + :param guest_document_expiration_date: (mandatory when guestDocumentType is sent and is not DNI, NIE, or CPF) + :type guest_document_expiration_date: date + :param guest_requirements: Object with guest requirements information. + :type guest_requirements: List[object] + :param custom_fields: Only guest custom fields are allowed. + :type custom_fields: List[PostGuestRequestCustomFieldsInner] + :param guest_note: Note to be added to the Guest + :type guest_note: str + :param reservation_note: Note to be added only to the Reservation. + :type reservation_note: str + :param guest_company_name: Guest company name + :type guest_company_name: str + :param guest_company_tax_id: Guest company tax ID + :type guest_company_tax_id: str + :param guest_tax_id: Guest tax ID + :type guest_tax_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_guest_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + guest_first_name=guest_first_name, + guest_last_name=guest_last_name, + guest_gender=guest_gender, + guest_email=guest_email, + guest_phone=guest_phone, + guest_cell_phone=guest_cell_phone, + guest_address1=guest_address1, + guest_address2=guest_address2, + guest_city=guest_city, + guest_country=guest_country, + guest_state=guest_state, + guest_zip=guest_zip, + guest_birth_date=guest_birth_date, + guest_document_type=guest_document_type, + guest_document_number=guest_document_number, + guest_document_issue_date=guest_document_issue_date, + guest_document_issuing_country=guest_document_issuing_country, + guest_document_expiration_date=guest_document_expiration_date, + guest_requirements=guest_requirements, + custom_fields=custom_fields, + guest_note=guest_note, + reservation_note=reservation_note, + guest_company_name=guest_company_name, + guest_company_tax_id=guest_company_tax_id, + guest_tax_id=guest_tax_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGuestResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_guest_post_serialize( + self, + property_id, + reservation_id, + guest_first_name, + guest_last_name, + guest_gender, + guest_email, + guest_phone, + guest_cell_phone, + guest_address1, + guest_address2, + guest_city, + guest_country, + guest_state, + guest_zip, + guest_birth_date, + guest_document_type, + guest_document_number, + guest_document_issue_date, + guest_document_issuing_country, + guest_document_expiration_date, + guest_requirements, + custom_fields, + guest_note, + reservation_note, + guest_company_name, + guest_company_tax_id, + guest_tax_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'guestRequirements': 'csv', + 'customFields': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if guest_first_name is not None: + _form_params.append(('guestFirstName', guest_first_name)) + if guest_last_name is not None: + _form_params.append(('guestLastName', guest_last_name)) + if guest_gender is not None: + _form_params.append(('guestGender', guest_gender)) + if guest_email is not None: + _form_params.append(('guestEmail', guest_email)) + if guest_phone is not None: + _form_params.append(('guestPhone', guest_phone)) + if guest_cell_phone is not None: + _form_params.append(('guestCellPhone', guest_cell_phone)) + if guest_address1 is not None: + _form_params.append(('guestAddress1', guest_address1)) + if guest_address2 is not None: + _form_params.append(('guestAddress2', guest_address2)) + if guest_city is not None: + _form_params.append(('guestCity', guest_city)) + if guest_country is not None: + _form_params.append(('guestCountry', guest_country)) + if guest_state is not None: + _form_params.append(('guestState', guest_state)) + if guest_zip is not None: + _form_params.append(('guestZip', guest_zip)) + if guest_birth_date is not None: + _form_params.append(('guestBirthDate', guest_birth_date)) + if guest_document_type is not None: + _form_params.append(('guestDocumentType', guest_document_type)) + if guest_document_number is not None: + _form_params.append(('guestDocumentNumber', guest_document_number)) + if guest_document_issue_date is not None: + _form_params.append(('guestDocumentIssueDate', guest_document_issue_date)) + if guest_document_issuing_country is not None: + _form_params.append(('guestDocumentIssuingCountry', guest_document_issuing_country)) + if guest_document_expiration_date is not None: + _form_params.append(('guestDocumentExpirationDate', guest_document_expiration_date)) + if guest_requirements is not None: + _form_params.append(('guestRequirements', guest_requirements)) + if custom_fields is not None: + _form_params.append(('customFields', custom_fields)) + if guest_note is not None: + _form_params.append(('guestNote', guest_note)) + if reservation_note is not None: + _form_params.append(('reservationNote', reservation_note)) + if guest_company_name is not None: + _form_params.append(('guestCompanyName', guest_company_name)) + if guest_company_tax_id is not None: + _form_params.append(('guestCompanyTaxId', guest_company_tax_id)) + if guest_tax_id is not None: + _form_params.append(('guestTaxId', guest_tax_id)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postGuest', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_guests_to_room_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation ID")] = None, + room_id: Annotated[Optional[StrictInt], Field(description="Room ID already assigned to Reservation")] = None, + guest_ids: Annotated[Optional[StrictStr], Field(description="Guest ID(s) to be assigned to room. If more than one, send as comma-separated, i.e. 37,345,89")] = None, + remove_guest_ids: Annotated[Optional[StrictStr], Field(description="If sent, will remove guest ID(s) before adding guests sent in guestIDs parameter. If more than one, send as comma-separated, i.e. 37,345,89. Main Guest is never removed.")] = None, + remove_guest_ids_from_room: Annotated[Optional[StrictStr], Field(description="If sent, will remove guest ID(s) only from the specified Room ID(s). If more than one, send as comma-separated, i.e. 37,345,89. Incompatible with removeAll parameter.")] = None, + remove_all: Annotated[Optional[StrictBool], Field(description="If set true, will remove all guests assigned to roomID before assigning guests sent in guestIDs parameter. Main Guest is never removed.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostGuestsToRoomResponse: + """postGuestsToRoom + + Assigns guest(s) to a room in a reservation and adds these guests as additional guests. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation ID + :type reservation_id: str + :param room_id: Room ID already assigned to Reservation + :type room_id: int + :param guest_ids: Guest ID(s) to be assigned to room. If more than one, send as comma-separated, i.e. 37,345,89 + :type guest_ids: str + :param remove_guest_ids: If sent, will remove guest ID(s) before adding guests sent in guestIDs parameter. If more than one, send as comma-separated, i.e. 37,345,89. Main Guest is never removed. + :type remove_guest_ids: str + :param remove_guest_ids_from_room: If sent, will remove guest ID(s) only from the specified Room ID(s). If more than one, send as comma-separated, i.e. 37,345,89. Incompatible with removeAll parameter. + :type remove_guest_ids_from_room: str + :param remove_all: If set true, will remove all guests assigned to roomID before assigning guests sent in guestIDs parameter. Main Guest is never removed. + :type remove_all: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_guests_to_room_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + room_id=room_id, + guest_ids=guest_ids, + remove_guest_ids=remove_guest_ids, + remove_guest_ids_from_room=remove_guest_ids_from_room, + remove_all=remove_all, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGuestsToRoomResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_guests_to_room_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation ID")] = None, + room_id: Annotated[Optional[StrictInt], Field(description="Room ID already assigned to Reservation")] = None, + guest_ids: Annotated[Optional[StrictStr], Field(description="Guest ID(s) to be assigned to room. If more than one, send as comma-separated, i.e. 37,345,89")] = None, + remove_guest_ids: Annotated[Optional[StrictStr], Field(description="If sent, will remove guest ID(s) before adding guests sent in guestIDs parameter. If more than one, send as comma-separated, i.e. 37,345,89. Main Guest is never removed.")] = None, + remove_guest_ids_from_room: Annotated[Optional[StrictStr], Field(description="If sent, will remove guest ID(s) only from the specified Room ID(s). If more than one, send as comma-separated, i.e. 37,345,89. Incompatible with removeAll parameter.")] = None, + remove_all: Annotated[Optional[StrictBool], Field(description="If set true, will remove all guests assigned to roomID before assigning guests sent in guestIDs parameter. Main Guest is never removed.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostGuestsToRoomResponse]: + """postGuestsToRoom + + Assigns guest(s) to a room in a reservation and adds these guests as additional guests. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation ID + :type reservation_id: str + :param room_id: Room ID already assigned to Reservation + :type room_id: int + :param guest_ids: Guest ID(s) to be assigned to room. If more than one, send as comma-separated, i.e. 37,345,89 + :type guest_ids: str + :param remove_guest_ids: If sent, will remove guest ID(s) before adding guests sent in guestIDs parameter. If more than one, send as comma-separated, i.e. 37,345,89. Main Guest is never removed. + :type remove_guest_ids: str + :param remove_guest_ids_from_room: If sent, will remove guest ID(s) only from the specified Room ID(s). If more than one, send as comma-separated, i.e. 37,345,89. Incompatible with removeAll parameter. + :type remove_guest_ids_from_room: str + :param remove_all: If set true, will remove all guests assigned to roomID before assigning guests sent in guestIDs parameter. Main Guest is never removed. + :type remove_all: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_guests_to_room_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + room_id=room_id, + guest_ids=guest_ids, + remove_guest_ids=remove_guest_ids, + remove_guest_ids_from_room=remove_guest_ids_from_room, + remove_all=remove_all, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGuestsToRoomResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_guests_to_room_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation ID")] = None, + room_id: Annotated[Optional[StrictInt], Field(description="Room ID already assigned to Reservation")] = None, + guest_ids: Annotated[Optional[StrictStr], Field(description="Guest ID(s) to be assigned to room. If more than one, send as comma-separated, i.e. 37,345,89")] = None, + remove_guest_ids: Annotated[Optional[StrictStr], Field(description="If sent, will remove guest ID(s) before adding guests sent in guestIDs parameter. If more than one, send as comma-separated, i.e. 37,345,89. Main Guest is never removed.")] = None, + remove_guest_ids_from_room: Annotated[Optional[StrictStr], Field(description="If sent, will remove guest ID(s) only from the specified Room ID(s). If more than one, send as comma-separated, i.e. 37,345,89. Incompatible with removeAll parameter.")] = None, + remove_all: Annotated[Optional[StrictBool], Field(description="If set true, will remove all guests assigned to roomID before assigning guests sent in guestIDs parameter. Main Guest is never removed.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postGuestsToRoom + + Assigns guest(s) to a room in a reservation and adds these guests as additional guests. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation ID + :type reservation_id: str + :param room_id: Room ID already assigned to Reservation + :type room_id: int + :param guest_ids: Guest ID(s) to be assigned to room. If more than one, send as comma-separated, i.e. 37,345,89 + :type guest_ids: str + :param remove_guest_ids: If sent, will remove guest ID(s) before adding guests sent in guestIDs parameter. If more than one, send as comma-separated, i.e. 37,345,89. Main Guest is never removed. + :type remove_guest_ids: str + :param remove_guest_ids_from_room: If sent, will remove guest ID(s) only from the specified Room ID(s). If more than one, send as comma-separated, i.e. 37,345,89. Incompatible with removeAll parameter. + :type remove_guest_ids_from_room: str + :param remove_all: If set true, will remove all guests assigned to roomID before assigning guests sent in guestIDs parameter. Main Guest is never removed. + :type remove_all: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_guests_to_room_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + room_id=room_id, + guest_ids=guest_ids, + remove_guest_ids=remove_guest_ids, + remove_guest_ids_from_room=remove_guest_ids_from_room, + remove_all=remove_all, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGuestsToRoomResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_guests_to_room_post_serialize( + self, + property_id, + reservation_id, + room_id, + guest_ids, + remove_guest_ids, + remove_guest_ids_from_room, + remove_all, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if room_id is not None: + _form_params.append(('roomID', room_id)) + if guest_ids is not None: + _form_params.append(('guestIDs', guest_ids)) + if remove_guest_ids is not None: + _form_params.append(('removeGuestIDs', remove_guest_ids)) + if remove_guest_ids_from_room is not None: + _form_params.append(('removeGuestIDsFromRoom', remove_guest_ids_from_room)) + if remove_all is not None: + _form_params.append(('removeAll', remove_all)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postGuestsToRoom', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def put_guest_note_put( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest ID")] = None, + note_id: Annotated[Optional[StrictStr], Field(description="Note ID")] = None, + guest_note: Annotated[Optional[StrictStr], Field(description="Note to be added to guest profile. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PutGuestNoteResponse: + """putGuestNote + + Updates an existing guest note. + + :param property_id: Property ID + :type property_id: str + :param guest_id: Guest ID + :type guest_id: str + :param note_id: Note ID + :type note_id: str + :param guest_note: Note to be added to guest profile. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. + :type guest_note: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_guest_note_put_serialize( + property_id=property_id, + guest_id=guest_id, + note_id=note_id, + guest_note=guest_note, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutGuestNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def put_guest_note_put_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest ID")] = None, + note_id: Annotated[Optional[StrictStr], Field(description="Note ID")] = None, + guest_note: Annotated[Optional[StrictStr], Field(description="Note to be added to guest profile. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PutGuestNoteResponse]: + """putGuestNote + + Updates an existing guest note. + + :param property_id: Property ID + :type property_id: str + :param guest_id: Guest ID + :type guest_id: str + :param note_id: Note ID + :type note_id: str + :param guest_note: Note to be added to guest profile. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. + :type guest_note: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_guest_note_put_serialize( + property_id=property_id, + guest_id=guest_id, + note_id=note_id, + guest_note=guest_note, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutGuestNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def put_guest_note_put_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest ID")] = None, + note_id: Annotated[Optional[StrictStr], Field(description="Note ID")] = None, + guest_note: Annotated[Optional[StrictStr], Field(description="Note to be added to guest profile. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """putGuestNote + + Updates an existing guest note. + + :param property_id: Property ID + :type property_id: str + :param guest_id: Guest ID + :type guest_id: str + :param note_id: Note ID + :type note_id: str + :param guest_note: Note to be added to guest profile. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. + :type guest_note: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_guest_note_put_serialize( + property_id=property_id, + guest_id=guest_id, + note_id=note_id, + guest_note=guest_note, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutGuestNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _put_guest_note_put_serialize( + self, + property_id, + guest_id, + note_id, + guest_note, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if guest_id is not None: + _form_params.append(('guestID', guest_id)) + if note_id is not None: + _form_params.append(('noteID', note_id)) + if guest_note is not None: + _form_params.append(('guestNote', guest_note)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/putGuestNote', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def put_guest_put( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Valid Guest ID")] = None, + guest_first_name: Optional[StrictStr] = None, + guest_last_name: Optional[StrictStr] = None, + guest_gender: Optional[StrictStr] = None, + guest_email: Optional[StrictStr] = None, + guest_phone: Optional[StrictStr] = None, + guest_cell_phone: Optional[StrictStr] = None, + guest_address1: Optional[StrictStr] = None, + guest_address2: Optional[StrictStr] = None, + guest_city: Optional[StrictStr] = None, + guest_country: Annotated[Optional[StrictStr], Field(description="ISO-Code for Country (2 characters)")] = None, + guest_state: Optional[StrictStr] = None, + guest_zip: Optional[StrictStr] = None, + guest_birth_date: Optional[date] = None, + guest_document_type: Annotated[Optional[StrictStr], Field(description="It is mandatory to send all document information
na - non selection
dni - Identity card
nie - Residence permit
cpf - Brazilian Tax ID
")] = None, + guest_document_number: Annotated[Optional[StrictStr], Field(description="(mandatory when guestDocumentType is sent)")] = None, + guest_document_issue_date: Annotated[Optional[date], Field(description="(mandatory when guestDocumentType is sent and is not DNI or CPF)")] = None, + guest_document_issuing_country: Annotated[Optional[StrictStr], Field(description="ISO-Code for Country (2 characters) (mandatory when guestDocumentType is sent)")] = None, + guest_document_expiration_date: Annotated[Optional[date], Field(description="(mandatory when guestDocumentType is sent and is not DNI, NIE, or CPF)")] = None, + guest_requirements: Annotated[Optional[List[Dict[str, Any]]], Field(description="Object with guest requirements information.")] = None, + guest_custom_fields: Optional[List[PutGuestRequestGuestCustomFieldsInner]] = None, + guest_company_name: Annotated[Optional[StrictStr], Field(description="Guest company name")] = None, + guest_company_tax_id: Annotated[Optional[StrictStr], Field(description="Guest company tax ID")] = None, + guest_tax_id: Annotated[Optional[StrictStr], Field(description="Guest tax ID unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PutGuestResponse: + """putGuest + + Updates an existing guest with information provided. At least one information field is required for this call. + + :param property_id: Property ID + :type property_id: str + :param guest_id: Valid Guest ID + :type guest_id: str + :param guest_first_name: + :type guest_first_name: str + :param guest_last_name: + :type guest_last_name: str + :param guest_gender: + :type guest_gender: str + :param guest_email: + :type guest_email: str + :param guest_phone: + :type guest_phone: str + :param guest_cell_phone: + :type guest_cell_phone: str + :param guest_address1: + :type guest_address1: str + :param guest_address2: + :type guest_address2: str + :param guest_city: + :type guest_city: str + :param guest_country: ISO-Code for Country (2 characters) + :type guest_country: str + :param guest_state: + :type guest_state: str + :param guest_zip: + :type guest_zip: str + :param guest_birth_date: + :type guest_birth_date: date + :param guest_document_type: It is mandatory to send all document information
na - non selection
dni - Identity card
nie - Residence permit
cpf - Brazilian Tax ID
+ :type guest_document_type: str + :param guest_document_number: (mandatory when guestDocumentType is sent) + :type guest_document_number: str + :param guest_document_issue_date: (mandatory when guestDocumentType is sent and is not DNI or CPF) + :type guest_document_issue_date: date + :param guest_document_issuing_country: ISO-Code for Country (2 characters) (mandatory when guestDocumentType is sent) + :type guest_document_issuing_country: str + :param guest_document_expiration_date: (mandatory when guestDocumentType is sent and is not DNI, NIE, or CPF) + :type guest_document_expiration_date: date + :param guest_requirements: Object with guest requirements information. + :type guest_requirements: List[object] + :param guest_custom_fields: + :type guest_custom_fields: List[PutGuestRequestGuestCustomFieldsInner] + :param guest_company_name: Guest company name + :type guest_company_name: str + :param guest_company_tax_id: Guest company tax ID + :type guest_company_tax_id: str + :param guest_tax_id: Guest tax ID unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. + :type guest_tax_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_guest_put_serialize( + property_id=property_id, + guest_id=guest_id, + guest_first_name=guest_first_name, + guest_last_name=guest_last_name, + guest_gender=guest_gender, + guest_email=guest_email, + guest_phone=guest_phone, + guest_cell_phone=guest_cell_phone, + guest_address1=guest_address1, + guest_address2=guest_address2, + guest_city=guest_city, + guest_country=guest_country, + guest_state=guest_state, + guest_zip=guest_zip, + guest_birth_date=guest_birth_date, + guest_document_type=guest_document_type, + guest_document_number=guest_document_number, + guest_document_issue_date=guest_document_issue_date, + guest_document_issuing_country=guest_document_issuing_country, + guest_document_expiration_date=guest_document_expiration_date, + guest_requirements=guest_requirements, + guest_custom_fields=guest_custom_fields, + guest_company_name=guest_company_name, + guest_company_tax_id=guest_company_tax_id, + guest_tax_id=guest_tax_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutGuestResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def put_guest_put_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Valid Guest ID")] = None, + guest_first_name: Optional[StrictStr] = None, + guest_last_name: Optional[StrictStr] = None, + guest_gender: Optional[StrictStr] = None, + guest_email: Optional[StrictStr] = None, + guest_phone: Optional[StrictStr] = None, + guest_cell_phone: Optional[StrictStr] = None, + guest_address1: Optional[StrictStr] = None, + guest_address2: Optional[StrictStr] = None, + guest_city: Optional[StrictStr] = None, + guest_country: Annotated[Optional[StrictStr], Field(description="ISO-Code for Country (2 characters)")] = None, + guest_state: Optional[StrictStr] = None, + guest_zip: Optional[StrictStr] = None, + guest_birth_date: Optional[date] = None, + guest_document_type: Annotated[Optional[StrictStr], Field(description="It is mandatory to send all document information
na - non selection
dni - Identity card
nie - Residence permit
cpf - Brazilian Tax ID
")] = None, + guest_document_number: Annotated[Optional[StrictStr], Field(description="(mandatory when guestDocumentType is sent)")] = None, + guest_document_issue_date: Annotated[Optional[date], Field(description="(mandatory when guestDocumentType is sent and is not DNI or CPF)")] = None, + guest_document_issuing_country: Annotated[Optional[StrictStr], Field(description="ISO-Code for Country (2 characters) (mandatory when guestDocumentType is sent)")] = None, + guest_document_expiration_date: Annotated[Optional[date], Field(description="(mandatory when guestDocumentType is sent and is not DNI, NIE, or CPF)")] = None, + guest_requirements: Annotated[Optional[List[Dict[str, Any]]], Field(description="Object with guest requirements information.")] = None, + guest_custom_fields: Optional[List[PutGuestRequestGuestCustomFieldsInner]] = None, + guest_company_name: Annotated[Optional[StrictStr], Field(description="Guest company name")] = None, + guest_company_tax_id: Annotated[Optional[StrictStr], Field(description="Guest company tax ID")] = None, + guest_tax_id: Annotated[Optional[StrictStr], Field(description="Guest tax ID unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PutGuestResponse]: + """putGuest + + Updates an existing guest with information provided. At least one information field is required for this call. + + :param property_id: Property ID + :type property_id: str + :param guest_id: Valid Guest ID + :type guest_id: str + :param guest_first_name: + :type guest_first_name: str + :param guest_last_name: + :type guest_last_name: str + :param guest_gender: + :type guest_gender: str + :param guest_email: + :type guest_email: str + :param guest_phone: + :type guest_phone: str + :param guest_cell_phone: + :type guest_cell_phone: str + :param guest_address1: + :type guest_address1: str + :param guest_address2: + :type guest_address2: str + :param guest_city: + :type guest_city: str + :param guest_country: ISO-Code for Country (2 characters) + :type guest_country: str + :param guest_state: + :type guest_state: str + :param guest_zip: + :type guest_zip: str + :param guest_birth_date: + :type guest_birth_date: date + :param guest_document_type: It is mandatory to send all document information
na - non selection
dni - Identity card
nie - Residence permit
cpf - Brazilian Tax ID
+ :type guest_document_type: str + :param guest_document_number: (mandatory when guestDocumentType is sent) + :type guest_document_number: str + :param guest_document_issue_date: (mandatory when guestDocumentType is sent and is not DNI or CPF) + :type guest_document_issue_date: date + :param guest_document_issuing_country: ISO-Code for Country (2 characters) (mandatory when guestDocumentType is sent) + :type guest_document_issuing_country: str + :param guest_document_expiration_date: (mandatory when guestDocumentType is sent and is not DNI, NIE, or CPF) + :type guest_document_expiration_date: date + :param guest_requirements: Object with guest requirements information. + :type guest_requirements: List[object] + :param guest_custom_fields: + :type guest_custom_fields: List[PutGuestRequestGuestCustomFieldsInner] + :param guest_company_name: Guest company name + :type guest_company_name: str + :param guest_company_tax_id: Guest company tax ID + :type guest_company_tax_id: str + :param guest_tax_id: Guest tax ID unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. + :type guest_tax_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_guest_put_serialize( + property_id=property_id, + guest_id=guest_id, + guest_first_name=guest_first_name, + guest_last_name=guest_last_name, + guest_gender=guest_gender, + guest_email=guest_email, + guest_phone=guest_phone, + guest_cell_phone=guest_cell_phone, + guest_address1=guest_address1, + guest_address2=guest_address2, + guest_city=guest_city, + guest_country=guest_country, + guest_state=guest_state, + guest_zip=guest_zip, + guest_birth_date=guest_birth_date, + guest_document_type=guest_document_type, + guest_document_number=guest_document_number, + guest_document_issue_date=guest_document_issue_date, + guest_document_issuing_country=guest_document_issuing_country, + guest_document_expiration_date=guest_document_expiration_date, + guest_requirements=guest_requirements, + guest_custom_fields=guest_custom_fields, + guest_company_name=guest_company_name, + guest_company_tax_id=guest_company_tax_id, + guest_tax_id=guest_tax_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutGuestResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def put_guest_put_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Valid Guest ID")] = None, + guest_first_name: Optional[StrictStr] = None, + guest_last_name: Optional[StrictStr] = None, + guest_gender: Optional[StrictStr] = None, + guest_email: Optional[StrictStr] = None, + guest_phone: Optional[StrictStr] = None, + guest_cell_phone: Optional[StrictStr] = None, + guest_address1: Optional[StrictStr] = None, + guest_address2: Optional[StrictStr] = None, + guest_city: Optional[StrictStr] = None, + guest_country: Annotated[Optional[StrictStr], Field(description="ISO-Code for Country (2 characters)")] = None, + guest_state: Optional[StrictStr] = None, + guest_zip: Optional[StrictStr] = None, + guest_birth_date: Optional[date] = None, + guest_document_type: Annotated[Optional[StrictStr], Field(description="It is mandatory to send all document information
na - non selection
dni - Identity card
nie - Residence permit
cpf - Brazilian Tax ID
")] = None, + guest_document_number: Annotated[Optional[StrictStr], Field(description="(mandatory when guestDocumentType is sent)")] = None, + guest_document_issue_date: Annotated[Optional[date], Field(description="(mandatory when guestDocumentType is sent and is not DNI or CPF)")] = None, + guest_document_issuing_country: Annotated[Optional[StrictStr], Field(description="ISO-Code for Country (2 characters) (mandatory when guestDocumentType is sent)")] = None, + guest_document_expiration_date: Annotated[Optional[date], Field(description="(mandatory when guestDocumentType is sent and is not DNI, NIE, or CPF)")] = None, + guest_requirements: Annotated[Optional[List[Dict[str, Any]]], Field(description="Object with guest requirements information.")] = None, + guest_custom_fields: Optional[List[PutGuestRequestGuestCustomFieldsInner]] = None, + guest_company_name: Annotated[Optional[StrictStr], Field(description="Guest company name")] = None, + guest_company_tax_id: Annotated[Optional[StrictStr], Field(description="Guest company tax ID")] = None, + guest_tax_id: Annotated[Optional[StrictStr], Field(description="Guest tax ID unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """putGuest + + Updates an existing guest with information provided. At least one information field is required for this call. + + :param property_id: Property ID + :type property_id: str + :param guest_id: Valid Guest ID + :type guest_id: str + :param guest_first_name: + :type guest_first_name: str + :param guest_last_name: + :type guest_last_name: str + :param guest_gender: + :type guest_gender: str + :param guest_email: + :type guest_email: str + :param guest_phone: + :type guest_phone: str + :param guest_cell_phone: + :type guest_cell_phone: str + :param guest_address1: + :type guest_address1: str + :param guest_address2: + :type guest_address2: str + :param guest_city: + :type guest_city: str + :param guest_country: ISO-Code for Country (2 characters) + :type guest_country: str + :param guest_state: + :type guest_state: str + :param guest_zip: + :type guest_zip: str + :param guest_birth_date: + :type guest_birth_date: date + :param guest_document_type: It is mandatory to send all document information
na - non selection
dni - Identity card
nie - Residence permit
cpf - Brazilian Tax ID
+ :type guest_document_type: str + :param guest_document_number: (mandatory when guestDocumentType is sent) + :type guest_document_number: str + :param guest_document_issue_date: (mandatory when guestDocumentType is sent and is not DNI or CPF) + :type guest_document_issue_date: date + :param guest_document_issuing_country: ISO-Code for Country (2 characters) (mandatory when guestDocumentType is sent) + :type guest_document_issuing_country: str + :param guest_document_expiration_date: (mandatory when guestDocumentType is sent and is not DNI, NIE, or CPF) + :type guest_document_expiration_date: date + :param guest_requirements: Object with guest requirements information. + :type guest_requirements: List[object] + :param guest_custom_fields: + :type guest_custom_fields: List[PutGuestRequestGuestCustomFieldsInner] + :param guest_company_name: Guest company name + :type guest_company_name: str + :param guest_company_tax_id: Guest company tax ID + :type guest_company_tax_id: str + :param guest_tax_id: Guest tax ID unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. + :type guest_tax_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_guest_put_serialize( + property_id=property_id, + guest_id=guest_id, + guest_first_name=guest_first_name, + guest_last_name=guest_last_name, + guest_gender=guest_gender, + guest_email=guest_email, + guest_phone=guest_phone, + guest_cell_phone=guest_cell_phone, + guest_address1=guest_address1, + guest_address2=guest_address2, + guest_city=guest_city, + guest_country=guest_country, + guest_state=guest_state, + guest_zip=guest_zip, + guest_birth_date=guest_birth_date, + guest_document_type=guest_document_type, + guest_document_number=guest_document_number, + guest_document_issue_date=guest_document_issue_date, + guest_document_issuing_country=guest_document_issuing_country, + guest_document_expiration_date=guest_document_expiration_date, + guest_requirements=guest_requirements, + guest_custom_fields=guest_custom_fields, + guest_company_name=guest_company_name, + guest_company_tax_id=guest_company_tax_id, + guest_tax_id=guest_tax_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutGuestResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _put_guest_put_serialize( + self, + property_id, + guest_id, + guest_first_name, + guest_last_name, + guest_gender, + guest_email, + guest_phone, + guest_cell_phone, + guest_address1, + guest_address2, + guest_city, + guest_country, + guest_state, + guest_zip, + guest_birth_date, + guest_document_type, + guest_document_number, + guest_document_issue_date, + guest_document_issuing_country, + guest_document_expiration_date, + guest_requirements, + guest_custom_fields, + guest_company_name, + guest_company_tax_id, + guest_tax_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'guestRequirements': 'csv', + 'guestCustomFields': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if guest_id is not None: + _form_params.append(('guestID', guest_id)) + if guest_first_name is not None: + _form_params.append(('guestFirstName', guest_first_name)) + if guest_last_name is not None: + _form_params.append(('guestLastName', guest_last_name)) + if guest_gender is not None: + _form_params.append(('guestGender', guest_gender)) + if guest_email is not None: + _form_params.append(('guestEmail', guest_email)) + if guest_phone is not None: + _form_params.append(('guestPhone', guest_phone)) + if guest_cell_phone is not None: + _form_params.append(('guestCellPhone', guest_cell_phone)) + if guest_address1 is not None: + _form_params.append(('guestAddress1', guest_address1)) + if guest_address2 is not None: + _form_params.append(('guestAddress2', guest_address2)) + if guest_city is not None: + _form_params.append(('guestCity', guest_city)) + if guest_country is not None: + _form_params.append(('guestCountry', guest_country)) + if guest_state is not None: + _form_params.append(('guestState', guest_state)) + if guest_zip is not None: + _form_params.append(('guestZip', guest_zip)) + if guest_birth_date is not None: + _form_params.append(('guestBirthDate', guest_birth_date)) + if guest_document_type is not None: + _form_params.append(('guestDocumentType', guest_document_type)) + if guest_document_number is not None: + _form_params.append(('guestDocumentNumber', guest_document_number)) + if guest_document_issue_date is not None: + _form_params.append(('guestDocumentIssueDate', guest_document_issue_date)) + if guest_document_issuing_country is not None: + _form_params.append(('guestDocumentIssuingCountry', guest_document_issuing_country)) + if guest_document_expiration_date is not None: + _form_params.append(('guestDocumentExpirationDate', guest_document_expiration_date)) + if guest_requirements is not None: + _form_params.append(('guestRequirements', guest_requirements)) + if guest_custom_fields is not None: + _form_params.append(('guestCustomFields', guest_custom_fields)) + if guest_company_name is not None: + _form_params.append(('guestCompanyName', guest_company_name)) + if guest_company_tax_id is not None: + _form_params.append(('guestCompanyTaxId', guest_company_tax_id)) + if guest_tax_id is not None: + _form_params.append(('guestTaxId', guest_tax_id)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/putGuest', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/hotel_api.py b/cloudbeds_pms_v1_3/api/hotel_api.py new file mode 100644 index 0000000..84658e0 --- /dev/null +++ b/cloudbeds_pms_v1_3/api/hotel_api.py @@ -0,0 +1,1309 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBytes, StrictInt, StrictStr, field_validator +from typing import Optional, Tuple, Union +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.get_files_response import GetFilesResponse +from cloudbeds_pms_v1_3.models.get_hotel_details_response import GetHotelDetailsResponse +from cloudbeds_pms_v1_3.models.get_hotels_response import GetHotelsResponse +from cloudbeds_pms_v1_3.models.post_file_response import PostFileResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class HotelApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_files_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="The group code, if the files are to be fetched from a group profile")] = None, + sort_by: Annotated[Optional[StrictStr], Field(description="Sort By parameter")] = None, + order_by: Annotated[Optional[StrictStr], Field(description="Order response in DESCending or ASCending order, used together with sortBy")] = None, + name: Annotated[Optional[StrictStr], Field(description="Filter filess by name. Include only with names containing specified string")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetFilesResponse: + """getFiles + + Returns a list of files attached to a hotel or group profile, ordered by creation date + + :param property_id: Property ID + :type property_id: str + :param group_code: The group code, if the files are to be fetched from a group profile + :type group_code: str + :param sort_by: Sort By parameter + :type sort_by: str + :param order_by: Order response in DESCending or ASCending order, used together with sortBy + :type order_by: str + :param name: Filter filess by name. Include only with names containing specified string + :type name: str + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_files_get_serialize( + property_id=property_id, + group_code=group_code, + sort_by=sort_by, + order_by=order_by, + name=name, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFilesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_files_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="The group code, if the files are to be fetched from a group profile")] = None, + sort_by: Annotated[Optional[StrictStr], Field(description="Sort By parameter")] = None, + order_by: Annotated[Optional[StrictStr], Field(description="Order response in DESCending or ASCending order, used together with sortBy")] = None, + name: Annotated[Optional[StrictStr], Field(description="Filter filess by name. Include only with names containing specified string")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetFilesResponse]: + """getFiles + + Returns a list of files attached to a hotel or group profile, ordered by creation date + + :param property_id: Property ID + :type property_id: str + :param group_code: The group code, if the files are to be fetched from a group profile + :type group_code: str + :param sort_by: Sort By parameter + :type sort_by: str + :param order_by: Order response in DESCending or ASCending order, used together with sortBy + :type order_by: str + :param name: Filter filess by name. Include only with names containing specified string + :type name: str + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_files_get_serialize( + property_id=property_id, + group_code=group_code, + sort_by=sort_by, + order_by=order_by, + name=name, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFilesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_files_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="The group code, if the files are to be fetched from a group profile")] = None, + sort_by: Annotated[Optional[StrictStr], Field(description="Sort By parameter")] = None, + order_by: Annotated[Optional[StrictStr], Field(description="Order response in DESCending or ASCending order, used together with sortBy")] = None, + name: Annotated[Optional[StrictStr], Field(description="Filter filess by name. Include only with names containing specified string")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getFiles + + Returns a list of files attached to a hotel or group profile, ordered by creation date + + :param property_id: Property ID + :type property_id: str + :param group_code: The group code, if the files are to be fetched from a group profile + :type group_code: str + :param sort_by: Sort By parameter + :type sort_by: str + :param order_by: Order response in DESCending or ASCending order, used together with sortBy + :type order_by: str + :param name: Filter filess by name. Include only with names containing specified string + :type name: str + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_files_get_serialize( + property_id=property_id, + group_code=group_code, + sort_by=sort_by, + order_by=order_by, + name=name, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetFilesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_files_get_serialize( + self, + property_id, + group_code, + sort_by, + order_by, + name, + page_number, + page_size, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if group_code is not None: + + _query_params.append(('groupCode', group_code)) + + if sort_by is not None: + + _query_params.append(('sortBy', sort_by)) + + if order_by is not None: + + _query_params.append(('orderBy', order_by)) + + if name is not None: + + _query_params.append(('name', name)) + + if page_number is not None: + + _query_params.append(('pageNumber', page_number)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getFiles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_hotel_details_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetHotelDetailsResponse: + """getHotelDetails + + Returns the details of a specific hotel, identified by \"propertyID\" + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_hotel_details_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetHotelDetailsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_hotel_details_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetHotelDetailsResponse]: + """getHotelDetails + + Returns the details of a specific hotel, identified by \"propertyID\" + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_hotel_details_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetHotelDetailsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_hotel_details_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getHotelDetails + + Returns the details of a specific hotel, identified by \"propertyID\" + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_hotel_details_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetHotelDetailsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_hotel_details_get_serialize( + self, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getHotelDetails', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_hotels_get( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + property_name: Annotated[Optional[StrictStr], Field(description="Property name, or part of it")] = None, + property_city: Annotated[Optional[StrictStr], Field(description="Property city, or part of it")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Page size")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetHotelsResponse: + """getHotels + + Returns a list of hotels, filtered by the parameters passed ### Group account support + + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param property_name: Property name, or part of it + :type property_name: str + :param property_city: Property city, or part of it + :type property_city: str + :param page_number: Page number + :type page_number: int + :param page_size: Page size + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_hotels_get_serialize( + property_ids=property_ids, + property_name=property_name, + property_city=property_city, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetHotelsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_hotels_get_with_http_info( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + property_name: Annotated[Optional[StrictStr], Field(description="Property name, or part of it")] = None, + property_city: Annotated[Optional[StrictStr], Field(description="Property city, or part of it")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Page size")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetHotelsResponse]: + """getHotels + + Returns a list of hotels, filtered by the parameters passed ### Group account support + + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param property_name: Property name, or part of it + :type property_name: str + :param property_city: Property city, or part of it + :type property_city: str + :param page_number: Page number + :type page_number: int + :param page_size: Page size + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_hotels_get_serialize( + property_ids=property_ids, + property_name=property_name, + property_city=property_city, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetHotelsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_hotels_get_without_preload_content( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + property_name: Annotated[Optional[StrictStr], Field(description="Property name, or part of it")] = None, + property_city: Annotated[Optional[StrictStr], Field(description="Property city, or part of it")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Page size")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getHotels + + Returns a list of hotels, filtered by the parameters passed ### Group account support + + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param property_name: Property name, or part of it + :type property_name: str + :param property_city: Property city, or part of it + :type property_city: str + :param page_number: Page number + :type page_number: int + :param page_size: Page size + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_hotels_get_serialize( + property_ids=property_ids, + property_name=property_name, + property_city=property_city, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetHotelsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_hotels_get_serialize( + self, + property_ids, + property_name, + property_city, + page_number, + page_size, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_ids is not None: + + _query_params.append(('propertyIDs', property_ids)) + + if property_name is not None: + + _query_params.append(('propertyName', property_name)) + + if property_city is not None: + + _query_params.append(('propertyCity', property_city)) + + if page_number is not None: + + _query_params.append(('pageNumber', page_number)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getHotels', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_file_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + file: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="optional - the group code if the file is to be attached to a group profile")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostFileResponse: + """postFile + + Attaches a file to a hotel + + :param property_id: Property ID + :type property_id: str + :param file: Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB + :type file: bytearray + :param group_code: optional - the group code if the file is to be attached to a group profile + :type group_code: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_file_post_serialize( + property_id=property_id, + file=file, + group_code=group_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostFileResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_file_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + file: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="optional - the group code if the file is to be attached to a group profile")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostFileResponse]: + """postFile + + Attaches a file to a hotel + + :param property_id: Property ID + :type property_id: str + :param file: Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB + :type file: bytearray + :param group_code: optional - the group code if the file is to be attached to a group profile + :type group_code: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_file_post_serialize( + property_id=property_id, + file=file, + group_code=group_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostFileResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_file_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + file: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="optional - the group code if the file is to be attached to a group profile")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postFile + + Attaches a file to a hotel + + :param property_id: Property ID + :type property_id: str + :param file: Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB + :type file: bytearray + :param group_code: optional - the group code if the file is to be attached to a group profile + :type group_code: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_file_post_serialize( + property_id=property_id, + file=file, + group_code=group_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostFileResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_file_post_serialize( + self, + property_id, + file, + group_code, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if file is not None: + _files['file'] = file + if group_code is not None: + _form_params.append(('groupCode', group_code)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postFile', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/house_account_api.py b/cloudbeds_pms_v1_3/api/house_account_api.py new file mode 100644 index 0000000..d341ee5 --- /dev/null +++ b/cloudbeds_pms_v1_3/api/house_account_api.py @@ -0,0 +1,915 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr, field_validator +from typing import Optional +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.get_house_account_list_response import GetHouseAccountListResponse +from cloudbeds_pms_v1_3.models.post_new_house_account_response import PostNewHouseAccountResponse +from cloudbeds_pms_v1_3.models.put_house_account_status_response import PutHouseAccountStatusResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class HouseAccountApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_house_account_list_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetHouseAccountListResponse: + """getHouseAccountList + + Pulls list of active house accounts + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_house_account_list_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetHouseAccountListResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_house_account_list_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetHouseAccountListResponse]: + """getHouseAccountList + + Pulls list of active house accounts + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_house_account_list_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetHouseAccountListResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_house_account_list_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getHouseAccountList + + Pulls list of active house accounts + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_house_account_list_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetHouseAccountListResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_house_account_list_get_serialize( + self, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getHouseAccountList', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_new_house_account_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + account_name: Annotated[Optional[StrictStr], Field(description="House Account name")] = None, + is_private: Annotated[Optional[StrictBool], Field(description="Whether House Account is available only to user")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostNewHouseAccountResponse: + """postNewHouseAccount + + Add a new House Account + + :param property_id: Property ID + :type property_id: str + :param account_name: House Account name + :type account_name: str + :param is_private: Whether House Account is available only to user + :type is_private: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_new_house_account_post_serialize( + property_id=property_id, + account_name=account_name, + is_private=is_private, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostNewHouseAccountResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_new_house_account_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + account_name: Annotated[Optional[StrictStr], Field(description="House Account name")] = None, + is_private: Annotated[Optional[StrictBool], Field(description="Whether House Account is available only to user")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostNewHouseAccountResponse]: + """postNewHouseAccount + + Add a new House Account + + :param property_id: Property ID + :type property_id: str + :param account_name: House Account name + :type account_name: str + :param is_private: Whether House Account is available only to user + :type is_private: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_new_house_account_post_serialize( + property_id=property_id, + account_name=account_name, + is_private=is_private, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostNewHouseAccountResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_new_house_account_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + account_name: Annotated[Optional[StrictStr], Field(description="House Account name")] = None, + is_private: Annotated[Optional[StrictBool], Field(description="Whether House Account is available only to user")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postNewHouseAccount + + Add a new House Account + + :param property_id: Property ID + :type property_id: str + :param account_name: House Account name + :type account_name: str + :param is_private: Whether House Account is available only to user + :type is_private: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_new_house_account_post_serialize( + property_id=property_id, + account_name=account_name, + is_private=is_private, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostNewHouseAccountResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_new_house_account_post_serialize( + self, + property_id, + account_name, + is_private, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if account_name is not None: + _form_params.append(('accountName', account_name)) + if is_private is not None: + _form_params.append(('isPrivate', is_private)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postNewHouseAccount', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def put_house_account_status_put( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account ID")] = None, + status: Annotated[Optional[StrictStr], Field(description="House Account status")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PutHouseAccountStatusResponse: + """putHouseAccountStatus + + Change specific house account to either open or closed. + + :param property_id: Property ID + :type property_id: str + :param house_account_id: House Account ID + :type house_account_id: str + :param status: House Account status + :type status: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_house_account_status_put_serialize( + property_id=property_id, + house_account_id=house_account_id, + status=status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutHouseAccountStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def put_house_account_status_put_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account ID")] = None, + status: Annotated[Optional[StrictStr], Field(description="House Account status")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PutHouseAccountStatusResponse]: + """putHouseAccountStatus + + Change specific house account to either open or closed. + + :param property_id: Property ID + :type property_id: str + :param house_account_id: House Account ID + :type house_account_id: str + :param status: House Account status + :type status: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_house_account_status_put_serialize( + property_id=property_id, + house_account_id=house_account_id, + status=status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutHouseAccountStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def put_house_account_status_put_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account ID")] = None, + status: Annotated[Optional[StrictStr], Field(description="House Account status")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """putHouseAccountStatus + + Change specific house account to either open or closed. + + :param property_id: Property ID + :type property_id: str + :param house_account_id: House Account ID + :type house_account_id: str + :param status: House Account status + :type status: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_house_account_status_put_serialize( + property_id=property_id, + house_account_id=house_account_id, + status=status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutHouseAccountStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _put_house_account_status_put_serialize( + self, + property_id, + house_account_id, + status, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if house_account_id is not None: + _form_params.append(('houseAccountID', house_account_id)) + if status is not None: + _form_params.append(('status', status)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/putHouseAccountStatus', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/housekeeping_api.py b/cloudbeds_pms_v1_3/api/housekeeping_api.py new file mode 100644 index 0000000..dffdbcd --- /dev/null +++ b/cloudbeds_pms_v1_3/api/housekeeping_api.py @@ -0,0 +1,1973 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictInt, StrictStr, field_validator +from typing import Optional +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.get_housekeepers_response import GetHousekeepersResponse +from cloudbeds_pms_v1_3.models.get_housekeeping_status_response import GetHousekeepingStatusResponse +from cloudbeds_pms_v1_3.models.post_housekeeper_response import PostHousekeeperResponse +from cloudbeds_pms_v1_3.models.post_housekeeping_assignment_response import PostHousekeepingAssignmentResponse +from cloudbeds_pms_v1_3.models.post_housekeeping_status_response import PostHousekeepingStatusResponse +from cloudbeds_pms_v1_3.models.put_housekeeper_response import PutHousekeeperResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class HousekeepingApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_housekeepers_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="ID for the properties to be queried (comma-separated, i.e. 37,345,89). It can be omitted if the API key is single-property, or to get results from all properties on an association.")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 1000")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetHousekeepersResponse: + """getHousekeepers + + Returns a list of housekeepers ### Group account support + + :param property_id: ID for the properties to be queried (comma-separated, i.e. 37,345,89). It can be omitted if the API key is single-property, or to get results from all properties on an association. + :type property_id: str + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 1000 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_housekeepers_get_serialize( + property_id=property_id, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetHousekeepersResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_housekeepers_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="ID for the properties to be queried (comma-separated, i.e. 37,345,89). It can be omitted if the API key is single-property, or to get results from all properties on an association.")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 1000")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetHousekeepersResponse]: + """getHousekeepers + + Returns a list of housekeepers ### Group account support + + :param property_id: ID for the properties to be queried (comma-separated, i.e. 37,345,89). It can be omitted if the API key is single-property, or to get results from all properties on an association. + :type property_id: str + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 1000 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_housekeepers_get_serialize( + property_id=property_id, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetHousekeepersResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_housekeepers_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="ID for the properties to be queried (comma-separated, i.e. 37,345,89). It can be omitted if the API key is single-property, or to get results from all properties on an association.")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 1000")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getHousekeepers + + Returns a list of housekeepers ### Group account support + + :param property_id: ID for the properties to be queried (comma-separated, i.e. 37,345,89). It can be omitted if the API key is single-property, or to get results from all properties on an association. + :type property_id: str + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 1000 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_housekeepers_get_serialize( + property_id=property_id, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetHousekeepersResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_housekeepers_get_serialize( + self, + property_id, + page_number, + page_size, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if page_number is not None: + + _query_params.append(('pageNumber', page_number)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getHousekeepers', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_housekeeping_status_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_type_ids: Annotated[Optional[StrictStr], Field(description="Filter by room type ID. If more than one, send as comma-separated, i.e. 37,345,89")] = None, + housekeeper_ids: Annotated[Optional[StrictStr], Field(description="Use this parameter to filter by housekeeper. If you need to specify multiple housekeepers, send their IDs as a comma-separated list (e.g., 37, 345, 89). To retrieve unassigned housekeepers, use the value 0.")] = None, + room_condition: Annotated[Optional[StrictStr], Field(description="Condition of room")] = None, + room_occupied: Annotated[Optional[StrictBool], Field(description="Flag for current room occupation status")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 5000")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetHousekeepingStatusResponse: + """getHousekeepingStatus + + Returns the current date's housekeeping information The housekeeping status is calculated basing on the set of fields roomOccupied | roomCondition | roomBlocked | vacantPickup | roomBlocked | refusedService The available statuses are: - Vacant and Dirty (VD): false | “dirty” | false | false | false | false - Occupied and Dirty (OD): true | “dirty” | false | false | false | false - Vacant and Clean (VC): false | “clean” | false | false | false | false - Occupied and Clean (OC): true | “clean” | false | false | false | false - Occupied and Clean Inspected (OCI): true | “inspected” | false | false | false | false - Vacant and Clean Inspected (VCI): false | “inspected” | false | false | false | false - Do Not Disturb (DND): if doNotDisturb is true - Refused Service (RS): if refusedService is true - Out of Order (OOO): if roomBlocked is true - Vacant and Pickup (VP): if vacantPickup is true + + :param property_id: Property ID + :type property_id: str + :param room_type_ids: Filter by room type ID. If more than one, send as comma-separated, i.e. 37,345,89 + :type room_type_ids: str + :param housekeeper_ids: Use this parameter to filter by housekeeper. If you need to specify multiple housekeepers, send their IDs as a comma-separated list (e.g., 37, 345, 89). To retrieve unassigned housekeepers, use the value 0. + :type housekeeper_ids: str + :param room_condition: Condition of room + :type room_condition: str + :param room_occupied: Flag for current room occupation status + :type room_occupied: bool + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 5000 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_housekeeping_status_get_serialize( + property_id=property_id, + room_type_ids=room_type_ids, + housekeeper_ids=housekeeper_ids, + room_condition=room_condition, + room_occupied=room_occupied, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetHousekeepingStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_housekeeping_status_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_type_ids: Annotated[Optional[StrictStr], Field(description="Filter by room type ID. If more than one, send as comma-separated, i.e. 37,345,89")] = None, + housekeeper_ids: Annotated[Optional[StrictStr], Field(description="Use this parameter to filter by housekeeper. If you need to specify multiple housekeepers, send their IDs as a comma-separated list (e.g., 37, 345, 89). To retrieve unassigned housekeepers, use the value 0.")] = None, + room_condition: Annotated[Optional[StrictStr], Field(description="Condition of room")] = None, + room_occupied: Annotated[Optional[StrictBool], Field(description="Flag for current room occupation status")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 5000")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetHousekeepingStatusResponse]: + """getHousekeepingStatus + + Returns the current date's housekeeping information The housekeeping status is calculated basing on the set of fields roomOccupied | roomCondition | roomBlocked | vacantPickup | roomBlocked | refusedService The available statuses are: - Vacant and Dirty (VD): false | “dirty” | false | false | false | false - Occupied and Dirty (OD): true | “dirty” | false | false | false | false - Vacant and Clean (VC): false | “clean” | false | false | false | false - Occupied and Clean (OC): true | “clean” | false | false | false | false - Occupied and Clean Inspected (OCI): true | “inspected” | false | false | false | false - Vacant and Clean Inspected (VCI): false | “inspected” | false | false | false | false - Do Not Disturb (DND): if doNotDisturb is true - Refused Service (RS): if refusedService is true - Out of Order (OOO): if roomBlocked is true - Vacant and Pickup (VP): if vacantPickup is true + + :param property_id: Property ID + :type property_id: str + :param room_type_ids: Filter by room type ID. If more than one, send as comma-separated, i.e. 37,345,89 + :type room_type_ids: str + :param housekeeper_ids: Use this parameter to filter by housekeeper. If you need to specify multiple housekeepers, send their IDs as a comma-separated list (e.g., 37, 345, 89). To retrieve unassigned housekeepers, use the value 0. + :type housekeeper_ids: str + :param room_condition: Condition of room + :type room_condition: str + :param room_occupied: Flag for current room occupation status + :type room_occupied: bool + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 5000 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_housekeeping_status_get_serialize( + property_id=property_id, + room_type_ids=room_type_ids, + housekeeper_ids=housekeeper_ids, + room_condition=room_condition, + room_occupied=room_occupied, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetHousekeepingStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_housekeeping_status_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_type_ids: Annotated[Optional[StrictStr], Field(description="Filter by room type ID. If more than one, send as comma-separated, i.e. 37,345,89")] = None, + housekeeper_ids: Annotated[Optional[StrictStr], Field(description="Use this parameter to filter by housekeeper. If you need to specify multiple housekeepers, send their IDs as a comma-separated list (e.g., 37, 345, 89). To retrieve unassigned housekeepers, use the value 0.")] = None, + room_condition: Annotated[Optional[StrictStr], Field(description="Condition of room")] = None, + room_occupied: Annotated[Optional[StrictBool], Field(description="Flag for current room occupation status")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 5000")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getHousekeepingStatus + + Returns the current date's housekeeping information The housekeeping status is calculated basing on the set of fields roomOccupied | roomCondition | roomBlocked | vacantPickup | roomBlocked | refusedService The available statuses are: - Vacant and Dirty (VD): false | “dirty” | false | false | false | false - Occupied and Dirty (OD): true | “dirty” | false | false | false | false - Vacant and Clean (VC): false | “clean” | false | false | false | false - Occupied and Clean (OC): true | “clean” | false | false | false | false - Occupied and Clean Inspected (OCI): true | “inspected” | false | false | false | false - Vacant and Clean Inspected (VCI): false | “inspected” | false | false | false | false - Do Not Disturb (DND): if doNotDisturb is true - Refused Service (RS): if refusedService is true - Out of Order (OOO): if roomBlocked is true - Vacant and Pickup (VP): if vacantPickup is true + + :param property_id: Property ID + :type property_id: str + :param room_type_ids: Filter by room type ID. If more than one, send as comma-separated, i.e. 37,345,89 + :type room_type_ids: str + :param housekeeper_ids: Use this parameter to filter by housekeeper. If you need to specify multiple housekeepers, send their IDs as a comma-separated list (e.g., 37, 345, 89). To retrieve unassigned housekeepers, use the value 0. + :type housekeeper_ids: str + :param room_condition: Condition of room + :type room_condition: str + :param room_occupied: Flag for current room occupation status + :type room_occupied: bool + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 5000 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_housekeeping_status_get_serialize( + property_id=property_id, + room_type_ids=room_type_ids, + housekeeper_ids=housekeeper_ids, + room_condition=room_condition, + room_occupied=room_occupied, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetHousekeepingStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_housekeeping_status_get_serialize( + self, + property_id, + room_type_ids, + housekeeper_ids, + room_condition, + room_occupied, + page_number, + page_size, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if room_type_ids is not None: + + _query_params.append(('roomTypeIDs', room_type_ids)) + + if housekeeper_ids is not None: + + _query_params.append(('housekeeperIDs', housekeeper_ids)) + + if room_condition is not None: + + _query_params.append(('roomCondition', room_condition)) + + if room_occupied is not None: + + _query_params.append(('roomOccupied', room_occupied)) + + if page_number is not None: + + _query_params.append(('pageNumber', page_number)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getHousekeepingStatus', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_housekeeper_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + name: Annotated[Optional[StrictStr], Field(description="Housekeeper name")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostHousekeeperResponse: + """postHousekeeper + + Add New Housekeeper + + :param property_id: Property ID + :type property_id: str + :param name: Housekeeper name + :type name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_housekeeper_post_serialize( + property_id=property_id, + name=name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostHousekeeperResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_housekeeper_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + name: Annotated[Optional[StrictStr], Field(description="Housekeeper name")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostHousekeeperResponse]: + """postHousekeeper + + Add New Housekeeper + + :param property_id: Property ID + :type property_id: str + :param name: Housekeeper name + :type name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_housekeeper_post_serialize( + property_id=property_id, + name=name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostHousekeeperResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_housekeeper_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + name: Annotated[Optional[StrictStr], Field(description="Housekeeper name")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postHousekeeper + + Add New Housekeeper + + :param property_id: Property ID + :type property_id: str + :param name: Housekeeper name + :type name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_housekeeper_post_serialize( + property_id=property_id, + name=name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostHousekeeperResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_housekeeper_post_serialize( + self, + property_id, + name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if name is not None: + _form_params.append(('name', name)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postHousekeeper', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_housekeeping_assignment_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_ids: Annotated[Optional[StrictStr], Field(description="List of room IDs comma-separated, i.e. 37,345,89")] = None, + housekeeper_id: Annotated[Optional[StrictStr], Field(description="Housekeeper ID. To designate a room as unassigned, simply set the value to 0.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostHousekeepingAssignmentResponse: + """postHousekeepingAssignment + + Assign rooms (single or multiple) to an existing housekeeper + + :param property_id: Property ID + :type property_id: str + :param room_ids: List of room IDs comma-separated, i.e. 37,345,89 + :type room_ids: str + :param housekeeper_id: Housekeeper ID. To designate a room as unassigned, simply set the value to 0. + :type housekeeper_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_housekeeping_assignment_post_serialize( + property_id=property_id, + room_ids=room_ids, + housekeeper_id=housekeeper_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostHousekeepingAssignmentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_housekeeping_assignment_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_ids: Annotated[Optional[StrictStr], Field(description="List of room IDs comma-separated, i.e. 37,345,89")] = None, + housekeeper_id: Annotated[Optional[StrictStr], Field(description="Housekeeper ID. To designate a room as unassigned, simply set the value to 0.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostHousekeepingAssignmentResponse]: + """postHousekeepingAssignment + + Assign rooms (single or multiple) to an existing housekeeper + + :param property_id: Property ID + :type property_id: str + :param room_ids: List of room IDs comma-separated, i.e. 37,345,89 + :type room_ids: str + :param housekeeper_id: Housekeeper ID. To designate a room as unassigned, simply set the value to 0. + :type housekeeper_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_housekeeping_assignment_post_serialize( + property_id=property_id, + room_ids=room_ids, + housekeeper_id=housekeeper_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostHousekeepingAssignmentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_housekeeping_assignment_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_ids: Annotated[Optional[StrictStr], Field(description="List of room IDs comma-separated, i.e. 37,345,89")] = None, + housekeeper_id: Annotated[Optional[StrictStr], Field(description="Housekeeper ID. To designate a room as unassigned, simply set the value to 0.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postHousekeepingAssignment + + Assign rooms (single or multiple) to an existing housekeeper + + :param property_id: Property ID + :type property_id: str + :param room_ids: List of room IDs comma-separated, i.e. 37,345,89 + :type room_ids: str + :param housekeeper_id: Housekeeper ID. To designate a room as unassigned, simply set the value to 0. + :type housekeeper_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_housekeeping_assignment_post_serialize( + property_id=property_id, + room_ids=room_ids, + housekeeper_id=housekeeper_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostHousekeepingAssignmentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_housekeeping_assignment_post_serialize( + self, + property_id, + room_ids, + housekeeper_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if room_ids is not None: + _form_params.append(('roomIDs', room_ids)) + if housekeeper_id is not None: + _form_params.append(('housekeeperID', housekeeper_id)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postHousekeepingAssignment', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_housekeeping_status_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room ID")] = None, + room_condition: Annotated[Optional[StrictStr], Field(description="New room condition. If no optional parameters are sent, will switch from current room condition. \\\"inspected\\\" status is available only if the property has the feature enabled.")] = None, + do_not_disturb: Annotated[Optional[StrictBool], Field(description="New \\\"do not disturb\\\" status")] = None, + room_comments: Annotated[Optional[StrictStr], Field(description="New room comments.")] = None, + refused_service: Annotated[Optional[StrictBool], Field(description="New \\\"refused service\\\" status")] = None, + vacant_pickup: Annotated[Optional[StrictBool], Field(description="New \\\"vacant_pickup\\\" status")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostHousekeepingStatusResponse: + """postHousekeepingStatus + + Switches the current date's housekeeping status for a specific room ID to either clean or dirty The housekeeping status is calculated basing on the set of fields roomOccupied | roomCondition | roomBlocked | vacantPickup | roomBlocked | refusedService The available statuses are: - Vacant and Dirty (VD): false | “dirty” | false | false | false | false - Occupied and Dirty (OD): true | “dirty” | false | false | false | false - Vacant and Clean (VC): false | “clean” | false | false | false | false - Occupied and Clean (OC): true | “clean” | false | false | false | false - Occupied and Clean Inspected (OCI): true | “inspected” | false | false | false | false - Vacant and Clean Inspected (VCI): false | “inspected” | false | false | false | false - Do Not Disturb (DND): if doNotDisturb is true - Refused Service (RS): if refusedService is true - Out of Order (OOO): if roomBlocked is true - Vacant and Pickup (VP): if vacantPickup is true + + :param property_id: Property ID + :type property_id: str + :param room_id: Room ID + :type room_id: str + :param room_condition: New room condition. If no optional parameters are sent, will switch from current room condition. \\\"inspected\\\" status is available only if the property has the feature enabled. + :type room_condition: str + :param do_not_disturb: New \\\"do not disturb\\\" status + :type do_not_disturb: bool + :param room_comments: New room comments. + :type room_comments: str + :param refused_service: New \\\"refused service\\\" status + :type refused_service: bool + :param vacant_pickup: New \\\"vacant_pickup\\\" status + :type vacant_pickup: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_housekeeping_status_post_serialize( + property_id=property_id, + room_id=room_id, + room_condition=room_condition, + do_not_disturb=do_not_disturb, + room_comments=room_comments, + refused_service=refused_service, + vacant_pickup=vacant_pickup, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostHousekeepingStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_housekeeping_status_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room ID")] = None, + room_condition: Annotated[Optional[StrictStr], Field(description="New room condition. If no optional parameters are sent, will switch from current room condition. \\\"inspected\\\" status is available only if the property has the feature enabled.")] = None, + do_not_disturb: Annotated[Optional[StrictBool], Field(description="New \\\"do not disturb\\\" status")] = None, + room_comments: Annotated[Optional[StrictStr], Field(description="New room comments.")] = None, + refused_service: Annotated[Optional[StrictBool], Field(description="New \\\"refused service\\\" status")] = None, + vacant_pickup: Annotated[Optional[StrictBool], Field(description="New \\\"vacant_pickup\\\" status")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostHousekeepingStatusResponse]: + """postHousekeepingStatus + + Switches the current date's housekeeping status for a specific room ID to either clean or dirty The housekeeping status is calculated basing on the set of fields roomOccupied | roomCondition | roomBlocked | vacantPickup | roomBlocked | refusedService The available statuses are: - Vacant and Dirty (VD): false | “dirty” | false | false | false | false - Occupied and Dirty (OD): true | “dirty” | false | false | false | false - Vacant and Clean (VC): false | “clean” | false | false | false | false - Occupied and Clean (OC): true | “clean” | false | false | false | false - Occupied and Clean Inspected (OCI): true | “inspected” | false | false | false | false - Vacant and Clean Inspected (VCI): false | “inspected” | false | false | false | false - Do Not Disturb (DND): if doNotDisturb is true - Refused Service (RS): if refusedService is true - Out of Order (OOO): if roomBlocked is true - Vacant and Pickup (VP): if vacantPickup is true + + :param property_id: Property ID + :type property_id: str + :param room_id: Room ID + :type room_id: str + :param room_condition: New room condition. If no optional parameters are sent, will switch from current room condition. \\\"inspected\\\" status is available only if the property has the feature enabled. + :type room_condition: str + :param do_not_disturb: New \\\"do not disturb\\\" status + :type do_not_disturb: bool + :param room_comments: New room comments. + :type room_comments: str + :param refused_service: New \\\"refused service\\\" status + :type refused_service: bool + :param vacant_pickup: New \\\"vacant_pickup\\\" status + :type vacant_pickup: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_housekeeping_status_post_serialize( + property_id=property_id, + room_id=room_id, + room_condition=room_condition, + do_not_disturb=do_not_disturb, + room_comments=room_comments, + refused_service=refused_service, + vacant_pickup=vacant_pickup, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostHousekeepingStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_housekeeping_status_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room ID")] = None, + room_condition: Annotated[Optional[StrictStr], Field(description="New room condition. If no optional parameters are sent, will switch from current room condition. \\\"inspected\\\" status is available only if the property has the feature enabled.")] = None, + do_not_disturb: Annotated[Optional[StrictBool], Field(description="New \\\"do not disturb\\\" status")] = None, + room_comments: Annotated[Optional[StrictStr], Field(description="New room comments.")] = None, + refused_service: Annotated[Optional[StrictBool], Field(description="New \\\"refused service\\\" status")] = None, + vacant_pickup: Annotated[Optional[StrictBool], Field(description="New \\\"vacant_pickup\\\" status")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postHousekeepingStatus + + Switches the current date's housekeeping status for a specific room ID to either clean or dirty The housekeeping status is calculated basing on the set of fields roomOccupied | roomCondition | roomBlocked | vacantPickup | roomBlocked | refusedService The available statuses are: - Vacant and Dirty (VD): false | “dirty” | false | false | false | false - Occupied and Dirty (OD): true | “dirty” | false | false | false | false - Vacant and Clean (VC): false | “clean” | false | false | false | false - Occupied and Clean (OC): true | “clean” | false | false | false | false - Occupied and Clean Inspected (OCI): true | “inspected” | false | false | false | false - Vacant and Clean Inspected (VCI): false | “inspected” | false | false | false | false - Do Not Disturb (DND): if doNotDisturb is true - Refused Service (RS): if refusedService is true - Out of Order (OOO): if roomBlocked is true - Vacant and Pickup (VP): if vacantPickup is true + + :param property_id: Property ID + :type property_id: str + :param room_id: Room ID + :type room_id: str + :param room_condition: New room condition. If no optional parameters are sent, will switch from current room condition. \\\"inspected\\\" status is available only if the property has the feature enabled. + :type room_condition: str + :param do_not_disturb: New \\\"do not disturb\\\" status + :type do_not_disturb: bool + :param room_comments: New room comments. + :type room_comments: str + :param refused_service: New \\\"refused service\\\" status + :type refused_service: bool + :param vacant_pickup: New \\\"vacant_pickup\\\" status + :type vacant_pickup: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_housekeeping_status_post_serialize( + property_id=property_id, + room_id=room_id, + room_condition=room_condition, + do_not_disturb=do_not_disturb, + room_comments=room_comments, + refused_service=refused_service, + vacant_pickup=vacant_pickup, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostHousekeepingStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_housekeeping_status_post_serialize( + self, + property_id, + room_id, + room_condition, + do_not_disturb, + room_comments, + refused_service, + vacant_pickup, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if room_id is not None: + _form_params.append(('roomID', room_id)) + if room_condition is not None: + _form_params.append(('roomCondition', room_condition)) + if do_not_disturb is not None: + _form_params.append(('doNotDisturb', do_not_disturb)) + if room_comments is not None: + _form_params.append(('roomComments', room_comments)) + if refused_service is not None: + _form_params.append(('refusedService', refused_service)) + if vacant_pickup is not None: + _form_params.append(('vacantPickup', vacant_pickup)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postHousekeepingStatus', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def put_housekeeper_put( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + name: Annotated[Optional[StrictStr], Field(description="Housekeeper name")] = None, + housekeeper_id: Annotated[Optional[StrictStr], Field(description="Housekeeper ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PutHousekeeperResponse: + """putHousekeeper + + Edit Housekeeper Details + + :param property_id: Property ID + :type property_id: str + :param name: Housekeeper name + :type name: str + :param housekeeper_id: Housekeeper ID + :type housekeeper_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_housekeeper_put_serialize( + property_id=property_id, + name=name, + housekeeper_id=housekeeper_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutHousekeeperResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def put_housekeeper_put_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + name: Annotated[Optional[StrictStr], Field(description="Housekeeper name")] = None, + housekeeper_id: Annotated[Optional[StrictStr], Field(description="Housekeeper ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PutHousekeeperResponse]: + """putHousekeeper + + Edit Housekeeper Details + + :param property_id: Property ID + :type property_id: str + :param name: Housekeeper name + :type name: str + :param housekeeper_id: Housekeeper ID + :type housekeeper_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_housekeeper_put_serialize( + property_id=property_id, + name=name, + housekeeper_id=housekeeper_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutHousekeeperResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def put_housekeeper_put_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + name: Annotated[Optional[StrictStr], Field(description="Housekeeper name")] = None, + housekeeper_id: Annotated[Optional[StrictStr], Field(description="Housekeeper ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """putHousekeeper + + Edit Housekeeper Details + + :param property_id: Property ID + :type property_id: str + :param name: Housekeeper name + :type name: str + :param housekeeper_id: Housekeeper ID + :type housekeeper_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_housekeeper_put_serialize( + property_id=property_id, + name=name, + housekeeper_id=housekeeper_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutHousekeeperResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _put_housekeeper_put_serialize( + self, + property_id, + name, + housekeeper_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if name is not None: + _form_params.append(('name', name)) + if housekeeper_id is not None: + _form_params.append(('housekeeperID', housekeeper_id)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/putHousekeeper', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/integration_api.py b/cloudbeds_pms_v1_3/api/integration_api.py new file mode 100644 index 0000000..8d228ed --- /dev/null +++ b/cloudbeds_pms_v1_3/api/integration_api.py @@ -0,0 +1,2505 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from datetime import datetime +from pydantic import Field, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Optional, Union +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.delete_webhook_response import DeleteWebhookResponse +from cloudbeds_pms_v1_3.models.get_app_settings_response import GetAppSettingsResponse +from cloudbeds_pms_v1_3.models.get_app_state_response import GetAppStateResponse +from cloudbeds_pms_v1_3.models.get_webhooks_response import GetWebhooksResponse +from cloudbeds_pms_v1_3.models.post_app_error_response import PostAppErrorResponse +from cloudbeds_pms_v1_3.models.post_app_state_response import PostAppStateResponse +from cloudbeds_pms_v1_3.models.post_government_receipt_response import PostGovernmentReceiptResponse +from cloudbeds_pms_v1_3.models.post_webhook_response import PostWebhookResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class IntegrationApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def delete_webhook_delete( + self, + subscription_id: Annotated[StrictStr, Field(description="Subscription ID")], + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DeleteWebhookResponse: + """deleteWebhook + + Remove subscription for webhook. Read the [Webhooks guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007612553-Webhooks) to see available objects, actions, payload info and more. ### Group account support + + :param subscription_id: Subscription ID (required) + :type subscription_id: str + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_webhook_delete_serialize( + subscription_id=subscription_id, + property_ids=property_ids, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteWebhookResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_webhook_delete_with_http_info( + self, + subscription_id: Annotated[StrictStr, Field(description="Subscription ID")], + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DeleteWebhookResponse]: + """deleteWebhook + + Remove subscription for webhook. Read the [Webhooks guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007612553-Webhooks) to see available objects, actions, payload info and more. ### Group account support + + :param subscription_id: Subscription ID (required) + :type subscription_id: str + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_webhook_delete_serialize( + subscription_id=subscription_id, + property_ids=property_ids, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteWebhookResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_webhook_delete_without_preload_content( + self, + subscription_id: Annotated[StrictStr, Field(description="Subscription ID")], + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """deleteWebhook + + Remove subscription for webhook. Read the [Webhooks guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007612553-Webhooks) to see available objects, actions, payload info and more. ### Group account support + + :param subscription_id: Subscription ID (required) + :type subscription_id: str + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_webhook_delete_serialize( + subscription_id=subscription_id, + property_ids=property_ids, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteWebhookResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_webhook_delete_serialize( + self, + subscription_id, + property_ids, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_ids is not None: + + _query_params.append(('propertyIDs', property_ids)) + + if subscription_id is not None: + + _query_params.append(('subscriptionID', subscription_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/deleteWebhook', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_app_settings_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property identifier to be queried")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetAppSettingsResponse: + """getAppSettings + + Get the current app settings for a property.
+ + :param property_id: Property identifier to be queried + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_app_settings_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAppSettingsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_app_settings_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property identifier to be queried")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetAppSettingsResponse]: + """getAppSettings + + Get the current app settings for a property.
+ + :param property_id: Property identifier to be queried + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_app_settings_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAppSettingsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_app_settings_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property identifier to be queried")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getAppSettings + + Get the current app settings for a property.
+ + :param property_id: Property identifier to be queried + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_app_settings_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAppSettingsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_app_settings_get_serialize( + self, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getAppSettings', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_app_state_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property identifier to be queried")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetAppStateResponse: + """getAppState + + Get the current app integration state for a property.
This call is only available for third-party integration partners, and not for property client IDs. Read the [Connecting/Disconnecting Apps guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007613213-Connecting-Disconnecting-Apps) to further understand the use cases. + + :param property_id: Property identifier to be queried + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_app_state_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAppStateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_app_state_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property identifier to be queried")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetAppStateResponse]: + """getAppState + + Get the current app integration state for a property.
This call is only available for third-party integration partners, and not for property client IDs. Read the [Connecting/Disconnecting Apps guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007613213-Connecting-Disconnecting-Apps) to further understand the use cases. + + :param property_id: Property identifier to be queried + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_app_state_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAppStateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_app_state_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property identifier to be queried")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getAppState + + Get the current app integration state for a property.
This call is only available for third-party integration partners, and not for property client IDs. Read the [Connecting/Disconnecting Apps guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007613213-Connecting-Disconnecting-Apps) to further understand the use cases. + + :param property_id: Property identifier to be queried + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_app_state_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAppStateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_app_state_get_serialize( + self, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getAppState', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_webhooks_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetWebhooksResponse: + """getWebhooks + + List webhooks for which the API client is subscribed to. + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_webhooks_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetWebhooksResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_webhooks_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetWebhooksResponse]: + """getWebhooks + + List webhooks for which the API client is subscribed to. + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_webhooks_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetWebhooksResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_webhooks_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getWebhooks + + List webhooks for which the API client is subscribed to. + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_webhooks_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetWebhooksResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_webhooks_get_serialize( + self, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getWebhooks', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_app_error_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property identifier to be queried")] = None, + timestamp: Annotated[Optional[datetime], Field(description="Date/time that the error was received by the middleware")] = None, + event_type: Annotated[Optional[StrictStr], Field(description="Description for the type of event that caused the error")] = None, + status_code: Annotated[Optional[StrictStr], Field(description="HTTP error status code or other error code ID")] = None, + description: Annotated[Optional[StrictStr], Field(description="Description of the error")] = None, + error_message: Annotated[Optional[StrictStr], Field(description="Detailed message for error")] = None, + entity_type: Annotated[Optional[StrictStr], Field(description="Type of the entity related to the error")] = None, + entity_id: Annotated[Optional[StrictStr], Field(description="Unique ID for the entity related to the error")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="User ID for the user that triggered event that caused the error")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostAppErrorResponse: + """postAppError + + Submit the error received by the hybrid integration from the partner to the MFD + + :param property_id: Property identifier to be queried + :type property_id: str + :param timestamp: Date/time that the error was received by the middleware + :type timestamp: datetime + :param event_type: Description for the type of event that caused the error + :type event_type: str + :param status_code: HTTP error status code or other error code ID + :type status_code: str + :param description: Description of the error + :type description: str + :param error_message: Detailed message for error + :type error_message: str + :param entity_type: Type of the entity related to the error + :type entity_type: str + :param entity_id: Unique ID for the entity related to the error + :type entity_id: str + :param user_id: User ID for the user that triggered event that caused the error + :type user_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_app_error_post_serialize( + property_id=property_id, + timestamp=timestamp, + event_type=event_type, + status_code=status_code, + description=description, + error_message=error_message, + entity_type=entity_type, + entity_id=entity_id, + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAppErrorResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_app_error_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property identifier to be queried")] = None, + timestamp: Annotated[Optional[datetime], Field(description="Date/time that the error was received by the middleware")] = None, + event_type: Annotated[Optional[StrictStr], Field(description="Description for the type of event that caused the error")] = None, + status_code: Annotated[Optional[StrictStr], Field(description="HTTP error status code or other error code ID")] = None, + description: Annotated[Optional[StrictStr], Field(description="Description of the error")] = None, + error_message: Annotated[Optional[StrictStr], Field(description="Detailed message for error")] = None, + entity_type: Annotated[Optional[StrictStr], Field(description="Type of the entity related to the error")] = None, + entity_id: Annotated[Optional[StrictStr], Field(description="Unique ID for the entity related to the error")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="User ID for the user that triggered event that caused the error")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostAppErrorResponse]: + """postAppError + + Submit the error received by the hybrid integration from the partner to the MFD + + :param property_id: Property identifier to be queried + :type property_id: str + :param timestamp: Date/time that the error was received by the middleware + :type timestamp: datetime + :param event_type: Description for the type of event that caused the error + :type event_type: str + :param status_code: HTTP error status code or other error code ID + :type status_code: str + :param description: Description of the error + :type description: str + :param error_message: Detailed message for error + :type error_message: str + :param entity_type: Type of the entity related to the error + :type entity_type: str + :param entity_id: Unique ID for the entity related to the error + :type entity_id: str + :param user_id: User ID for the user that triggered event that caused the error + :type user_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_app_error_post_serialize( + property_id=property_id, + timestamp=timestamp, + event_type=event_type, + status_code=status_code, + description=description, + error_message=error_message, + entity_type=entity_type, + entity_id=entity_id, + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAppErrorResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_app_error_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property identifier to be queried")] = None, + timestamp: Annotated[Optional[datetime], Field(description="Date/time that the error was received by the middleware")] = None, + event_type: Annotated[Optional[StrictStr], Field(description="Description for the type of event that caused the error")] = None, + status_code: Annotated[Optional[StrictStr], Field(description="HTTP error status code or other error code ID")] = None, + description: Annotated[Optional[StrictStr], Field(description="Description of the error")] = None, + error_message: Annotated[Optional[StrictStr], Field(description="Detailed message for error")] = None, + entity_type: Annotated[Optional[StrictStr], Field(description="Type of the entity related to the error")] = None, + entity_id: Annotated[Optional[StrictStr], Field(description="Unique ID for the entity related to the error")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="User ID for the user that triggered event that caused the error")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postAppError + + Submit the error received by the hybrid integration from the partner to the MFD + + :param property_id: Property identifier to be queried + :type property_id: str + :param timestamp: Date/time that the error was received by the middleware + :type timestamp: datetime + :param event_type: Description for the type of event that caused the error + :type event_type: str + :param status_code: HTTP error status code or other error code ID + :type status_code: str + :param description: Description of the error + :type description: str + :param error_message: Detailed message for error + :type error_message: str + :param entity_type: Type of the entity related to the error + :type entity_type: str + :param entity_id: Unique ID for the entity related to the error + :type entity_id: str + :param user_id: User ID for the user that triggered event that caused the error + :type user_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_app_error_post_serialize( + property_id=property_id, + timestamp=timestamp, + event_type=event_type, + status_code=status_code, + description=description, + error_message=error_message, + entity_type=entity_type, + entity_id=entity_id, + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAppErrorResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_app_error_post_serialize( + self, + property_id, + timestamp, + event_type, + status_code, + description, + error_message, + entity_type, + entity_id, + user_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if timestamp is not None: + _form_params.append(('timestamp', timestamp)) + if event_type is not None: + _form_params.append(('eventType', event_type)) + if status_code is not None: + _form_params.append(('statusCode', status_code)) + if description is not None: + _form_params.append(('description', description)) + if error_message is not None: + _form_params.append(('errorMessage', error_message)) + if entity_type is not None: + _form_params.append(('entityType', entity_type)) + if entity_id is not None: + _form_params.append(('entityID', entity_id)) + if user_id is not None: + _form_params.append(('userID', user_id)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postAppError', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_app_state_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property identifier to be updated")] = None, + app_state: Annotated[Optional[StrictStr], Field(description="Current integration state between third-party and property.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostAppStateResponse: + """postAppState + + Update app integration state for a property ID.
This call is only available for third-party integration partners, and not for property client IDs.
If an app is set to 'disabled', it will remove all active sessions Read the [Connecting/Disconnecting Apps guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007613213-Connecting-Disconnecting-Apps) to further understand the use cases. + + :param property_id: Property identifier to be updated + :type property_id: str + :param app_state: Current integration state between third-party and property. + :type app_state: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_app_state_post_serialize( + property_id=property_id, + app_state=app_state, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAppStateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_app_state_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property identifier to be updated")] = None, + app_state: Annotated[Optional[StrictStr], Field(description="Current integration state between third-party and property.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostAppStateResponse]: + """postAppState + + Update app integration state for a property ID.
This call is only available for third-party integration partners, and not for property client IDs.
If an app is set to 'disabled', it will remove all active sessions Read the [Connecting/Disconnecting Apps guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007613213-Connecting-Disconnecting-Apps) to further understand the use cases. + + :param property_id: Property identifier to be updated + :type property_id: str + :param app_state: Current integration state between third-party and property. + :type app_state: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_app_state_post_serialize( + property_id=property_id, + app_state=app_state, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAppStateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_app_state_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property identifier to be updated")] = None, + app_state: Annotated[Optional[StrictStr], Field(description="Current integration state between third-party and property.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postAppState + + Update app integration state for a property ID.
This call is only available for third-party integration partners, and not for property client IDs.
If an app is set to 'disabled', it will remove all active sessions Read the [Connecting/Disconnecting Apps guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007613213-Connecting-Disconnecting-Apps) to further understand the use cases. + + :param property_id: Property identifier to be updated + :type property_id: str + :param app_state: Current integration state between third-party and property. + :type app_state: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_app_state_post_serialize( + property_id=property_id, + app_state=app_state, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAppStateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_app_state_post_serialize( + self, + property_id, + app_state, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if app_state is not None: + _form_params.append(('app_state', app_state)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postAppState', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_government_receipt_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property identifier to be updated")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier. It, or houseAccountID, is necessary.")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account identifier. It, or reservationID, is necessary.")] = None, + name: Annotated[Optional[StrictStr], Field(description="Name of the document. Will be used to describe document in MFD.")] = None, + url: Annotated[Optional[StrictStr], Field(description="URL for user to download document.")] = None, + amount: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Value of posted document")] = None, + identifier: Annotated[Optional[StrictStr], Field(description="Receipt Identifier of document. If not sent, a random identifier will be generated.")] = None, + issue_date: Annotated[Optional[datetime], Field(description="Datetime of document emission, if not sent, current datetime will be assumed.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostGovernmentReceiptResponse: + """postGovernmentReceipt + + Add a Government Receipt to a Reservation or House Account + + :param property_id: Property identifier to be updated + :type property_id: str + :param reservation_id: Reservation identifier. It, or houseAccountID, is necessary. + :type reservation_id: str + :param house_account_id: House Account identifier. It, or reservationID, is necessary. + :type house_account_id: str + :param name: Name of the document. Will be used to describe document in MFD. + :type name: str + :param url: URL for user to download document. + :type url: str + :param amount: Value of posted document + :type amount: float + :param identifier: Receipt Identifier of document. If not sent, a random identifier will be generated. + :type identifier: str + :param issue_date: Datetime of document emission, if not sent, current datetime will be assumed. + :type issue_date: datetime + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_government_receipt_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + name=name, + url=url, + amount=amount, + identifier=identifier, + issue_date=issue_date, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGovernmentReceiptResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_government_receipt_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property identifier to be updated")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier. It, or houseAccountID, is necessary.")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account identifier. It, or reservationID, is necessary.")] = None, + name: Annotated[Optional[StrictStr], Field(description="Name of the document. Will be used to describe document in MFD.")] = None, + url: Annotated[Optional[StrictStr], Field(description="URL for user to download document.")] = None, + amount: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Value of posted document")] = None, + identifier: Annotated[Optional[StrictStr], Field(description="Receipt Identifier of document. If not sent, a random identifier will be generated.")] = None, + issue_date: Annotated[Optional[datetime], Field(description="Datetime of document emission, if not sent, current datetime will be assumed.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostGovernmentReceiptResponse]: + """postGovernmentReceipt + + Add a Government Receipt to a Reservation or House Account + + :param property_id: Property identifier to be updated + :type property_id: str + :param reservation_id: Reservation identifier. It, or houseAccountID, is necessary. + :type reservation_id: str + :param house_account_id: House Account identifier. It, or reservationID, is necessary. + :type house_account_id: str + :param name: Name of the document. Will be used to describe document in MFD. + :type name: str + :param url: URL for user to download document. + :type url: str + :param amount: Value of posted document + :type amount: float + :param identifier: Receipt Identifier of document. If not sent, a random identifier will be generated. + :type identifier: str + :param issue_date: Datetime of document emission, if not sent, current datetime will be assumed. + :type issue_date: datetime + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_government_receipt_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + name=name, + url=url, + amount=amount, + identifier=identifier, + issue_date=issue_date, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGovernmentReceiptResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_government_receipt_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property identifier to be updated")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier. It, or houseAccountID, is necessary.")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account identifier. It, or reservationID, is necessary.")] = None, + name: Annotated[Optional[StrictStr], Field(description="Name of the document. Will be used to describe document in MFD.")] = None, + url: Annotated[Optional[StrictStr], Field(description="URL for user to download document.")] = None, + amount: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Value of posted document")] = None, + identifier: Annotated[Optional[StrictStr], Field(description="Receipt Identifier of document. If not sent, a random identifier will be generated.")] = None, + issue_date: Annotated[Optional[datetime], Field(description="Datetime of document emission, if not sent, current datetime will be assumed.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postGovernmentReceipt + + Add a Government Receipt to a Reservation or House Account + + :param property_id: Property identifier to be updated + :type property_id: str + :param reservation_id: Reservation identifier. It, or houseAccountID, is necessary. + :type reservation_id: str + :param house_account_id: House Account identifier. It, or reservationID, is necessary. + :type house_account_id: str + :param name: Name of the document. Will be used to describe document in MFD. + :type name: str + :param url: URL for user to download document. + :type url: str + :param amount: Value of posted document + :type amount: float + :param identifier: Receipt Identifier of document. If not sent, a random identifier will be generated. + :type identifier: str + :param issue_date: Datetime of document emission, if not sent, current datetime will be assumed. + :type issue_date: datetime + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_government_receipt_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + name=name, + url=url, + amount=amount, + identifier=identifier, + issue_date=issue_date, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostGovernmentReceiptResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_government_receipt_post_serialize( + self, + property_id, + reservation_id, + house_account_id, + name, + url, + amount, + identifier, + issue_date, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if house_account_id is not None: + _form_params.append(('houseAccountID', house_account_id)) + if name is not None: + _form_params.append(('name', name)) + if url is not None: + _form_params.append(('url', url)) + if amount is not None: + _form_params.append(('amount', amount)) + if identifier is not None: + _form_params.append(('identifier', identifier)) + if issue_date is not None: + _form_params.append(('issueDate', issue_date)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postGovernmentReceipt', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_webhook_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + object: Annotated[Optional[StrictStr], Field(description="Event object")] = None, + action: Annotated[Optional[StrictStr], Field(description="Event action")] = None, + endpoint_url: Annotated[Optional[StrictStr], Field(description="Endpoint URL")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostWebhookResponse: + """postWebhook + + Subscribe a webhook for a specified event. Read the [Webhooks guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007612553-Webhooks) to see available objects, actions, payload info and more. + + :param property_id: Property ID + :type property_id: str + :param object: Event object + :type object: str + :param action: Event action + :type action: str + :param endpoint_url: Endpoint URL + :type endpoint_url: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_webhook_post_serialize( + property_id=property_id, + object=object, + action=action, + endpoint_url=endpoint_url, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostWebhookResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_webhook_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + object: Annotated[Optional[StrictStr], Field(description="Event object")] = None, + action: Annotated[Optional[StrictStr], Field(description="Event action")] = None, + endpoint_url: Annotated[Optional[StrictStr], Field(description="Endpoint URL")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostWebhookResponse]: + """postWebhook + + Subscribe a webhook for a specified event. Read the [Webhooks guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007612553-Webhooks) to see available objects, actions, payload info and more. + + :param property_id: Property ID + :type property_id: str + :param object: Event object + :type object: str + :param action: Event action + :type action: str + :param endpoint_url: Endpoint URL + :type endpoint_url: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_webhook_post_serialize( + property_id=property_id, + object=object, + action=action, + endpoint_url=endpoint_url, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostWebhookResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_webhook_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + object: Annotated[Optional[StrictStr], Field(description="Event object")] = None, + action: Annotated[Optional[StrictStr], Field(description="Event action")] = None, + endpoint_url: Annotated[Optional[StrictStr], Field(description="Endpoint URL")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postWebhook + + Subscribe a webhook for a specified event. Read the [Webhooks guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007612553-Webhooks) to see available objects, actions, payload info and more. + + :param property_id: Property ID + :type property_id: str + :param object: Event object + :type object: str + :param action: Event action + :type action: str + :param endpoint_url: Endpoint URL + :type endpoint_url: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_webhook_post_serialize( + property_id=property_id, + object=object, + action=action, + endpoint_url=endpoint_url, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostWebhookResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_webhook_post_serialize( + self, + property_id, + object, + action, + endpoint_url, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if object is not None: + _form_params.append(('object', object)) + if action is not None: + _form_params.append(('action', action)) + if endpoint_url is not None: + _form_params.append(('endpointUrl', endpoint_url)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postWebhook', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/item_api.py b/cloudbeds_pms_v1_3/api/item_api.py new file mode 100644 index 0000000..1ab1c16 --- /dev/null +++ b/cloudbeds_pms_v1_3/api/item_api.py @@ -0,0 +1,3605 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from datetime import datetime +from pydantic import Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator +from typing import List, Optional, Union +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.get_item_categories_response import GetItemCategoriesResponse +from cloudbeds_pms_v1_3.models.get_item_response import GetItemResponse +from cloudbeds_pms_v1_3.models.get_items_response import GetItemsResponse +from cloudbeds_pms_v1_3.models.post_append_custom_item_response import PostAppendCustomItemResponse +from cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner import PostCustomItemRequestItemsInner +from cloudbeds_pms_v1_3.models.post_custom_item_request_payments_inner import PostCustomItemRequestPaymentsInner +from cloudbeds_pms_v1_3.models.post_custom_item_response import PostCustomItemResponse +from cloudbeds_pms_v1_3.models.post_item_category_response import PostItemCategoryResponse +from cloudbeds_pms_v1_3.models.post_item_request_payments_inner import PostItemRequestPaymentsInner +from cloudbeds_pms_v1_3.models.post_item_response import PostItemResponse +from cloudbeds_pms_v1_3.models.post_items_to_inventory_request_item import PostItemsToInventoryRequestItem +from cloudbeds_pms_v1_3.models.post_items_to_inventory_response import PostItemsToInventoryResponse +from cloudbeds_pms_v1_3.models.post_void_item_response import PostVoidItemResponse +from cloudbeds_pms_v1_3.models.put_item_to_inventory_response import PutItemToInventoryResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class ItemApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def append_custom_item_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier. Required if no houseAccountID is provided.")] = None, + reference_id: Annotated[Optional[StrictStr], Field(description="partner's transaction reference. If exist then Cloudbeds will prevent adding of duplicates")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room identifier (Ignored if subReservationID exist)")] = None, + items: Annotated[Optional[List[PostCustomItemRequestItemsInner]], Field(description="list of items will be posted")] = None, + sale_date: Annotated[Optional[datetime], Field(description="posting date")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest identifier")] = None, + guest_name: Annotated[Optional[StrictStr], Field(description="(Ignored if guestID exist)")] = None, + payments: Annotated[Optional[List[PostCustomItemRequestPaymentsInner]], Field(description="list of payments If the item is already paid")] = None, + item_paid: Annotated[Optional[StrictBool], Field(description="If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. (Ignored if payments array exist)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostAppendCustomItemResponse: + """appendCustomItem + + Append single, or multiple, custom items and their associated payments to a existing one in a Reservation. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier. Required if no houseAccountID is provided. + :type reservation_id: str + :param reference_id: partner's transaction reference. If exist then Cloudbeds will prevent adding of duplicates + :type reference_id: str + :param sub_reservation_id: Sub Reservation identifier + :type sub_reservation_id: str + :param room_id: Room identifier (Ignored if subReservationID exist) + :type room_id: str + :param items: list of items will be posted + :type items: List[PostCustomItemRequestItemsInner] + :param sale_date: posting date + :type sale_date: datetime + :param guest_id: Guest identifier + :type guest_id: str + :param guest_name: (Ignored if guestID exist) + :type guest_name: str + :param payments: list of payments If the item is already paid + :type payments: List[PostCustomItemRequestPaymentsInner] + :param item_paid: If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. (Ignored if payments array exist) + :type item_paid: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._append_custom_item_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + reference_id=reference_id, + sub_reservation_id=sub_reservation_id, + room_id=room_id, + items=items, + sale_date=sale_date, + guest_id=guest_id, + guest_name=guest_name, + payments=payments, + item_paid=item_paid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAppendCustomItemResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def append_custom_item_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier. Required if no houseAccountID is provided.")] = None, + reference_id: Annotated[Optional[StrictStr], Field(description="partner's transaction reference. If exist then Cloudbeds will prevent adding of duplicates")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room identifier (Ignored if subReservationID exist)")] = None, + items: Annotated[Optional[List[PostCustomItemRequestItemsInner]], Field(description="list of items will be posted")] = None, + sale_date: Annotated[Optional[datetime], Field(description="posting date")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest identifier")] = None, + guest_name: Annotated[Optional[StrictStr], Field(description="(Ignored if guestID exist)")] = None, + payments: Annotated[Optional[List[PostCustomItemRequestPaymentsInner]], Field(description="list of payments If the item is already paid")] = None, + item_paid: Annotated[Optional[StrictBool], Field(description="If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. (Ignored if payments array exist)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostAppendCustomItemResponse]: + """appendCustomItem + + Append single, or multiple, custom items and their associated payments to a existing one in a Reservation. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier. Required if no houseAccountID is provided. + :type reservation_id: str + :param reference_id: partner's transaction reference. If exist then Cloudbeds will prevent adding of duplicates + :type reference_id: str + :param sub_reservation_id: Sub Reservation identifier + :type sub_reservation_id: str + :param room_id: Room identifier (Ignored if subReservationID exist) + :type room_id: str + :param items: list of items will be posted + :type items: List[PostCustomItemRequestItemsInner] + :param sale_date: posting date + :type sale_date: datetime + :param guest_id: Guest identifier + :type guest_id: str + :param guest_name: (Ignored if guestID exist) + :type guest_name: str + :param payments: list of payments If the item is already paid + :type payments: List[PostCustomItemRequestPaymentsInner] + :param item_paid: If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. (Ignored if payments array exist) + :type item_paid: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._append_custom_item_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + reference_id=reference_id, + sub_reservation_id=sub_reservation_id, + room_id=room_id, + items=items, + sale_date=sale_date, + guest_id=guest_id, + guest_name=guest_name, + payments=payments, + item_paid=item_paid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAppendCustomItemResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def append_custom_item_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier. Required if no houseAccountID is provided.")] = None, + reference_id: Annotated[Optional[StrictStr], Field(description="partner's transaction reference. If exist then Cloudbeds will prevent adding of duplicates")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room identifier (Ignored if subReservationID exist)")] = None, + items: Annotated[Optional[List[PostCustomItemRequestItemsInner]], Field(description="list of items will be posted")] = None, + sale_date: Annotated[Optional[datetime], Field(description="posting date")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest identifier")] = None, + guest_name: Annotated[Optional[StrictStr], Field(description="(Ignored if guestID exist)")] = None, + payments: Annotated[Optional[List[PostCustomItemRequestPaymentsInner]], Field(description="list of payments If the item is already paid")] = None, + item_paid: Annotated[Optional[StrictBool], Field(description="If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. (Ignored if payments array exist)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """appendCustomItem + + Append single, or multiple, custom items and their associated payments to a existing one in a Reservation. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier. Required if no houseAccountID is provided. + :type reservation_id: str + :param reference_id: partner's transaction reference. If exist then Cloudbeds will prevent adding of duplicates + :type reference_id: str + :param sub_reservation_id: Sub Reservation identifier + :type sub_reservation_id: str + :param room_id: Room identifier (Ignored if subReservationID exist) + :type room_id: str + :param items: list of items will be posted + :type items: List[PostCustomItemRequestItemsInner] + :param sale_date: posting date + :type sale_date: datetime + :param guest_id: Guest identifier + :type guest_id: str + :param guest_name: (Ignored if guestID exist) + :type guest_name: str + :param payments: list of payments If the item is already paid + :type payments: List[PostCustomItemRequestPaymentsInner] + :param item_paid: If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. (Ignored if payments array exist) + :type item_paid: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._append_custom_item_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + reference_id=reference_id, + sub_reservation_id=sub_reservation_id, + room_id=room_id, + items=items, + sale_date=sale_date, + guest_id=guest_id, + guest_name=guest_name, + payments=payments, + item_paid=item_paid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostAppendCustomItemResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _append_custom_item_post_serialize( + self, + property_id, + reservation_id, + reference_id, + sub_reservation_id, + room_id, + items, + sale_date, + guest_id, + guest_name, + payments, + item_paid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'items': 'csv', + 'payments': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if reference_id is not None: + _form_params.append(('referenceID', reference_id)) + if sub_reservation_id is not None: + _form_params.append(('subReservationID', sub_reservation_id)) + if room_id is not None: + _form_params.append(('roomID', room_id)) + if items is not None: + _form_params.append(('items', items)) + if sale_date is not None: + _form_params.append(('saleDate', sale_date)) + if guest_id is not None: + _form_params.append(('guestID', guest_id)) + if guest_name is not None: + _form_params.append(('guestName', guest_name)) + if payments is not None: + _form_params.append(('payments', payments)) + if item_paid is not None: + _form_params.append(('itemPaid', item_paid)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/appendCustomItem', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_item_categories_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetItemCategoriesResponse: + """getItemCategories + + Gets the item category list + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_item_categories_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetItemCategoriesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_item_categories_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetItemCategoriesResponse]: + """getItemCategories + + Gets the item category list + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_item_categories_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetItemCategoriesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_item_categories_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getItemCategories + + Gets the item category list + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_item_categories_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetItemCategoriesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_item_categories_get_serialize( + self, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getItemCategories', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_item_get( + self, + item_id: Annotated[StrictStr, Field(description="Item identifier")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetItemResponse: + """getItem + + Gets the details for the one itemID
1 only if data.stockInventory = true
2 Taxes, fees and totals will show up only if an item has assigned tax or fee.
+ + :param item_id: Item identifier (required) + :type item_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_item_get_serialize( + item_id=item_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetItemResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_item_get_with_http_info( + self, + item_id: Annotated[StrictStr, Field(description="Item identifier")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetItemResponse]: + """getItem + + Gets the details for the one itemID
1 only if data.stockInventory = true
2 Taxes, fees and totals will show up only if an item has assigned tax or fee.
+ + :param item_id: Item identifier (required) + :type item_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_item_get_serialize( + item_id=item_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetItemResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_item_get_without_preload_content( + self, + item_id: Annotated[StrictStr, Field(description="Item identifier")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getItem + + Gets the details for the one itemID
1 only if data.stockInventory = true
2 Taxes, fees and totals will show up only if an item has assigned tax or fee.
+ + :param item_id: Item identifier (required) + :type item_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_item_get_serialize( + item_id=item_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetItemResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_item_get_serialize( + self, + item_id, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if item_id is not None: + + _query_params.append(('itemID', item_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getItem', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_items_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + item_category_id: Annotated[Optional[StrictStr], Field(description="Category identifier")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetItemsResponse: + """getItems + + Gets all the items and their prices the hotel has created in myfrontdesk
1 only if data.stockInventory = true
2 Taxes, fees and totals will show up only if an item has assigned tax or fee.
+ + :param property_id: Property ID + :type property_id: str + :param item_category_id: Category identifier + :type item_category_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_items_get_serialize( + property_id=property_id, + item_category_id=item_category_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetItemsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_items_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + item_category_id: Annotated[Optional[StrictStr], Field(description="Category identifier")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetItemsResponse]: + """getItems + + Gets all the items and their prices the hotel has created in myfrontdesk
1 only if data.stockInventory = true
2 Taxes, fees and totals will show up only if an item has assigned tax or fee.
+ + :param property_id: Property ID + :type property_id: str + :param item_category_id: Category identifier + :type item_category_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_items_get_serialize( + property_id=property_id, + item_category_id=item_category_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetItemsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_items_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + item_category_id: Annotated[Optional[StrictStr], Field(description="Category identifier")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getItems + + Gets all the items and their prices the hotel has created in myfrontdesk
1 only if data.stockInventory = true
2 Taxes, fees and totals will show up only if an item has assigned tax or fee.
+ + :param property_id: Property ID + :type property_id: str + :param item_category_id: Category identifier + :type item_category_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_items_get_serialize( + property_id=property_id, + item_category_id=item_category_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetItemsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_items_get_serialize( + self, + property_id, + item_category_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if item_category_id is not None: + + _query_params.append(('itemCategoryID', item_category_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getItems', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_custom_item_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier. Required if no houseAccountID or groupCode is provided.")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House account identifier. Required if no reservationID or groupCode is provided.")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Group identifier. Required if no reservationID or houseAccountID is provided.")] = None, + reference_id: Annotated[Optional[StrictStr], Field(description="partner's transaction reference. If exist then Cloudbeds will prevent adding of duplicates")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room identifier (Ignored if subReservationID exist)")] = None, + items: Annotated[Optional[List[PostCustomItemRequestItemsInner]], Field(description="list of items will be posted")] = None, + sale_date: Annotated[Optional[datetime], Field(description="posting date")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest identifier")] = None, + guest_name: Annotated[Optional[StrictStr], Field(description="(Ignored if guestID exist)")] = None, + payments: Annotated[Optional[List[PostCustomItemRequestPaymentsInner]], Field(description="list of payments If the item is already paid")] = None, + item_paid: Annotated[Optional[StrictBool], Field(description="If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. (Ignored if payments array exist)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostCustomItemResponse: + """postCustomItem + + Adds single, or multiple, custom items and their associated payments to a Reservation or House Account as a single transaction. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier. Required if no houseAccountID or groupCode is provided. + :type reservation_id: str + :param house_account_id: House account identifier. Required if no reservationID or groupCode is provided. + :type house_account_id: str + :param group_code: Group identifier. Required if no reservationID or houseAccountID is provided. + :type group_code: str + :param reference_id: partner's transaction reference. If exist then Cloudbeds will prevent adding of duplicates + :type reference_id: str + :param sub_reservation_id: Sub Reservation identifier + :type sub_reservation_id: str + :param room_id: Room identifier (Ignored if subReservationID exist) + :type room_id: str + :param items: list of items will be posted + :type items: List[PostCustomItemRequestItemsInner] + :param sale_date: posting date + :type sale_date: datetime + :param guest_id: Guest identifier + :type guest_id: str + :param guest_name: (Ignored if guestID exist) + :type guest_name: str + :param payments: list of payments If the item is already paid + :type payments: List[PostCustomItemRequestPaymentsInner] + :param item_paid: If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. (Ignored if payments array exist) + :type item_paid: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_custom_item_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + group_code=group_code, + reference_id=reference_id, + sub_reservation_id=sub_reservation_id, + room_id=room_id, + items=items, + sale_date=sale_date, + guest_id=guest_id, + guest_name=guest_name, + payments=payments, + item_paid=item_paid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCustomItemResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_custom_item_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier. Required if no houseAccountID or groupCode is provided.")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House account identifier. Required if no reservationID or groupCode is provided.")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Group identifier. Required if no reservationID or houseAccountID is provided.")] = None, + reference_id: Annotated[Optional[StrictStr], Field(description="partner's transaction reference. If exist then Cloudbeds will prevent adding of duplicates")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room identifier (Ignored if subReservationID exist)")] = None, + items: Annotated[Optional[List[PostCustomItemRequestItemsInner]], Field(description="list of items will be posted")] = None, + sale_date: Annotated[Optional[datetime], Field(description="posting date")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest identifier")] = None, + guest_name: Annotated[Optional[StrictStr], Field(description="(Ignored if guestID exist)")] = None, + payments: Annotated[Optional[List[PostCustomItemRequestPaymentsInner]], Field(description="list of payments If the item is already paid")] = None, + item_paid: Annotated[Optional[StrictBool], Field(description="If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. (Ignored if payments array exist)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostCustomItemResponse]: + """postCustomItem + + Adds single, or multiple, custom items and their associated payments to a Reservation or House Account as a single transaction. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier. Required if no houseAccountID or groupCode is provided. + :type reservation_id: str + :param house_account_id: House account identifier. Required if no reservationID or groupCode is provided. + :type house_account_id: str + :param group_code: Group identifier. Required if no reservationID or houseAccountID is provided. + :type group_code: str + :param reference_id: partner's transaction reference. If exist then Cloudbeds will prevent adding of duplicates + :type reference_id: str + :param sub_reservation_id: Sub Reservation identifier + :type sub_reservation_id: str + :param room_id: Room identifier (Ignored if subReservationID exist) + :type room_id: str + :param items: list of items will be posted + :type items: List[PostCustomItemRequestItemsInner] + :param sale_date: posting date + :type sale_date: datetime + :param guest_id: Guest identifier + :type guest_id: str + :param guest_name: (Ignored if guestID exist) + :type guest_name: str + :param payments: list of payments If the item is already paid + :type payments: List[PostCustomItemRequestPaymentsInner] + :param item_paid: If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. (Ignored if payments array exist) + :type item_paid: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_custom_item_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + group_code=group_code, + reference_id=reference_id, + sub_reservation_id=sub_reservation_id, + room_id=room_id, + items=items, + sale_date=sale_date, + guest_id=guest_id, + guest_name=guest_name, + payments=payments, + item_paid=item_paid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCustomItemResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_custom_item_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier. Required if no houseAccountID or groupCode is provided.")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House account identifier. Required if no reservationID or groupCode is provided.")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Group identifier. Required if no reservationID or houseAccountID is provided.")] = None, + reference_id: Annotated[Optional[StrictStr], Field(description="partner's transaction reference. If exist then Cloudbeds will prevent adding of duplicates")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room identifier (Ignored if subReservationID exist)")] = None, + items: Annotated[Optional[List[PostCustomItemRequestItemsInner]], Field(description="list of items will be posted")] = None, + sale_date: Annotated[Optional[datetime], Field(description="posting date")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Guest identifier")] = None, + guest_name: Annotated[Optional[StrictStr], Field(description="(Ignored if guestID exist)")] = None, + payments: Annotated[Optional[List[PostCustomItemRequestPaymentsInner]], Field(description="list of payments If the item is already paid")] = None, + item_paid: Annotated[Optional[StrictBool], Field(description="If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. (Ignored if payments array exist)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postCustomItem + + Adds single, or multiple, custom items and their associated payments to a Reservation or House Account as a single transaction. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier. Required if no houseAccountID or groupCode is provided. + :type reservation_id: str + :param house_account_id: House account identifier. Required if no reservationID or groupCode is provided. + :type house_account_id: str + :param group_code: Group identifier. Required if no reservationID or houseAccountID is provided. + :type group_code: str + :param reference_id: partner's transaction reference. If exist then Cloudbeds will prevent adding of duplicates + :type reference_id: str + :param sub_reservation_id: Sub Reservation identifier + :type sub_reservation_id: str + :param room_id: Room identifier (Ignored if subReservationID exist) + :type room_id: str + :param items: list of items will be posted + :type items: List[PostCustomItemRequestItemsInner] + :param sale_date: posting date + :type sale_date: datetime + :param guest_id: Guest identifier + :type guest_id: str + :param guest_name: (Ignored if guestID exist) + :type guest_name: str + :param payments: list of payments If the item is already paid + :type payments: List[PostCustomItemRequestPaymentsInner] + :param item_paid: If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. (Ignored if payments array exist) + :type item_paid: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_custom_item_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + group_code=group_code, + reference_id=reference_id, + sub_reservation_id=sub_reservation_id, + room_id=room_id, + items=items, + sale_date=sale_date, + guest_id=guest_id, + guest_name=guest_name, + payments=payments, + item_paid=item_paid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCustomItemResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_custom_item_post_serialize( + self, + property_id, + reservation_id, + house_account_id, + group_code, + reference_id, + sub_reservation_id, + room_id, + items, + sale_date, + guest_id, + guest_name, + payments, + item_paid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'items': 'csv', + 'payments': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if house_account_id is not None: + _form_params.append(('houseAccountID', house_account_id)) + if group_code is not None: + _form_params.append(('groupCode', group_code)) + if reference_id is not None: + _form_params.append(('referenceID', reference_id)) + if sub_reservation_id is not None: + _form_params.append(('subReservationID', sub_reservation_id)) + if room_id is not None: + _form_params.append(('roomID', room_id)) + if items is not None: + _form_params.append(('items', items)) + if sale_date is not None: + _form_params.append(('saleDate', sale_date)) + if guest_id is not None: + _form_params.append(('guestID', guest_id)) + if guest_name is not None: + _form_params.append(('guestName', guest_name)) + if payments is not None: + _form_params.append(('payments', payments)) + if item_paid is not None: + _form_params.append(('itemPaid', item_paid)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postCustomItem', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_item_category_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + category_name: Annotated[Optional[StrictStr], Field(description="Category name")] = None, + category_code: Annotated[Optional[StrictStr], Field(description="Category code")] = None, + item_id: Annotated[Optional[List[StrictInt]], Field(description="Existing ItemIDs to reassign to new category")] = None, + category_color: Annotated[Optional[StrictStr], Field(description="Category color (like #3b7be7)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostItemCategoryResponse: + """postItemCategory + + Adds new items category + + :param property_id: Property ID + :type property_id: str + :param category_name: Category name + :type category_name: str + :param category_code: Category code + :type category_code: str + :param item_id: Existing ItemIDs to reassign to new category + :type item_id: List[int] + :param category_color: Category color (like #3b7be7) + :type category_color: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_item_category_post_serialize( + property_id=property_id, + category_name=category_name, + category_code=category_code, + item_id=item_id, + category_color=category_color, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostItemCategoryResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_item_category_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + category_name: Annotated[Optional[StrictStr], Field(description="Category name")] = None, + category_code: Annotated[Optional[StrictStr], Field(description="Category code")] = None, + item_id: Annotated[Optional[List[StrictInt]], Field(description="Existing ItemIDs to reassign to new category")] = None, + category_color: Annotated[Optional[StrictStr], Field(description="Category color (like #3b7be7)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostItemCategoryResponse]: + """postItemCategory + + Adds new items category + + :param property_id: Property ID + :type property_id: str + :param category_name: Category name + :type category_name: str + :param category_code: Category code + :type category_code: str + :param item_id: Existing ItemIDs to reassign to new category + :type item_id: List[int] + :param category_color: Category color (like #3b7be7) + :type category_color: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_item_category_post_serialize( + property_id=property_id, + category_name=category_name, + category_code=category_code, + item_id=item_id, + category_color=category_color, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostItemCategoryResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_item_category_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + category_name: Annotated[Optional[StrictStr], Field(description="Category name")] = None, + category_code: Annotated[Optional[StrictStr], Field(description="Category code")] = None, + item_id: Annotated[Optional[List[StrictInt]], Field(description="Existing ItemIDs to reassign to new category")] = None, + category_color: Annotated[Optional[StrictStr], Field(description="Category color (like #3b7be7)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postItemCategory + + Adds new items category + + :param property_id: Property ID + :type property_id: str + :param category_name: Category name + :type category_name: str + :param category_code: Category code + :type category_code: str + :param item_id: Existing ItemIDs to reassign to new category + :type item_id: List[int] + :param category_color: Category color (like #3b7be7) + :type category_color: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_item_category_post_serialize( + property_id=property_id, + category_name=category_name, + category_code=category_code, + item_id=item_id, + category_color=category_color, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostItemCategoryResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_item_category_post_serialize( + self, + property_id, + category_name, + category_code, + item_id, + category_color, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'itemID': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if category_name is not None: + _form_params.append(('categoryName', category_name)) + if category_code is not None: + _form_params.append(('categoryCode', category_code)) + if item_id is not None: + _form_params.append(('itemID', item_id)) + if category_color is not None: + _form_params.append(('categoryColor', category_color)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postItemCategory', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_item_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier. Required if no houseAccountID or groupCode is provided.")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House account identifier. Required if no reservationID or groupCode is provided.")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Group identifier. Required if no reservationID or houseAccountID is provided.")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier.")] = None, + item_id: Annotated[Optional[StrictStr], Field(description="Item identifier")] = None, + item_quantity: Annotated[Optional[StrictInt], Field(description="Items quantity")] = None, + item_price: Annotated[Optional[StrictStr], Field(description="Item price, if not sent, items registered price will be used")] = None, + item_note: Annotated[Optional[StrictStr], Field(description="Item note")] = None, + item_paid: Annotated[Optional[StrictBool], Field(description="If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. If payments is set, itemPaid is ignored.")] = None, + sale_date: Annotated[Optional[datetime], Field(description="posting date")] = None, + payments: Annotated[Optional[List[PostItemRequestPaymentsInner]], Field(description="list of payments If the item is already paid")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostItemResponse: + """postItem + + Adds an item either to a reservation or to a house account. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier. Required if no houseAccountID or groupCode is provided. + :type reservation_id: str + :param house_account_id: House account identifier. Required if no reservationID or groupCode is provided. + :type house_account_id: str + :param group_code: Group identifier. Required if no reservationID or houseAccountID is provided. + :type group_code: str + :param sub_reservation_id: Sub Reservation identifier. + :type sub_reservation_id: str + :param item_id: Item identifier + :type item_id: str + :param item_quantity: Items quantity + :type item_quantity: int + :param item_price: Item price, if not sent, items registered price will be used + :type item_price: str + :param item_note: Item note + :type item_note: str + :param item_paid: If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. If payments is set, itemPaid is ignored. + :type item_paid: bool + :param sale_date: posting date + :type sale_date: datetime + :param payments: list of payments If the item is already paid + :type payments: List[PostItemRequestPaymentsInner] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_item_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + group_code=group_code, + sub_reservation_id=sub_reservation_id, + item_id=item_id, + item_quantity=item_quantity, + item_price=item_price, + item_note=item_note, + item_paid=item_paid, + sale_date=sale_date, + payments=payments, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostItemResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_item_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier. Required if no houseAccountID or groupCode is provided.")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House account identifier. Required if no reservationID or groupCode is provided.")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Group identifier. Required if no reservationID or houseAccountID is provided.")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier.")] = None, + item_id: Annotated[Optional[StrictStr], Field(description="Item identifier")] = None, + item_quantity: Annotated[Optional[StrictInt], Field(description="Items quantity")] = None, + item_price: Annotated[Optional[StrictStr], Field(description="Item price, if not sent, items registered price will be used")] = None, + item_note: Annotated[Optional[StrictStr], Field(description="Item note")] = None, + item_paid: Annotated[Optional[StrictBool], Field(description="If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. If payments is set, itemPaid is ignored.")] = None, + sale_date: Annotated[Optional[datetime], Field(description="posting date")] = None, + payments: Annotated[Optional[List[PostItemRequestPaymentsInner]], Field(description="list of payments If the item is already paid")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostItemResponse]: + """postItem + + Adds an item either to a reservation or to a house account. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier. Required if no houseAccountID or groupCode is provided. + :type reservation_id: str + :param house_account_id: House account identifier. Required if no reservationID or groupCode is provided. + :type house_account_id: str + :param group_code: Group identifier. Required if no reservationID or houseAccountID is provided. + :type group_code: str + :param sub_reservation_id: Sub Reservation identifier. + :type sub_reservation_id: str + :param item_id: Item identifier + :type item_id: str + :param item_quantity: Items quantity + :type item_quantity: int + :param item_price: Item price, if not sent, items registered price will be used + :type item_price: str + :param item_note: Item note + :type item_note: str + :param item_paid: If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. If payments is set, itemPaid is ignored. + :type item_paid: bool + :param sale_date: posting date + :type sale_date: datetime + :param payments: list of payments If the item is already paid + :type payments: List[PostItemRequestPaymentsInner] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_item_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + group_code=group_code, + sub_reservation_id=sub_reservation_id, + item_id=item_id, + item_quantity=item_quantity, + item_price=item_price, + item_note=item_note, + item_paid=item_paid, + sale_date=sale_date, + payments=payments, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostItemResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_item_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier. Required if no houseAccountID or groupCode is provided.")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House account identifier. Required if no reservationID or groupCode is provided.")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Group identifier. Required if no reservationID or houseAccountID is provided.")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier.")] = None, + item_id: Annotated[Optional[StrictStr], Field(description="Item identifier")] = None, + item_quantity: Annotated[Optional[StrictInt], Field(description="Items quantity")] = None, + item_price: Annotated[Optional[StrictStr], Field(description="Item price, if not sent, items registered price will be used")] = None, + item_note: Annotated[Optional[StrictStr], Field(description="Item note")] = None, + item_paid: Annotated[Optional[StrictBool], Field(description="If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. If payments is set, itemPaid is ignored.")] = None, + sale_date: Annotated[Optional[datetime], Field(description="posting date")] = None, + payments: Annotated[Optional[List[PostItemRequestPaymentsInner]], Field(description="list of payments If the item is already paid")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postItem + + Adds an item either to a reservation or to a house account. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier. Required if no houseAccountID or groupCode is provided. + :type reservation_id: str + :param house_account_id: House account identifier. Required if no reservationID or groupCode is provided. + :type house_account_id: str + :param group_code: Group identifier. Required if no reservationID or houseAccountID is provided. + :type group_code: str + :param sub_reservation_id: Sub Reservation identifier. + :type sub_reservation_id: str + :param item_id: Item identifier + :type item_id: str + :param item_quantity: Items quantity + :type item_quantity: int + :param item_price: Item price, if not sent, items registered price will be used + :type item_price: str + :param item_note: Item note + :type item_note: str + :param item_paid: If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. If payments is set, itemPaid is ignored. + :type item_paid: bool + :param sale_date: posting date + :type sale_date: datetime + :param payments: list of payments If the item is already paid + :type payments: List[PostItemRequestPaymentsInner] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_item_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + group_code=group_code, + sub_reservation_id=sub_reservation_id, + item_id=item_id, + item_quantity=item_quantity, + item_price=item_price, + item_note=item_note, + item_paid=item_paid, + sale_date=sale_date, + payments=payments, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostItemResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_item_post_serialize( + self, + property_id, + reservation_id, + house_account_id, + group_code, + sub_reservation_id, + item_id, + item_quantity, + item_price, + item_note, + item_paid, + sale_date, + payments, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'payments': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if house_account_id is not None: + _form_params.append(('houseAccountID', house_account_id)) + if group_code is not None: + _form_params.append(('groupCode', group_code)) + if sub_reservation_id is not None: + _form_params.append(('subReservationID', sub_reservation_id)) + if item_id is not None: + _form_params.append(('itemID', item_id)) + if item_quantity is not None: + _form_params.append(('itemQuantity', item_quantity)) + if item_price is not None: + _form_params.append(('itemPrice', item_price)) + if item_note is not None: + _form_params.append(('itemNote', item_note)) + if item_paid is not None: + _form_params.append(('itemPaid', item_paid)) + if sale_date is not None: + _form_params.append(('saleDate', sale_date)) + if payments is not None: + _form_params.append(('payments', payments)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postItem', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_items_to_inventory_post( + self, + item: Optional[PostItemsToInventoryRequestItem] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostItemsToInventoryResponse: + """postItemsToInventory + + Adds new items batch
¹ only if item.stockInventory = true
+ + :param item: + :type item: PostItemsToInventoryRequestItem + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_items_to_inventory_post_serialize( + item=item, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostItemsToInventoryResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_items_to_inventory_post_with_http_info( + self, + item: Optional[PostItemsToInventoryRequestItem] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostItemsToInventoryResponse]: + """postItemsToInventory + + Adds new items batch
¹ only if item.stockInventory = true
+ + :param item: + :type item: PostItemsToInventoryRequestItem + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_items_to_inventory_post_serialize( + item=item, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostItemsToInventoryResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_items_to_inventory_post_without_preload_content( + self, + item: Optional[PostItemsToInventoryRequestItem] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postItemsToInventory + + Adds new items batch
¹ only if item.stockInventory = true
+ + :param item: + :type item: PostItemsToInventoryRequestItem + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_items_to_inventory_post_serialize( + item=item, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostItemsToInventoryResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_items_to_inventory_post_serialize( + self, + item, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if item is not None: + _form_params.append(('item', item)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postItemsToInventory', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_void_item_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier. Required if no houseAccountID or groupCode is provided.")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account identifier. Required if no reservationID or groupCode is provided.")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Group identifier. Required if no reservationID or houseAccountID is provided.")] = None, + sold_product_id: Annotated[Optional[StrictStr], Field(description="Item identifier")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostVoidItemResponse: + """postVoidItem + + Voids the itemID transaction on the specified Reservation ID, House Account ID, or Group. If payments were sent in calls [postItem](https://developers.cloudbeds.com/reference/post_postitem) or [postCustomItem](https://developers.cloudbeds.com/reference/post_postcustomitem), they will be deleted too. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier. Required if no houseAccountID or groupCode is provided. + :type reservation_id: str + :param house_account_id: House Account identifier. Required if no reservationID or groupCode is provided. + :type house_account_id: str + :param group_code: Group identifier. Required if no reservationID or houseAccountID is provided. + :type group_code: str + :param sold_product_id: Item identifier + :type sold_product_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_void_item_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + group_code=group_code, + sold_product_id=sold_product_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostVoidItemResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_void_item_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier. Required if no houseAccountID or groupCode is provided.")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account identifier. Required if no reservationID or groupCode is provided.")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Group identifier. Required if no reservationID or houseAccountID is provided.")] = None, + sold_product_id: Annotated[Optional[StrictStr], Field(description="Item identifier")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostVoidItemResponse]: + """postVoidItem + + Voids the itemID transaction on the specified Reservation ID, House Account ID, or Group. If payments were sent in calls [postItem](https://developers.cloudbeds.com/reference/post_postitem) or [postCustomItem](https://developers.cloudbeds.com/reference/post_postcustomitem), they will be deleted too. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier. Required if no houseAccountID or groupCode is provided. + :type reservation_id: str + :param house_account_id: House Account identifier. Required if no reservationID or groupCode is provided. + :type house_account_id: str + :param group_code: Group identifier. Required if no reservationID or houseAccountID is provided. + :type group_code: str + :param sold_product_id: Item identifier + :type sold_product_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_void_item_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + group_code=group_code, + sold_product_id=sold_product_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostVoidItemResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_void_item_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier. Required if no houseAccountID or groupCode is provided.")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account identifier. Required if no reservationID or groupCode is provided.")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Group identifier. Required if no reservationID or houseAccountID is provided.")] = None, + sold_product_id: Annotated[Optional[StrictStr], Field(description="Item identifier")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postVoidItem + + Voids the itemID transaction on the specified Reservation ID, House Account ID, or Group. If payments were sent in calls [postItem](https://developers.cloudbeds.com/reference/post_postitem) or [postCustomItem](https://developers.cloudbeds.com/reference/post_postcustomitem), they will be deleted too. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier. Required if no houseAccountID or groupCode is provided. + :type reservation_id: str + :param house_account_id: House Account identifier. Required if no reservationID or groupCode is provided. + :type house_account_id: str + :param group_code: Group identifier. Required if no reservationID or houseAccountID is provided. + :type group_code: str + :param sold_product_id: Item identifier + :type sold_product_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_void_item_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + group_code=group_code, + sold_product_id=sold_product_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostVoidItemResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_void_item_post_serialize( + self, + property_id, + reservation_id, + house_account_id, + group_code, + sold_product_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if house_account_id is not None: + _form_params.append(('houseAccountID', house_account_id)) + if group_code is not None: + _form_params.append(('groupCode', group_code)) + if sold_product_id is not None: + _form_params.append(('soldProductID', sold_product_id)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postVoidItem', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def put_item_to_inventory_put( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + item_id: Annotated[Optional[StrictStr], Field(description="Item identifier")] = None, + item_name: Annotated[Optional[StrictStr], Field(description="Item name")] = None, + item_type: Annotated[Optional[StrictStr], Field(description="Item type")] = None, + item_sku: Annotated[Optional[StrictStr], Field(description="Item SKU. Will be generated if not set")] = None, + item_code: Annotated[Optional[StrictStr], Field(description="Item code")] = None, + item_description: Annotated[Optional[StrictStr], Field(description="Item description")] = None, + item_price: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Item price")] = None, + stock_inventory: Annotated[Optional[StrictBool], Field(description="Track stock inventory for this item")] = None, + item_quantity: Annotated[Optional[StrictInt], Field(description="¹ Current amount of item available")] = None, + reorder_threshold: Annotated[Optional[StrictInt], Field(description="¹ Quantity at which to reorder item")] = None, + stop_sell_met: Annotated[Optional[StrictBool], Field(description="¹ true - Whether item is at or below value set for stop-sell threshold.")] = None, + stop_sell: Annotated[Optional[StrictInt], Field(description="¹ Quantity at which to stop selling product.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PutItemToInventoryResponse: + """putItemToInventory + + Updates an item with information provided
¹ only if item.stockInventory = true
+ + :param property_id: Property ID + :type property_id: str + :param item_id: Item identifier + :type item_id: str + :param item_name: Item name + :type item_name: str + :param item_type: Item type + :type item_type: str + :param item_sku: Item SKU. Will be generated if not set + :type item_sku: str + :param item_code: Item code + :type item_code: str + :param item_description: Item description + :type item_description: str + :param item_price: Item price + :type item_price: float + :param stock_inventory: Track stock inventory for this item + :type stock_inventory: bool + :param item_quantity: ¹ Current amount of item available + :type item_quantity: int + :param reorder_threshold: ¹ Quantity at which to reorder item + :type reorder_threshold: int + :param stop_sell_met: ¹ true - Whether item is at or below value set for stop-sell threshold. + :type stop_sell_met: bool + :param stop_sell: ¹ Quantity at which to stop selling product. + :type stop_sell: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_item_to_inventory_put_serialize( + property_id=property_id, + item_id=item_id, + item_name=item_name, + item_type=item_type, + item_sku=item_sku, + item_code=item_code, + item_description=item_description, + item_price=item_price, + stock_inventory=stock_inventory, + item_quantity=item_quantity, + reorder_threshold=reorder_threshold, + stop_sell_met=stop_sell_met, + stop_sell=stop_sell, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutItemToInventoryResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def put_item_to_inventory_put_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + item_id: Annotated[Optional[StrictStr], Field(description="Item identifier")] = None, + item_name: Annotated[Optional[StrictStr], Field(description="Item name")] = None, + item_type: Annotated[Optional[StrictStr], Field(description="Item type")] = None, + item_sku: Annotated[Optional[StrictStr], Field(description="Item SKU. Will be generated if not set")] = None, + item_code: Annotated[Optional[StrictStr], Field(description="Item code")] = None, + item_description: Annotated[Optional[StrictStr], Field(description="Item description")] = None, + item_price: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Item price")] = None, + stock_inventory: Annotated[Optional[StrictBool], Field(description="Track stock inventory for this item")] = None, + item_quantity: Annotated[Optional[StrictInt], Field(description="¹ Current amount of item available")] = None, + reorder_threshold: Annotated[Optional[StrictInt], Field(description="¹ Quantity at which to reorder item")] = None, + stop_sell_met: Annotated[Optional[StrictBool], Field(description="¹ true - Whether item is at or below value set for stop-sell threshold.")] = None, + stop_sell: Annotated[Optional[StrictInt], Field(description="¹ Quantity at which to stop selling product.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PutItemToInventoryResponse]: + """putItemToInventory + + Updates an item with information provided
¹ only if item.stockInventory = true
+ + :param property_id: Property ID + :type property_id: str + :param item_id: Item identifier + :type item_id: str + :param item_name: Item name + :type item_name: str + :param item_type: Item type + :type item_type: str + :param item_sku: Item SKU. Will be generated if not set + :type item_sku: str + :param item_code: Item code + :type item_code: str + :param item_description: Item description + :type item_description: str + :param item_price: Item price + :type item_price: float + :param stock_inventory: Track stock inventory for this item + :type stock_inventory: bool + :param item_quantity: ¹ Current amount of item available + :type item_quantity: int + :param reorder_threshold: ¹ Quantity at which to reorder item + :type reorder_threshold: int + :param stop_sell_met: ¹ true - Whether item is at or below value set for stop-sell threshold. + :type stop_sell_met: bool + :param stop_sell: ¹ Quantity at which to stop selling product. + :type stop_sell: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_item_to_inventory_put_serialize( + property_id=property_id, + item_id=item_id, + item_name=item_name, + item_type=item_type, + item_sku=item_sku, + item_code=item_code, + item_description=item_description, + item_price=item_price, + stock_inventory=stock_inventory, + item_quantity=item_quantity, + reorder_threshold=reorder_threshold, + stop_sell_met=stop_sell_met, + stop_sell=stop_sell, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutItemToInventoryResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def put_item_to_inventory_put_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + item_id: Annotated[Optional[StrictStr], Field(description="Item identifier")] = None, + item_name: Annotated[Optional[StrictStr], Field(description="Item name")] = None, + item_type: Annotated[Optional[StrictStr], Field(description="Item type")] = None, + item_sku: Annotated[Optional[StrictStr], Field(description="Item SKU. Will be generated if not set")] = None, + item_code: Annotated[Optional[StrictStr], Field(description="Item code")] = None, + item_description: Annotated[Optional[StrictStr], Field(description="Item description")] = None, + item_price: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Item price")] = None, + stock_inventory: Annotated[Optional[StrictBool], Field(description="Track stock inventory for this item")] = None, + item_quantity: Annotated[Optional[StrictInt], Field(description="¹ Current amount of item available")] = None, + reorder_threshold: Annotated[Optional[StrictInt], Field(description="¹ Quantity at which to reorder item")] = None, + stop_sell_met: Annotated[Optional[StrictBool], Field(description="¹ true - Whether item is at or below value set for stop-sell threshold.")] = None, + stop_sell: Annotated[Optional[StrictInt], Field(description="¹ Quantity at which to stop selling product.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """putItemToInventory + + Updates an item with information provided
¹ only if item.stockInventory = true
+ + :param property_id: Property ID + :type property_id: str + :param item_id: Item identifier + :type item_id: str + :param item_name: Item name + :type item_name: str + :param item_type: Item type + :type item_type: str + :param item_sku: Item SKU. Will be generated if not set + :type item_sku: str + :param item_code: Item code + :type item_code: str + :param item_description: Item description + :type item_description: str + :param item_price: Item price + :type item_price: float + :param stock_inventory: Track stock inventory for this item + :type stock_inventory: bool + :param item_quantity: ¹ Current amount of item available + :type item_quantity: int + :param reorder_threshold: ¹ Quantity at which to reorder item + :type reorder_threshold: int + :param stop_sell_met: ¹ true - Whether item is at or below value set for stop-sell threshold. + :type stop_sell_met: bool + :param stop_sell: ¹ Quantity at which to stop selling product. + :type stop_sell: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_item_to_inventory_put_serialize( + property_id=property_id, + item_id=item_id, + item_name=item_name, + item_type=item_type, + item_sku=item_sku, + item_code=item_code, + item_description=item_description, + item_price=item_price, + stock_inventory=stock_inventory, + item_quantity=item_quantity, + reorder_threshold=reorder_threshold, + stop_sell_met=stop_sell_met, + stop_sell=stop_sell, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutItemToInventoryResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _put_item_to_inventory_put_serialize( + self, + property_id, + item_id, + item_name, + item_type, + item_sku, + item_code, + item_description, + item_price, + stock_inventory, + item_quantity, + reorder_threshold, + stop_sell_met, + stop_sell, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if item_id is not None: + _form_params.append(('itemID', item_id)) + if item_name is not None: + _form_params.append(('itemName', item_name)) + if item_type is not None: + _form_params.append(('itemType', item_type)) + if item_sku is not None: + _form_params.append(('itemSKU', item_sku)) + if item_code is not None: + _form_params.append(('itemCode', item_code)) + if item_description is not None: + _form_params.append(('itemDescription', item_description)) + if item_price is not None: + _form_params.append(('itemPrice', item_price)) + if stock_inventory is not None: + _form_params.append(('stockInventory', stock_inventory)) + if item_quantity is not None: + _form_params.append(('itemQuantity', item_quantity)) + if reorder_threshold is not None: + _form_params.append(('reorderThreshold', reorder_threshold)) + if stop_sell_met is not None: + _form_params.append(('stopSellMet', stop_sell_met)) + if stop_sell is not None: + _form_params.append(('stopSell', stop_sell)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/putItemToInventory', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/package_api.py b/cloudbeds_pms_v1_3/api/package_api.py new file mode 100644 index 0000000..1dfe48e --- /dev/null +++ b/cloudbeds_pms_v1_3/api/package_api.py @@ -0,0 +1,567 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.get_packages_response import GetPackagesResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class PackageApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_package_names_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPackagesResponse: + """getPackageNames + + Return a list of billing package names for a property + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_package_names_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPackagesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_package_names_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPackagesResponse]: + """getPackageNames + + Return a list of billing package names for a property + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_package_names_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPackagesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_package_names_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getPackageNames + + Return a list of billing package names for a property + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_package_names_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPackagesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_package_names_get_serialize( + self, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getPackageNames', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_packages_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPackagesResponse: + """getPackages + + This efficient method allows you to retrieve the collection of packages associated with a property. Packages here define a group of features that a property has the ability to utilize or access. By invoking this API method, developers will get a comprehensive view of the feature sets that are available and active for a specific property. The getPackages method boasts a seamless execution that offers essential information, vital in enhancing property management, understanding available functionalities and ultimately, optimizing user experience. + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_packages_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPackagesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_packages_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPackagesResponse]: + """getPackages + + This efficient method allows you to retrieve the collection of packages associated with a property. Packages here define a group of features that a property has the ability to utilize or access. By invoking this API method, developers will get a comprehensive view of the feature sets that are available and active for a specific property. The getPackages method boasts a seamless execution that offers essential information, vital in enhancing property management, understanding available functionalities and ultimately, optimizing user experience. + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_packages_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPackagesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_packages_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getPackages + + This efficient method allows you to retrieve the collection of packages associated with a property. Packages here define a group of features that a property has the ability to utilize or access. By invoking this API method, developers will get a comprehensive view of the feature sets that are available and active for a specific property. The getPackages method boasts a seamless execution that offers essential information, vital in enhancing property management, understanding available functionalities and ultimately, optimizing user experience. + + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_packages_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPackagesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_packages_get_serialize( + self, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getPackages', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/payment_api.py b/cloudbeds_pms_v1_3/api/payment_api.py new file mode 100644 index 0000000..852075a --- /dev/null +++ b/cloudbeds_pms_v1_3/api/payment_api.py @@ -0,0 +1,2400 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Optional, Union +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.get_payment_methods_response import GetPaymentMethodsResponse +from cloudbeds_pms_v1_3.models.get_payments_capabilities_response import GetPaymentsCapabilitiesResponse +from cloudbeds_pms_v1_3.models.post_card_response import PostCardResponse +from cloudbeds_pms_v1_3.models.post_charge_response import PostChargeResponse +from cloudbeds_pms_v1_3.models.post_custom_payment_method_response import PostCustomPaymentMethodResponse +from cloudbeds_pms_v1_3.models.post_payment_response import PostPaymentResponse +from cloudbeds_pms_v1_3.models.post_void_payment_response import PostVoidPaymentResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class PaymentApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_payment_methods_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="ID for the property to be queried")] = None, + lang: Annotated[Optional[StrictStr], Field(description="Language that payment methods name should return (if available).")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPaymentMethodsResponse: + """getPaymentMethods + + Get a list of active methods for a property, or list of properties + + :param property_id: ID for the property to be queried + :type property_id: str + :param lang: Language that payment methods name should return (if available). + :type lang: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_payment_methods_get_serialize( + property_id=property_id, + lang=lang, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPaymentMethodsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_payment_methods_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="ID for the property to be queried")] = None, + lang: Annotated[Optional[StrictStr], Field(description="Language that payment methods name should return (if available).")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPaymentMethodsResponse]: + """getPaymentMethods + + Get a list of active methods for a property, or list of properties + + :param property_id: ID for the property to be queried + :type property_id: str + :param lang: Language that payment methods name should return (if available). + :type lang: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_payment_methods_get_serialize( + property_id=property_id, + lang=lang, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPaymentMethodsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_payment_methods_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="ID for the property to be queried")] = None, + lang: Annotated[Optional[StrictStr], Field(description="Language that payment methods name should return (if available).")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getPaymentMethods + + Get a list of active methods for a property, or list of properties + + :param property_id: ID for the property to be queried + :type property_id: str + :param lang: Language that payment methods name should return (if available). + :type lang: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_payment_methods_get_serialize( + property_id=property_id, + lang=lang, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPaymentMethodsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_payment_methods_get_serialize( + self, + property_id, + lang, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if lang is not None: + + _query_params.append(('lang', lang)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getPaymentMethods', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_payments_capabilities_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="ID for the property to be queried")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetPaymentsCapabilitiesResponse: + """getPaymentsCapabilities + + Lists the payment capabilities of a given property + + :param property_id: ID for the property to be queried + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_payments_capabilities_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPaymentsCapabilitiesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_payments_capabilities_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="ID for the property to be queried")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetPaymentsCapabilitiesResponse]: + """getPaymentsCapabilities + + Lists the payment capabilities of a given property + + :param property_id: ID for the property to be queried + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_payments_capabilities_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPaymentsCapabilitiesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_payments_capabilities_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="ID for the property to be queried")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getPaymentsCapabilities + + Lists the payment capabilities of a given property + + :param property_id: ID for the property to be queried + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_payments_capabilities_get_serialize( + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPaymentsCapabilitiesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_payments_capabilities_get_serialize( + self, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getPaymentsCapabilities', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_charge_post( + self, + property_id: Optional[StrictStr] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation ID")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account ID")] = None, + group_id: Annotated[Optional[StrictStr], Field(description="Group ID")] = None, + accounts_receivable_ledger_id: Annotated[Optional[StrictStr], Field(description="Accounts Receivable Ledger ID")] = None, + amount: Annotated[Optional[StrictStr], Field(description="Amount to charge")] = None, + currency: Annotated[Optional[StrictStr], Field(description="Currency to charge")] = None, + description: Annotated[Optional[StrictStr], Field(description="Description of the payment to display on folio")] = None, + card_token: Annotated[Optional[StrictStr], Field(description="cardToken provided by Cloudbeds vault")] = None, + payment_method_id: Annotated[Optional[StrictStr], Field(description="Payment method UUID")] = None, + is_deposit: Annotated[Optional[StrictBool], Field(description="determine if this payment is a deposit (default: false)")] = None, + redirect_url: Annotated[Optional[StrictStr], Field(description="client will be redirected to this page after he completed 3ds challenge. User will be redirected with HTTP get redirect and parameter **result** will be added to query string with possible values: - **failed** if 3ds challenge is not passed - **successful** if 3ds challenge is passed If not provided for card with 3ds the request will be rejected")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostChargeResponse: + """postCharge + + Use a payment method to process a payment on a reservation, group profile, accounts receivable ledger, or house account. + + :param property_id: + :type property_id: str + :param reservation_id: Reservation ID + :type reservation_id: str + :param house_account_id: House Account ID + :type house_account_id: str + :param group_id: Group ID + :type group_id: str + :param accounts_receivable_ledger_id: Accounts Receivable Ledger ID + :type accounts_receivable_ledger_id: str + :param amount: Amount to charge + :type amount: str + :param currency: Currency to charge + :type currency: str + :param description: Description of the payment to display on folio + :type description: str + :param card_token: cardToken provided by Cloudbeds vault + :type card_token: str + :param payment_method_id: Payment method UUID + :type payment_method_id: str + :param is_deposit: determine if this payment is a deposit (default: false) + :type is_deposit: bool + :param redirect_url: client will be redirected to this page after he completed 3ds challenge. User will be redirected with HTTP get redirect and parameter **result** will be added to query string with possible values: - **failed** if 3ds challenge is not passed - **successful** if 3ds challenge is passed If not provided for card with 3ds the request will be rejected + :type redirect_url: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_charge_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + group_id=group_id, + accounts_receivable_ledger_id=accounts_receivable_ledger_id, + amount=amount, + currency=currency, + description=description, + card_token=card_token, + payment_method_id=payment_method_id, + is_deposit=is_deposit, + redirect_url=redirect_url, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostChargeResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_charge_post_with_http_info( + self, + property_id: Optional[StrictStr] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation ID")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account ID")] = None, + group_id: Annotated[Optional[StrictStr], Field(description="Group ID")] = None, + accounts_receivable_ledger_id: Annotated[Optional[StrictStr], Field(description="Accounts Receivable Ledger ID")] = None, + amount: Annotated[Optional[StrictStr], Field(description="Amount to charge")] = None, + currency: Annotated[Optional[StrictStr], Field(description="Currency to charge")] = None, + description: Annotated[Optional[StrictStr], Field(description="Description of the payment to display on folio")] = None, + card_token: Annotated[Optional[StrictStr], Field(description="cardToken provided by Cloudbeds vault")] = None, + payment_method_id: Annotated[Optional[StrictStr], Field(description="Payment method UUID")] = None, + is_deposit: Annotated[Optional[StrictBool], Field(description="determine if this payment is a deposit (default: false)")] = None, + redirect_url: Annotated[Optional[StrictStr], Field(description="client will be redirected to this page after he completed 3ds challenge. User will be redirected with HTTP get redirect and parameter **result** will be added to query string with possible values: - **failed** if 3ds challenge is not passed - **successful** if 3ds challenge is passed If not provided for card with 3ds the request will be rejected")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostChargeResponse]: + """postCharge + + Use a payment method to process a payment on a reservation, group profile, accounts receivable ledger, or house account. + + :param property_id: + :type property_id: str + :param reservation_id: Reservation ID + :type reservation_id: str + :param house_account_id: House Account ID + :type house_account_id: str + :param group_id: Group ID + :type group_id: str + :param accounts_receivable_ledger_id: Accounts Receivable Ledger ID + :type accounts_receivable_ledger_id: str + :param amount: Amount to charge + :type amount: str + :param currency: Currency to charge + :type currency: str + :param description: Description of the payment to display on folio + :type description: str + :param card_token: cardToken provided by Cloudbeds vault + :type card_token: str + :param payment_method_id: Payment method UUID + :type payment_method_id: str + :param is_deposit: determine if this payment is a deposit (default: false) + :type is_deposit: bool + :param redirect_url: client will be redirected to this page after he completed 3ds challenge. User will be redirected with HTTP get redirect and parameter **result** will be added to query string with possible values: - **failed** if 3ds challenge is not passed - **successful** if 3ds challenge is passed If not provided for card with 3ds the request will be rejected + :type redirect_url: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_charge_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + group_id=group_id, + accounts_receivable_ledger_id=accounts_receivable_ledger_id, + amount=amount, + currency=currency, + description=description, + card_token=card_token, + payment_method_id=payment_method_id, + is_deposit=is_deposit, + redirect_url=redirect_url, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostChargeResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_charge_post_without_preload_content( + self, + property_id: Optional[StrictStr] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation ID")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account ID")] = None, + group_id: Annotated[Optional[StrictStr], Field(description="Group ID")] = None, + accounts_receivable_ledger_id: Annotated[Optional[StrictStr], Field(description="Accounts Receivable Ledger ID")] = None, + amount: Annotated[Optional[StrictStr], Field(description="Amount to charge")] = None, + currency: Annotated[Optional[StrictStr], Field(description="Currency to charge")] = None, + description: Annotated[Optional[StrictStr], Field(description="Description of the payment to display on folio")] = None, + card_token: Annotated[Optional[StrictStr], Field(description="cardToken provided by Cloudbeds vault")] = None, + payment_method_id: Annotated[Optional[StrictStr], Field(description="Payment method UUID")] = None, + is_deposit: Annotated[Optional[StrictBool], Field(description="determine if this payment is a deposit (default: false)")] = None, + redirect_url: Annotated[Optional[StrictStr], Field(description="client will be redirected to this page after he completed 3ds challenge. User will be redirected with HTTP get redirect and parameter **result** will be added to query string with possible values: - **failed** if 3ds challenge is not passed - **successful** if 3ds challenge is passed If not provided for card with 3ds the request will be rejected")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postCharge + + Use a payment method to process a payment on a reservation, group profile, accounts receivable ledger, or house account. + + :param property_id: + :type property_id: str + :param reservation_id: Reservation ID + :type reservation_id: str + :param house_account_id: House Account ID + :type house_account_id: str + :param group_id: Group ID + :type group_id: str + :param accounts_receivable_ledger_id: Accounts Receivable Ledger ID + :type accounts_receivable_ledger_id: str + :param amount: Amount to charge + :type amount: str + :param currency: Currency to charge + :type currency: str + :param description: Description of the payment to display on folio + :type description: str + :param card_token: cardToken provided by Cloudbeds vault + :type card_token: str + :param payment_method_id: Payment method UUID + :type payment_method_id: str + :param is_deposit: determine if this payment is a deposit (default: false) + :type is_deposit: bool + :param redirect_url: client will be redirected to this page after he completed 3ds challenge. User will be redirected with HTTP get redirect and parameter **result** will be added to query string with possible values: - **failed** if 3ds challenge is not passed - **successful** if 3ds challenge is passed If not provided for card with 3ds the request will be rejected + :type redirect_url: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_charge_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + group_id=group_id, + accounts_receivable_ledger_id=accounts_receivable_ledger_id, + amount=amount, + currency=currency, + description=description, + card_token=card_token, + payment_method_id=payment_method_id, + is_deposit=is_deposit, + redirect_url=redirect_url, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostChargeResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_charge_post_serialize( + self, + property_id, + reservation_id, + house_account_id, + group_id, + accounts_receivable_ledger_id, + amount, + currency, + description, + card_token, + payment_method_id, + is_deposit, + redirect_url, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if house_account_id is not None: + _form_params.append(('houseAccountID', house_account_id)) + if group_id is not None: + _form_params.append(('groupID', group_id)) + if accounts_receivable_ledger_id is not None: + _form_params.append(('accountsReceivableLedgerID', accounts_receivable_ledger_id)) + if amount is not None: + _form_params.append(('amount', amount)) + if currency is not None: + _form_params.append(('currency', currency)) + if description is not None: + _form_params.append(('description', description)) + if card_token is not None: + _form_params.append(('cardToken', card_token)) + if payment_method_id is not None: + _form_params.append(('paymentMethodId', payment_method_id)) + if is_deposit is not None: + _form_params.append(('isDeposit', is_deposit)) + if redirect_url is not None: + _form_params.append(('redirectUrl', redirect_url)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postCharge', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_credit_card_post( + self, + property_id: Optional[StrictStr] = None, + reservation_id: Optional[StrictStr] = None, + card_token: Annotated[Optional[StrictStr], Field(description="cardToken provided by Stripe JS, not recommended, not required if paymentMethodId is provided")] = None, + payment_method_id: Annotated[Optional[StrictStr], Field(description="Payment Method ID provided by the payments SDK")] = None, + return_url: Annotated[Optional[StrictStr], Field(description="client will be redirected to this page after he completed 3ds challenge. User will be redirected with HTTP get redirect and parameter **result** will be added to query string with possible values: - **failed** if 3ds challenge is not passed - **successful** if 3ds challenge is passed If not provided for card with 3ds the request will be rejected")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostCardResponse: + """postCreditCard + + Returns the rate of the room type selected, based on the provided parameters + + :param property_id: + :type property_id: str + :param reservation_id: + :type reservation_id: str + :param card_token: cardToken provided by Stripe JS, not recommended, not required if paymentMethodId is provided + :type card_token: str + :param payment_method_id: Payment Method ID provided by the payments SDK + :type payment_method_id: str + :param return_url: client will be redirected to this page after he completed 3ds challenge. User will be redirected with HTTP get redirect and parameter **result** will be added to query string with possible values: - **failed** if 3ds challenge is not passed - **successful** if 3ds challenge is passed If not provided for card with 3ds the request will be rejected + :type return_url: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_credit_card_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + card_token=card_token, + payment_method_id=payment_method_id, + return_url=return_url, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCardResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_credit_card_post_with_http_info( + self, + property_id: Optional[StrictStr] = None, + reservation_id: Optional[StrictStr] = None, + card_token: Annotated[Optional[StrictStr], Field(description="cardToken provided by Stripe JS, not recommended, not required if paymentMethodId is provided")] = None, + payment_method_id: Annotated[Optional[StrictStr], Field(description="Payment Method ID provided by the payments SDK")] = None, + return_url: Annotated[Optional[StrictStr], Field(description="client will be redirected to this page after he completed 3ds challenge. User will be redirected with HTTP get redirect and parameter **result** will be added to query string with possible values: - **failed** if 3ds challenge is not passed - **successful** if 3ds challenge is passed If not provided for card with 3ds the request will be rejected")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostCardResponse]: + """postCreditCard + + Returns the rate of the room type selected, based on the provided parameters + + :param property_id: + :type property_id: str + :param reservation_id: + :type reservation_id: str + :param card_token: cardToken provided by Stripe JS, not recommended, not required if paymentMethodId is provided + :type card_token: str + :param payment_method_id: Payment Method ID provided by the payments SDK + :type payment_method_id: str + :param return_url: client will be redirected to this page after he completed 3ds challenge. User will be redirected with HTTP get redirect and parameter **result** will be added to query string with possible values: - **failed** if 3ds challenge is not passed - **successful** if 3ds challenge is passed If not provided for card with 3ds the request will be rejected + :type return_url: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_credit_card_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + card_token=card_token, + payment_method_id=payment_method_id, + return_url=return_url, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCardResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_credit_card_post_without_preload_content( + self, + property_id: Optional[StrictStr] = None, + reservation_id: Optional[StrictStr] = None, + card_token: Annotated[Optional[StrictStr], Field(description="cardToken provided by Stripe JS, not recommended, not required if paymentMethodId is provided")] = None, + payment_method_id: Annotated[Optional[StrictStr], Field(description="Payment Method ID provided by the payments SDK")] = None, + return_url: Annotated[Optional[StrictStr], Field(description="client will be redirected to this page after he completed 3ds challenge. User will be redirected with HTTP get redirect and parameter **result** will be added to query string with possible values: - **failed** if 3ds challenge is not passed - **successful** if 3ds challenge is passed If not provided for card with 3ds the request will be rejected")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postCreditCard + + Returns the rate of the room type selected, based on the provided parameters + + :param property_id: + :type property_id: str + :param reservation_id: + :type reservation_id: str + :param card_token: cardToken provided by Stripe JS, not recommended, not required if paymentMethodId is provided + :type card_token: str + :param payment_method_id: Payment Method ID provided by the payments SDK + :type payment_method_id: str + :param return_url: client will be redirected to this page after he completed 3ds challenge. User will be redirected with HTTP get redirect and parameter **result** will be added to query string with possible values: - **failed** if 3ds challenge is not passed - **successful** if 3ds challenge is passed If not provided for card with 3ds the request will be rejected + :type return_url: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_credit_card_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + card_token=card_token, + payment_method_id=payment_method_id, + return_url=return_url, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCardResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_credit_card_post_serialize( + self, + property_id, + reservation_id, + card_token, + payment_method_id, + return_url, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if card_token is not None: + _form_params.append(('cardToken', card_token)) + if payment_method_id is not None: + _form_params.append(('paymentMethodId', payment_method_id)) + if return_url is not None: + _form_params.append(('returnUrl', return_url)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postCreditCard', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_custom_payment_method_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID, if not sent will retrieve property ID from credentials, only one property ID call.")] = None, + method: Annotated[Optional[StrictStr], Field(description="Payment Method, value used in future calls. Must be unique for each property and no whitespaces are allowed (use camel case or underline instead). Will be verified against existing Payment Methods, if it exists, will try to enable it.")] = None, + method_name: Annotated[Optional[StrictStr], Field(description="Payment Method Name, value used to represent the Payment Method. Can use spaces. If nothing is sent, will use value for method.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostCustomPaymentMethodResponse: + """postCustomPaymentMethod + + Add a Custom Payment Method to a property. This call does not allow to add Payment Methods: credit cards, bank transfer or Pay Pal. + + :param property_id: Property ID, if not sent will retrieve property ID from credentials, only one property ID call. + :type property_id: str + :param method: Payment Method, value used in future calls. Must be unique for each property and no whitespaces are allowed (use camel case or underline instead). Will be verified against existing Payment Methods, if it exists, will try to enable it. + :type method: str + :param method_name: Payment Method Name, value used to represent the Payment Method. Can use spaces. If nothing is sent, will use value for method. + :type method_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_custom_payment_method_post_serialize( + property_id=property_id, + method=method, + method_name=method_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCustomPaymentMethodResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_custom_payment_method_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID, if not sent will retrieve property ID from credentials, only one property ID call.")] = None, + method: Annotated[Optional[StrictStr], Field(description="Payment Method, value used in future calls. Must be unique for each property and no whitespaces are allowed (use camel case or underline instead). Will be verified against existing Payment Methods, if it exists, will try to enable it.")] = None, + method_name: Annotated[Optional[StrictStr], Field(description="Payment Method Name, value used to represent the Payment Method. Can use spaces. If nothing is sent, will use value for method.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostCustomPaymentMethodResponse]: + """postCustomPaymentMethod + + Add a Custom Payment Method to a property. This call does not allow to add Payment Methods: credit cards, bank transfer or Pay Pal. + + :param property_id: Property ID, if not sent will retrieve property ID from credentials, only one property ID call. + :type property_id: str + :param method: Payment Method, value used in future calls. Must be unique for each property and no whitespaces are allowed (use camel case or underline instead). Will be verified against existing Payment Methods, if it exists, will try to enable it. + :type method: str + :param method_name: Payment Method Name, value used to represent the Payment Method. Can use spaces. If nothing is sent, will use value for method. + :type method_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_custom_payment_method_post_serialize( + property_id=property_id, + method=method, + method_name=method_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCustomPaymentMethodResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_custom_payment_method_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID, if not sent will retrieve property ID from credentials, only one property ID call.")] = None, + method: Annotated[Optional[StrictStr], Field(description="Payment Method, value used in future calls. Must be unique for each property and no whitespaces are allowed (use camel case or underline instead). Will be verified against existing Payment Methods, if it exists, will try to enable it.")] = None, + method_name: Annotated[Optional[StrictStr], Field(description="Payment Method Name, value used to represent the Payment Method. Can use spaces. If nothing is sent, will use value for method.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postCustomPaymentMethod + + Add a Custom Payment Method to a property. This call does not allow to add Payment Methods: credit cards, bank transfer or Pay Pal. + + :param property_id: Property ID, if not sent will retrieve property ID from credentials, only one property ID call. + :type property_id: str + :param method: Payment Method, value used in future calls. Must be unique for each property and no whitespaces are allowed (use camel case or underline instead). Will be verified against existing Payment Methods, if it exists, will try to enable it. + :type method: str + :param method_name: Payment Method Name, value used to represent the Payment Method. Can use spaces. If nothing is sent, will use value for method. + :type method_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_custom_payment_method_post_serialize( + property_id=property_id, + method=method, + method_name=method_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostCustomPaymentMethodResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_custom_payment_method_post_serialize( + self, + property_id, + method, + method_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if method is not None: + _form_params.append(('method', method)) + if method_name is not None: + _form_params.append(('methodName', method_name)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postCustomPaymentMethod', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_payment_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account identifier is necessary if reservationID not sent")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Group Code. Required if neither reservationID nor houseAccountID is sent")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="The Sub Reservation identifier. reservationID is still mandatory if subReservationID is sent.")] = None, + type: Annotated[Optional[StrictStr], Field(description="Payment type. Use the call [getPaymentMethods](#api-Payment-getPaymentMethods) to get the properties enabled payment methods.")] = None, + amount: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Amount paid on this transaction")] = None, + card_type: Annotated[Optional[StrictStr], Field(description="If type = credit, cardType is necessary. Allowed values are property based, but possible strings are: \\\"visa\\\",\\\"master\\\",\\\"amex\\\",\\\"aura\\\",\\\"diners\\\",\\\"hiper\\\",\\\"elo\\\",\\\"Discover\\\",\\\"jcb\\\",\\\"maestro\\\",\\\"dan\\\",\\\"PostCard\\\",\\\"Eurocard\\\",\\\"union_pay\\\"")] = None, + description: Annotated[Optional[StrictStr], Field(description="Note to be added to payment")] = None, + is_deposit: Annotated[Optional[StrictBool], Field(description="determine if this payment is a deposit (default: false)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostPaymentResponse: + """postPayment + + Add a payment to a specified reservation, house account, or group. If multiple IDs are provided, precedence is reservationID, then houseAccountID, then groupCode. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param house_account_id: House Account identifier is necessary if reservationID not sent + :type house_account_id: str + :param group_code: Group Code. Required if neither reservationID nor houseAccountID is sent + :type group_code: str + :param sub_reservation_id: The Sub Reservation identifier. reservationID is still mandatory if subReservationID is sent. + :type sub_reservation_id: str + :param type: Payment type. Use the call [getPaymentMethods](#api-Payment-getPaymentMethods) to get the properties enabled payment methods. + :type type: str + :param amount: Amount paid on this transaction + :type amount: float + :param card_type: If type = credit, cardType is necessary. Allowed values are property based, but possible strings are: \\\"visa\\\",\\\"master\\\",\\\"amex\\\",\\\"aura\\\",\\\"diners\\\",\\\"hiper\\\",\\\"elo\\\",\\\"Discover\\\",\\\"jcb\\\",\\\"maestro\\\",\\\"dan\\\",\\\"PostCard\\\",\\\"Eurocard\\\",\\\"union_pay\\\" + :type card_type: str + :param description: Note to be added to payment + :type description: str + :param is_deposit: determine if this payment is a deposit (default: false) + :type is_deposit: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_payment_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + group_code=group_code, + sub_reservation_id=sub_reservation_id, + type=type, + amount=amount, + card_type=card_type, + description=description, + is_deposit=is_deposit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPaymentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_payment_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account identifier is necessary if reservationID not sent")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Group Code. Required if neither reservationID nor houseAccountID is sent")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="The Sub Reservation identifier. reservationID is still mandatory if subReservationID is sent.")] = None, + type: Annotated[Optional[StrictStr], Field(description="Payment type. Use the call [getPaymentMethods](#api-Payment-getPaymentMethods) to get the properties enabled payment methods.")] = None, + amount: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Amount paid on this transaction")] = None, + card_type: Annotated[Optional[StrictStr], Field(description="If type = credit, cardType is necessary. Allowed values are property based, but possible strings are: \\\"visa\\\",\\\"master\\\",\\\"amex\\\",\\\"aura\\\",\\\"diners\\\",\\\"hiper\\\",\\\"elo\\\",\\\"Discover\\\",\\\"jcb\\\",\\\"maestro\\\",\\\"dan\\\",\\\"PostCard\\\",\\\"Eurocard\\\",\\\"union_pay\\\"")] = None, + description: Annotated[Optional[StrictStr], Field(description="Note to be added to payment")] = None, + is_deposit: Annotated[Optional[StrictBool], Field(description="determine if this payment is a deposit (default: false)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostPaymentResponse]: + """postPayment + + Add a payment to a specified reservation, house account, or group. If multiple IDs are provided, precedence is reservationID, then houseAccountID, then groupCode. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param house_account_id: House Account identifier is necessary if reservationID not sent + :type house_account_id: str + :param group_code: Group Code. Required if neither reservationID nor houseAccountID is sent + :type group_code: str + :param sub_reservation_id: The Sub Reservation identifier. reservationID is still mandatory if subReservationID is sent. + :type sub_reservation_id: str + :param type: Payment type. Use the call [getPaymentMethods](#api-Payment-getPaymentMethods) to get the properties enabled payment methods. + :type type: str + :param amount: Amount paid on this transaction + :type amount: float + :param card_type: If type = credit, cardType is necessary. Allowed values are property based, but possible strings are: \\\"visa\\\",\\\"master\\\",\\\"amex\\\",\\\"aura\\\",\\\"diners\\\",\\\"hiper\\\",\\\"elo\\\",\\\"Discover\\\",\\\"jcb\\\",\\\"maestro\\\",\\\"dan\\\",\\\"PostCard\\\",\\\"Eurocard\\\",\\\"union_pay\\\" + :type card_type: str + :param description: Note to be added to payment + :type description: str + :param is_deposit: determine if this payment is a deposit (default: false) + :type is_deposit: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_payment_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + group_code=group_code, + sub_reservation_id=sub_reservation_id, + type=type, + amount=amount, + card_type=card_type, + description=description, + is_deposit=is_deposit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPaymentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_payment_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account identifier is necessary if reservationID not sent")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Group Code. Required if neither reservationID nor houseAccountID is sent")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="The Sub Reservation identifier. reservationID is still mandatory if subReservationID is sent.")] = None, + type: Annotated[Optional[StrictStr], Field(description="Payment type. Use the call [getPaymentMethods](#api-Payment-getPaymentMethods) to get the properties enabled payment methods.")] = None, + amount: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Amount paid on this transaction")] = None, + card_type: Annotated[Optional[StrictStr], Field(description="If type = credit, cardType is necessary. Allowed values are property based, but possible strings are: \\\"visa\\\",\\\"master\\\",\\\"amex\\\",\\\"aura\\\",\\\"diners\\\",\\\"hiper\\\",\\\"elo\\\",\\\"Discover\\\",\\\"jcb\\\",\\\"maestro\\\",\\\"dan\\\",\\\"PostCard\\\",\\\"Eurocard\\\",\\\"union_pay\\\"")] = None, + description: Annotated[Optional[StrictStr], Field(description="Note to be added to payment")] = None, + is_deposit: Annotated[Optional[StrictBool], Field(description="determine if this payment is a deposit (default: false)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postPayment + + Add a payment to a specified reservation, house account, or group. If multiple IDs are provided, precedence is reservationID, then houseAccountID, then groupCode. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param house_account_id: House Account identifier is necessary if reservationID not sent + :type house_account_id: str + :param group_code: Group Code. Required if neither reservationID nor houseAccountID is sent + :type group_code: str + :param sub_reservation_id: The Sub Reservation identifier. reservationID is still mandatory if subReservationID is sent. + :type sub_reservation_id: str + :param type: Payment type. Use the call [getPaymentMethods](#api-Payment-getPaymentMethods) to get the properties enabled payment methods. + :type type: str + :param amount: Amount paid on this transaction + :type amount: float + :param card_type: If type = credit, cardType is necessary. Allowed values are property based, but possible strings are: \\\"visa\\\",\\\"master\\\",\\\"amex\\\",\\\"aura\\\",\\\"diners\\\",\\\"hiper\\\",\\\"elo\\\",\\\"Discover\\\",\\\"jcb\\\",\\\"maestro\\\",\\\"dan\\\",\\\"PostCard\\\",\\\"Eurocard\\\",\\\"union_pay\\\" + :type card_type: str + :param description: Note to be added to payment + :type description: str + :param is_deposit: determine if this payment is a deposit (default: false) + :type is_deposit: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_payment_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + group_code=group_code, + sub_reservation_id=sub_reservation_id, + type=type, + amount=amount, + card_type=card_type, + description=description, + is_deposit=is_deposit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPaymentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_payment_post_serialize( + self, + property_id, + reservation_id, + house_account_id, + group_code, + sub_reservation_id, + type, + amount, + card_type, + description, + is_deposit, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if house_account_id is not None: + _form_params.append(('houseAccountID', house_account_id)) + if group_code is not None: + _form_params.append(('groupCode', group_code)) + if sub_reservation_id is not None: + _form_params.append(('subReservationID', sub_reservation_id)) + if type is not None: + _form_params.append(('type', type)) + if amount is not None: + _form_params.append(('amount', amount)) + if card_type is not None: + _form_params.append(('cardType', card_type)) + if description is not None: + _form_params.append(('description', description)) + if is_deposit is not None: + _form_params.append(('isDeposit', is_deposit)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postPayment', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_void_payment_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account identifier is necessary if reservationID not sent")] = None, + payment_id: Annotated[Optional[StrictStr], Field(description="paymentID of transaction that should be voided.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostVoidPaymentResponse: + """postVoidPayment + + Voids a payment (using paymentID) to a specified reservation or house account. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param house_account_id: House Account identifier is necessary if reservationID not sent + :type house_account_id: str + :param payment_id: paymentID of transaction that should be voided. + :type payment_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_void_payment_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + payment_id=payment_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostVoidPaymentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_void_payment_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account identifier is necessary if reservationID not sent")] = None, + payment_id: Annotated[Optional[StrictStr], Field(description="paymentID of transaction that should be voided.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostVoidPaymentResponse]: + """postVoidPayment + + Voids a payment (using paymentID) to a specified reservation or house account. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param house_account_id: House Account identifier is necessary if reservationID not sent + :type house_account_id: str + :param payment_id: paymentID of transaction that should be voided. + :type payment_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_void_payment_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + payment_id=payment_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostVoidPaymentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_void_payment_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + house_account_id: Annotated[Optional[StrictStr], Field(description="House Account identifier is necessary if reservationID not sent")] = None, + payment_id: Annotated[Optional[StrictStr], Field(description="paymentID of transaction that should be voided.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postVoidPayment + + Voids a payment (using paymentID) to a specified reservation or house account. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param house_account_id: House Account identifier is necessary if reservationID not sent + :type house_account_id: str + :param payment_id: paymentID of transaction that should be voided. + :type payment_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_void_payment_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + house_account_id=house_account_id, + payment_id=payment_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostVoidPaymentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_void_payment_post_serialize( + self, + property_id, + reservation_id, + house_account_id, + payment_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if house_account_id is not None: + _form_params.append(('houseAccountID', house_account_id)) + if payment_id is not None: + _form_params.append(('paymentID', payment_id)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postVoidPayment', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/rate_api.py b/cloudbeds_pms_v1_3/api/rate_api.py new file mode 100644 index 0000000..deb57de --- /dev/null +++ b/cloudbeds_pms_v1_3/api/rate_api.py @@ -0,0 +1,1715 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from datetime import date +from pydantic import Field, StrictBool, StrictInt, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.get_rate_jobs_response import GetRateJobsResponse +from cloudbeds_pms_v1_3.models.get_rate_plans_response import GetRatePlansResponse +from cloudbeds_pms_v1_3.models.get_rate_response import GetRateResponse +from cloudbeds_pms_v1_3.models.post_patch_rate_request_rates_inner import PostPatchRateRequestRatesInner +from cloudbeds_pms_v1_3.models.post_patch_rate_response import PostPatchRateResponse +from cloudbeds_pms_v1_3.models.post_put_rate_request_rates_inner import PostPutRateRequestRatesInner +from cloudbeds_pms_v1_3.models.post_put_rate_response import PostPutRateResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class RateApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_rate_get( + self, + room_type_id: Annotated[StrictStr, Field(description="Room Type ID")], + start_date: Annotated[date, Field(description="Check-in date")], + end_date: Annotated[date, Field(description="Check-out date")], + adults: Annotated[Optional[StrictInt], Field(description="Number of adults")] = None, + children: Annotated[Optional[StrictInt], Field(description="Number of children")] = None, + detailed_rates: Annotated[Optional[StrictBool], Field(description="If the rates need detailed information")] = None, + promo_code: Annotated[Optional[StrictBool], Field(description="Return information for one or more specific rate plans by promo code. This parameter is DEPRECATED and not recommended for usage. Use method getRatePlans instead")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetRateResponse: + """getRate + + Returns the rate of the room type selected, based on the provided parameters + + :param room_type_id: Room Type ID (required) + :type room_type_id: str + :param start_date: Check-in date (required) + :type start_date: date + :param end_date: Check-out date (required) + :type end_date: date + :param adults: Number of adults + :type adults: int + :param children: Number of children + :type children: int + :param detailed_rates: If the rates need detailed information + :type detailed_rates: bool + :param promo_code: Return information for one or more specific rate plans by promo code. This parameter is DEPRECATED and not recommended for usage. Use method getRatePlans instead + :type promo_code: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rate_get_serialize( + room_type_id=room_type_id, + start_date=start_date, + end_date=end_date, + adults=adults, + children=children, + detailed_rates=detailed_rates, + promo_code=promo_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_rate_get_with_http_info( + self, + room_type_id: Annotated[StrictStr, Field(description="Room Type ID")], + start_date: Annotated[date, Field(description="Check-in date")], + end_date: Annotated[date, Field(description="Check-out date")], + adults: Annotated[Optional[StrictInt], Field(description="Number of adults")] = None, + children: Annotated[Optional[StrictInt], Field(description="Number of children")] = None, + detailed_rates: Annotated[Optional[StrictBool], Field(description="If the rates need detailed information")] = None, + promo_code: Annotated[Optional[StrictBool], Field(description="Return information for one or more specific rate plans by promo code. This parameter is DEPRECATED and not recommended for usage. Use method getRatePlans instead")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetRateResponse]: + """getRate + + Returns the rate of the room type selected, based on the provided parameters + + :param room_type_id: Room Type ID (required) + :type room_type_id: str + :param start_date: Check-in date (required) + :type start_date: date + :param end_date: Check-out date (required) + :type end_date: date + :param adults: Number of adults + :type adults: int + :param children: Number of children + :type children: int + :param detailed_rates: If the rates need detailed information + :type detailed_rates: bool + :param promo_code: Return information for one or more specific rate plans by promo code. This parameter is DEPRECATED and not recommended for usage. Use method getRatePlans instead + :type promo_code: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rate_get_serialize( + room_type_id=room_type_id, + start_date=start_date, + end_date=end_date, + adults=adults, + children=children, + detailed_rates=detailed_rates, + promo_code=promo_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_rate_get_without_preload_content( + self, + room_type_id: Annotated[StrictStr, Field(description="Room Type ID")], + start_date: Annotated[date, Field(description="Check-in date")], + end_date: Annotated[date, Field(description="Check-out date")], + adults: Annotated[Optional[StrictInt], Field(description="Number of adults")] = None, + children: Annotated[Optional[StrictInt], Field(description="Number of children")] = None, + detailed_rates: Annotated[Optional[StrictBool], Field(description="If the rates need detailed information")] = None, + promo_code: Annotated[Optional[StrictBool], Field(description="Return information for one or more specific rate plans by promo code. This parameter is DEPRECATED and not recommended for usage. Use method getRatePlans instead")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getRate + + Returns the rate of the room type selected, based on the provided parameters + + :param room_type_id: Room Type ID (required) + :type room_type_id: str + :param start_date: Check-in date (required) + :type start_date: date + :param end_date: Check-out date (required) + :type end_date: date + :param adults: Number of adults + :type adults: int + :param children: Number of children + :type children: int + :param detailed_rates: If the rates need detailed information + :type detailed_rates: bool + :param promo_code: Return information for one or more specific rate plans by promo code. This parameter is DEPRECATED and not recommended for usage. Use method getRatePlans instead + :type promo_code: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rate_get_serialize( + room_type_id=room_type_id, + start_date=start_date, + end_date=end_date, + adults=adults, + children=children, + detailed_rates=detailed_rates, + promo_code=promo_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_rate_get_serialize( + self, + room_type_id, + start_date, + end_date, + adults, + children, + detailed_rates, + promo_code, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if room_type_id is not None: + + _query_params.append(('roomTypeID', room_type_id)) + + if start_date is not None: + if isinstance(start_date, date): + _query_params.append( + ( + 'startDate', + start_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('startDate', start_date)) + + if end_date is not None: + if isinstance(end_date, date): + _query_params.append( + ( + 'endDate', + end_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('endDate', end_date)) + + if adults is not None: + + _query_params.append(('adults', adults)) + + if children is not None: + + _query_params.append(('children', children)) + + if detailed_rates is not None: + + _query_params.append(('detailedRates', detailed_rates)) + + if promo_code is not None: + + _query_params.append(('promoCode', promo_code)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getRate', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_rate_jobs_get( + self, + job_reference_id: Annotated[Optional[StrictStr], Field(description="Filter Rate Jobs by jobReferenceID")] = None, + status: Annotated[Optional[StrictStr], Field(description="Filter Rate Jobs based on status")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetRateJobsResponse: + """getRateJobs + + Returns a list of Rate Jobs. Rate jobs are only returned within 7 days of creation, after 7 days they will not be returned in the response. Requests which do not provide a jobReferenceID will be filtered by the client ID of the request's token. + + :param job_reference_id: Filter Rate Jobs by jobReferenceID + :type job_reference_id: str + :param status: Filter Rate Jobs based on status + :type status: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rate_jobs_get_serialize( + job_reference_id=job_reference_id, + status=status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRateJobsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_rate_jobs_get_with_http_info( + self, + job_reference_id: Annotated[Optional[StrictStr], Field(description="Filter Rate Jobs by jobReferenceID")] = None, + status: Annotated[Optional[StrictStr], Field(description="Filter Rate Jobs based on status")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetRateJobsResponse]: + """getRateJobs + + Returns a list of Rate Jobs. Rate jobs are only returned within 7 days of creation, after 7 days they will not be returned in the response. Requests which do not provide a jobReferenceID will be filtered by the client ID of the request's token. + + :param job_reference_id: Filter Rate Jobs by jobReferenceID + :type job_reference_id: str + :param status: Filter Rate Jobs based on status + :type status: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rate_jobs_get_serialize( + job_reference_id=job_reference_id, + status=status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRateJobsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_rate_jobs_get_without_preload_content( + self, + job_reference_id: Annotated[Optional[StrictStr], Field(description="Filter Rate Jobs by jobReferenceID")] = None, + status: Annotated[Optional[StrictStr], Field(description="Filter Rate Jobs based on status")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getRateJobs + + Returns a list of Rate Jobs. Rate jobs are only returned within 7 days of creation, after 7 days they will not be returned in the response. Requests which do not provide a jobReferenceID will be filtered by the client ID of the request's token. + + :param job_reference_id: Filter Rate Jobs by jobReferenceID + :type job_reference_id: str + :param status: Filter Rate Jobs based on status + :type status: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rate_jobs_get_serialize( + job_reference_id=job_reference_id, + status=status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRateJobsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_rate_jobs_get_serialize( + self, + job_reference_id, + status, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if job_reference_id is not None: + + _query_params.append(('jobReferenceID', job_reference_id)) + + if status is not None: + + _query_params.append(('status', status)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getRateJobs', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_rate_plans_get( + self, + start_date: Annotated[date, Field(description="Check-in date")], + end_date: Annotated[date, Field(description="Check-out date")], + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + rate_ids: Annotated[Optional[StrictStr], Field(description="List of Rate IDs, comma-separated, i.e. 37,345,89")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="List of Room Type IDs, comma-separated, i.e. 37,345,89")] = None, + promo_code: Annotated[Optional[StrictStr], Field(description="List of Promo Codes, comma-separated, i.e. 37,345,89")] = None, + include_promo_code: Annotated[Optional[StrictBool], Field(description="Include rate plans with promo code")] = None, + adults: Annotated[Optional[StrictInt], Field(description="Number of adults")] = None, + children: Annotated[Optional[StrictInt], Field(description="Number of children")] = None, + detailed_rates: Annotated[Optional[StrictBool], Field(description="If the rates need detailed information")] = None, + include_shared_rooms: Annotated[Optional[StrictBool], Field(description="Include shared rooms in the result for multiple adults/children")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetRatePlansResponse: + """getRatePlans + + Returns the rates of the room type or promo code selected, based on the provided parameters. If no parameters are provided, then the method will return all publicly available rate plans. ### Group account support + + :param start_date: Check-in date (required) + :type start_date: date + :param end_date: Check-out date (required) + :type end_date: date + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param rate_ids: List of Rate IDs, comma-separated, i.e. 37,345,89 + :type rate_ids: str + :param room_type_id: List of Room Type IDs, comma-separated, i.e. 37,345,89 + :type room_type_id: str + :param promo_code: List of Promo Codes, comma-separated, i.e. 37,345,89 + :type promo_code: str + :param include_promo_code: Include rate plans with promo code + :type include_promo_code: bool + :param adults: Number of adults + :type adults: int + :param children: Number of children + :type children: int + :param detailed_rates: If the rates need detailed information + :type detailed_rates: bool + :param include_shared_rooms: Include shared rooms in the result for multiple adults/children + :type include_shared_rooms: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rate_plans_get_serialize( + start_date=start_date, + end_date=end_date, + property_ids=property_ids, + rate_ids=rate_ids, + room_type_id=room_type_id, + promo_code=promo_code, + include_promo_code=include_promo_code, + adults=adults, + children=children, + detailed_rates=detailed_rates, + include_shared_rooms=include_shared_rooms, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRatePlansResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_rate_plans_get_with_http_info( + self, + start_date: Annotated[date, Field(description="Check-in date")], + end_date: Annotated[date, Field(description="Check-out date")], + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + rate_ids: Annotated[Optional[StrictStr], Field(description="List of Rate IDs, comma-separated, i.e. 37,345,89")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="List of Room Type IDs, comma-separated, i.e. 37,345,89")] = None, + promo_code: Annotated[Optional[StrictStr], Field(description="List of Promo Codes, comma-separated, i.e. 37,345,89")] = None, + include_promo_code: Annotated[Optional[StrictBool], Field(description="Include rate plans with promo code")] = None, + adults: Annotated[Optional[StrictInt], Field(description="Number of adults")] = None, + children: Annotated[Optional[StrictInt], Field(description="Number of children")] = None, + detailed_rates: Annotated[Optional[StrictBool], Field(description="If the rates need detailed information")] = None, + include_shared_rooms: Annotated[Optional[StrictBool], Field(description="Include shared rooms in the result for multiple adults/children")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetRatePlansResponse]: + """getRatePlans + + Returns the rates of the room type or promo code selected, based on the provided parameters. If no parameters are provided, then the method will return all publicly available rate plans. ### Group account support + + :param start_date: Check-in date (required) + :type start_date: date + :param end_date: Check-out date (required) + :type end_date: date + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param rate_ids: List of Rate IDs, comma-separated, i.e. 37,345,89 + :type rate_ids: str + :param room_type_id: List of Room Type IDs, comma-separated, i.e. 37,345,89 + :type room_type_id: str + :param promo_code: List of Promo Codes, comma-separated, i.e. 37,345,89 + :type promo_code: str + :param include_promo_code: Include rate plans with promo code + :type include_promo_code: bool + :param adults: Number of adults + :type adults: int + :param children: Number of children + :type children: int + :param detailed_rates: If the rates need detailed information + :type detailed_rates: bool + :param include_shared_rooms: Include shared rooms in the result for multiple adults/children + :type include_shared_rooms: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rate_plans_get_serialize( + start_date=start_date, + end_date=end_date, + property_ids=property_ids, + rate_ids=rate_ids, + room_type_id=room_type_id, + promo_code=promo_code, + include_promo_code=include_promo_code, + adults=adults, + children=children, + detailed_rates=detailed_rates, + include_shared_rooms=include_shared_rooms, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRatePlansResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_rate_plans_get_without_preload_content( + self, + start_date: Annotated[date, Field(description="Check-in date")], + end_date: Annotated[date, Field(description="Check-out date")], + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + rate_ids: Annotated[Optional[StrictStr], Field(description="List of Rate IDs, comma-separated, i.e. 37,345,89")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="List of Room Type IDs, comma-separated, i.e. 37,345,89")] = None, + promo_code: Annotated[Optional[StrictStr], Field(description="List of Promo Codes, comma-separated, i.e. 37,345,89")] = None, + include_promo_code: Annotated[Optional[StrictBool], Field(description="Include rate plans with promo code")] = None, + adults: Annotated[Optional[StrictInt], Field(description="Number of adults")] = None, + children: Annotated[Optional[StrictInt], Field(description="Number of children")] = None, + detailed_rates: Annotated[Optional[StrictBool], Field(description="If the rates need detailed information")] = None, + include_shared_rooms: Annotated[Optional[StrictBool], Field(description="Include shared rooms in the result for multiple adults/children")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getRatePlans + + Returns the rates of the room type or promo code selected, based on the provided parameters. If no parameters are provided, then the method will return all publicly available rate plans. ### Group account support + + :param start_date: Check-in date (required) + :type start_date: date + :param end_date: Check-out date (required) + :type end_date: date + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param rate_ids: List of Rate IDs, comma-separated, i.e. 37,345,89 + :type rate_ids: str + :param room_type_id: List of Room Type IDs, comma-separated, i.e. 37,345,89 + :type room_type_id: str + :param promo_code: List of Promo Codes, comma-separated, i.e. 37,345,89 + :type promo_code: str + :param include_promo_code: Include rate plans with promo code + :type include_promo_code: bool + :param adults: Number of adults + :type adults: int + :param children: Number of children + :type children: int + :param detailed_rates: If the rates need detailed information + :type detailed_rates: bool + :param include_shared_rooms: Include shared rooms in the result for multiple adults/children + :type include_shared_rooms: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rate_plans_get_serialize( + start_date=start_date, + end_date=end_date, + property_ids=property_ids, + rate_ids=rate_ids, + room_type_id=room_type_id, + promo_code=promo_code, + include_promo_code=include_promo_code, + adults=adults, + children=children, + detailed_rates=detailed_rates, + include_shared_rooms=include_shared_rooms, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRatePlansResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_rate_plans_get_serialize( + self, + start_date, + end_date, + property_ids, + rate_ids, + room_type_id, + promo_code, + include_promo_code, + adults, + children, + detailed_rates, + include_shared_rooms, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_ids is not None: + + _query_params.append(('propertyIDs', property_ids)) + + if rate_ids is not None: + + _query_params.append(('rateIDs', rate_ids)) + + if room_type_id is not None: + + _query_params.append(('roomTypeID', room_type_id)) + + if promo_code is not None: + + _query_params.append(('promoCode', promo_code)) + + if include_promo_code is not None: + + _query_params.append(('includePromoCode', include_promo_code)) + + if start_date is not None: + if isinstance(start_date, date): + _query_params.append( + ( + 'startDate', + start_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('startDate', start_date)) + + if end_date is not None: + if isinstance(end_date, date): + _query_params.append( + ( + 'endDate', + end_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('endDate', end_date)) + + if adults is not None: + + _query_params.append(('adults', adults)) + + if children is not None: + + _query_params.append(('children', children)) + + if detailed_rates is not None: + + _query_params.append(('detailedRates', detailed_rates)) + + if include_shared_rooms is not None: + + _query_params.append(('includeSharedRooms', include_shared_rooms)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getRatePlans', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_rate_post( + self, + rates: Annotated[Optional[List[PostPatchRateRequestRatesInner]], Field(description="Array of rates to update")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostPatchRateResponse: + """patchRate + + Update the rate of the room based on rateID selected, based on the provided parameters. You can make multiple rate updates in a single API call. Providing a startDate and/or endDate will update rates only within the interval provided. Only non derived rates can be updated, requests to update a derived rate will return an error. This endpoint performs updates asynchronously, rate updates are added to a queue and the endpoint returns a job reference ID. This job reference ID can be used to track job status notifications or to look up details of the update once it is completed. The API is limited to 30 interval per update, sending more than 30 will return an error. + + :param rates: Array of rates to update + :type rates: List[PostPatchRateRequestRatesInner] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_rate_post_serialize( + rates=rates, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPatchRateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def patch_rate_post_with_http_info( + self, + rates: Annotated[Optional[List[PostPatchRateRequestRatesInner]], Field(description="Array of rates to update")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostPatchRateResponse]: + """patchRate + + Update the rate of the room based on rateID selected, based on the provided parameters. You can make multiple rate updates in a single API call. Providing a startDate and/or endDate will update rates only within the interval provided. Only non derived rates can be updated, requests to update a derived rate will return an error. This endpoint performs updates asynchronously, rate updates are added to a queue and the endpoint returns a job reference ID. This job reference ID can be used to track job status notifications or to look up details of the update once it is completed. The API is limited to 30 interval per update, sending more than 30 will return an error. + + :param rates: Array of rates to update + :type rates: List[PostPatchRateRequestRatesInner] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_rate_post_serialize( + rates=rates, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPatchRateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def patch_rate_post_without_preload_content( + self, + rates: Annotated[Optional[List[PostPatchRateRequestRatesInner]], Field(description="Array of rates to update")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """patchRate + + Update the rate of the room based on rateID selected, based on the provided parameters. You can make multiple rate updates in a single API call. Providing a startDate and/or endDate will update rates only within the interval provided. Only non derived rates can be updated, requests to update a derived rate will return an error. This endpoint performs updates asynchronously, rate updates are added to a queue and the endpoint returns a job reference ID. This job reference ID can be used to track job status notifications or to look up details of the update once it is completed. The API is limited to 30 interval per update, sending more than 30 will return an error. + + :param rates: Array of rates to update + :type rates: List[PostPatchRateRequestRatesInner] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_rate_post_serialize( + rates=rates, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPatchRateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_rate_post_serialize( + self, + rates, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'rates': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if rates is not None: + _form_params.append(('rates', rates)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/patchRate', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def put_rate_post( + self, + rates: Annotated[Optional[List[PostPutRateRequestRatesInner]], Field(description="Array of rates to update")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostPutRateResponse: + """putRate + + Update the rate of the room based on rateID selected, based on the provided parameters. You can make multiple rate updates in a single API call. Providing a startDate and/or endDate will update rates only within the interval provided. Only non derived rates can be updated, requests to update a derived rate will return an error. This endpoint performs updates asynchronously, rate updates are added to a queue and the endpoint returns a job reference ID. This job reference ID can be used to track job status notifications or to look up details of the update once it is completed. The API is limited to 30 interval per update, sending more than 30 will return an error. + + :param rates: Array of rates to update + :type rates: List[PostPutRateRequestRatesInner] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_rate_post_serialize( + rates=rates, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPutRateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def put_rate_post_with_http_info( + self, + rates: Annotated[Optional[List[PostPutRateRequestRatesInner]], Field(description="Array of rates to update")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostPutRateResponse]: + """putRate + + Update the rate of the room based on rateID selected, based on the provided parameters. You can make multiple rate updates in a single API call. Providing a startDate and/or endDate will update rates only within the interval provided. Only non derived rates can be updated, requests to update a derived rate will return an error. This endpoint performs updates asynchronously, rate updates are added to a queue and the endpoint returns a job reference ID. This job reference ID can be used to track job status notifications or to look up details of the update once it is completed. The API is limited to 30 interval per update, sending more than 30 will return an error. + + :param rates: Array of rates to update + :type rates: List[PostPutRateRequestRatesInner] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_rate_post_serialize( + rates=rates, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPutRateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def put_rate_post_without_preload_content( + self, + rates: Annotated[Optional[List[PostPutRateRequestRatesInner]], Field(description="Array of rates to update")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """putRate + + Update the rate of the room based on rateID selected, based on the provided parameters. You can make multiple rate updates in a single API call. Providing a startDate and/or endDate will update rates only within the interval provided. Only non derived rates can be updated, requests to update a derived rate will return an error. This endpoint performs updates asynchronously, rate updates are added to a queue and the endpoint returns a job reference ID. This job reference ID can be used to track job status notifications or to look up details of the update once it is completed. The API is limited to 30 interval per update, sending more than 30 will return an error. + + :param rates: Array of rates to update + :type rates: List[PostPutRateRequestRatesInner] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_rate_post_serialize( + rates=rates, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostPutRateResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _put_rate_post_serialize( + self, + rates, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'rates': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if rates is not None: + _form_params.append(('rates', rates)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/putRate', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/reservation_api.py b/cloudbeds_pms_v1_3/api/reservation_api.py new file mode 100644 index 0000000..296bdcc --- /dev/null +++ b/cloudbeds_pms_v1_3/api/reservation_api.py @@ -0,0 +1,4902 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from datetime import date, datetime +from pydantic import Field, StrictBool, StrictBytes, StrictInt, StrictStr, field_validator +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.delete_reservation_note_response import DeleteReservationNoteResponse +from cloudbeds_pms_v1_3.models.get_reservation_assignments_response import GetReservationAssignmentsResponse +from cloudbeds_pms_v1_3.models.get_reservation_notes_response import GetReservationNotesResponse +from cloudbeds_pms_v1_3.models.get_reservation_response import GetReservationResponse +from cloudbeds_pms_v1_3.models.get_reservations_response import GetReservationsResponse +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response import GetReservationsWithRateDetailsResponse +from cloudbeds_pms_v1_3.models.get_sources_response import GetSourcesResponse +from cloudbeds_pms_v1_3.models.post_reservation_document_response import PostReservationDocumentResponse +from cloudbeds_pms_v1_3.models.post_reservation_note_response import PostReservationNoteResponse +from cloudbeds_pms_v1_3.models.post_reservation_request_adults_inner import PostReservationRequestAdultsInner +from cloudbeds_pms_v1_3.models.post_reservation_request_children_inner import PostReservationRequestChildrenInner +from cloudbeds_pms_v1_3.models.post_reservation_request_custom_fields_inner import PostReservationRequestCustomFieldsInner +from cloudbeds_pms_v1_3.models.post_reservation_request_rooms_inner import PostReservationRequestRoomsInner +from cloudbeds_pms_v1_3.models.post_reservation_response import PostReservationResponse +from cloudbeds_pms_v1_3.models.put_reservation_note_response import PutReservationNoteResponse +from cloudbeds_pms_v1_3.models.put_reservation_request_custom_fields_inner import PutReservationRequestCustomFieldsInner +from cloudbeds_pms_v1_3.models.put_reservation_request_rooms_inner import PutReservationRequestRoomsInner +from cloudbeds_pms_v1_3.models.put_reservation_response import PutReservationResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class ReservationApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def delete_reservation_note_delete( + self, + reservation_id: Annotated[StrictStr, Field(description="Reservation Unique Identifier")], + reservation_note_id: Annotated[StrictStr, Field(description="Reservation Note ID")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DeleteReservationNoteResponse: + """deleteReservationNote + + Archives an existing reservation note. + + :param reservation_id: Reservation Unique Identifier (required) + :type reservation_id: str + :param reservation_note_id: Reservation Note ID (required) + :type reservation_note_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_reservation_note_delete_serialize( + reservation_id=reservation_id, + reservation_note_id=reservation_note_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteReservationNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_reservation_note_delete_with_http_info( + self, + reservation_id: Annotated[StrictStr, Field(description="Reservation Unique Identifier")], + reservation_note_id: Annotated[StrictStr, Field(description="Reservation Note ID")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DeleteReservationNoteResponse]: + """deleteReservationNote + + Archives an existing reservation note. + + :param reservation_id: Reservation Unique Identifier (required) + :type reservation_id: str + :param reservation_note_id: Reservation Note ID (required) + :type reservation_note_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_reservation_note_delete_serialize( + reservation_id=reservation_id, + reservation_note_id=reservation_note_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteReservationNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_reservation_note_delete_without_preload_content( + self, + reservation_id: Annotated[StrictStr, Field(description="Reservation Unique Identifier")], + reservation_note_id: Annotated[StrictStr, Field(description="Reservation Note ID")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """deleteReservationNote + + Archives an existing reservation note. + + :param reservation_id: Reservation Unique Identifier (required) + :type reservation_id: str + :param reservation_note_id: Reservation Note ID (required) + :type reservation_note_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_reservation_note_delete_serialize( + reservation_id=reservation_id, + reservation_note_id=reservation_note_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteReservationNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_reservation_note_delete_serialize( + self, + reservation_id, + reservation_note_id, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if reservation_id is not None: + + _query_params.append(('reservationID', reservation_id)) + + if reservation_note_id is not None: + + _query_params.append(('reservationNoteID', reservation_note_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/deleteReservationNote', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_reservation_assignments_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + var_date: Annotated[Optional[date], Field(description="Date selected to get the assignments. If no date is passed, it will return the results for the current day.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetReservationAssignmentsResponse: + """getReservationAssignments + + Returns a list of rooms/reservations assigned for a selected date. + + :param property_id: Property ID + :type property_id: str + :param var_date: Date selected to get the assignments. If no date is passed, it will return the results for the current day. + :type var_date: date + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservation_assignments_get_serialize( + property_id=property_id, + var_date=var_date, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationAssignmentsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_reservation_assignments_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + var_date: Annotated[Optional[date], Field(description="Date selected to get the assignments. If no date is passed, it will return the results for the current day.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetReservationAssignmentsResponse]: + """getReservationAssignments + + Returns a list of rooms/reservations assigned for a selected date. + + :param property_id: Property ID + :type property_id: str + :param var_date: Date selected to get the assignments. If no date is passed, it will return the results for the current day. + :type var_date: date + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservation_assignments_get_serialize( + property_id=property_id, + var_date=var_date, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationAssignmentsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_reservation_assignments_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + var_date: Annotated[Optional[date], Field(description="Date selected to get the assignments. If no date is passed, it will return the results for the current day.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getReservationAssignments + + Returns a list of rooms/reservations assigned for a selected date. + + :param property_id: Property ID + :type property_id: str + :param var_date: Date selected to get the assignments. If no date is passed, it will return the results for the current day. + :type var_date: date + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservation_assignments_get_serialize( + property_id=property_id, + var_date=var_date, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationAssignmentsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_reservation_assignments_get_serialize( + self, + property_id, + var_date, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if var_date is not None: + if isinstance(var_date, date): + _query_params.append( + ( + 'date', + var_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('date', var_date)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getReservationAssignments', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_reservation_get( + self, + reservation_id: Annotated[StrictStr, Field(description="Reservation Unique Identifier. Obtained from one of the \"Reservations\" group methods")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetReservationResponse: + """getReservation + + Returns information on a booking specified by the reservationID parameter + + :param reservation_id: Reservation Unique Identifier. Obtained from one of the \"Reservations\" group methods (required) + :type reservation_id: str + :param property_id: Property ID + :type property_id: str + :param include_guest_requirements: Includes guest requirements data in the response. + :type include_guest_requirements: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservation_get_serialize( + reservation_id=reservation_id, + property_id=property_id, + include_guest_requirements=include_guest_requirements, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_reservation_get_with_http_info( + self, + reservation_id: Annotated[StrictStr, Field(description="Reservation Unique Identifier. Obtained from one of the \"Reservations\" group methods")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetReservationResponse]: + """getReservation + + Returns information on a booking specified by the reservationID parameter + + :param reservation_id: Reservation Unique Identifier. Obtained from one of the \"Reservations\" group methods (required) + :type reservation_id: str + :param property_id: Property ID + :type property_id: str + :param include_guest_requirements: Includes guest requirements data in the response. + :type include_guest_requirements: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservation_get_serialize( + reservation_id=reservation_id, + property_id=property_id, + include_guest_requirements=include_guest_requirements, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_reservation_get_without_preload_content( + self, + reservation_id: Annotated[StrictStr, Field(description="Reservation Unique Identifier. Obtained from one of the \"Reservations\" group methods")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getReservation + + Returns information on a booking specified by the reservationID parameter + + :param reservation_id: Reservation Unique Identifier. Obtained from one of the \"Reservations\" group methods (required) + :type reservation_id: str + :param property_id: Property ID + :type property_id: str + :param include_guest_requirements: Includes guest requirements data in the response. + :type include_guest_requirements: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservation_get_serialize( + reservation_id=reservation_id, + property_id=property_id, + include_guest_requirements=include_guest_requirements, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_reservation_get_serialize( + self, + reservation_id, + property_id, + include_guest_requirements, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if reservation_id is not None: + + _query_params.append(('reservationID', reservation_id)) + + if include_guest_requirements is not None: + + _query_params.append(('includeGuestRequirements', include_guest_requirements)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getReservation', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_reservation_notes_get( + self, + reservation_id: Annotated[StrictStr, Field(description="Reservation Unique Identifier")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetReservationNotesResponse: + """getReservationNotes + + Retrieves reservation notes based on parameters + + :param reservation_id: Reservation Unique Identifier (required) + :type reservation_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservation_notes_get_serialize( + reservation_id=reservation_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_reservation_notes_get_with_http_info( + self, + reservation_id: Annotated[StrictStr, Field(description="Reservation Unique Identifier")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetReservationNotesResponse]: + """getReservationNotes + + Retrieves reservation notes based on parameters + + :param reservation_id: Reservation Unique Identifier (required) + :type reservation_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservation_notes_get_serialize( + reservation_id=reservation_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_reservation_notes_get_without_preload_content( + self, + reservation_id: Annotated[StrictStr, Field(description="Reservation Unique Identifier")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getReservationNotes + + Retrieves reservation notes based on parameters + + :param reservation_id: Reservation Unique Identifier (required) + :type reservation_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservation_notes_get_serialize( + reservation_id=reservation_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationNotesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_reservation_notes_get_serialize( + self, + reservation_id, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if reservation_id is not None: + + _query_params.append(('reservationID', reservation_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getReservationNotes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_reservations_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="ID for the properties to be queried (comma-separated, i.e. 37,345,89).
It can be omitted if the API key is single-property, or to get results from all properties on an association.")] = None, + status: Annotated[Optional[StrictStr], Field(description="Filter by current reservation status")] = None, + results_from: Annotated[Optional[datetime], Field(description="Inferior limit datetime, used to filter reservations, based on booking date")] = None, + results_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter reservations, based on booking date")] = None, + modified_from: Annotated[Optional[datetime], Field(description="Inferior limit datetime, used to filter reservations, based on booking modification date")] = None, + modified_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter reservations, based on booking modification date")] = None, + check_in_from: Annotated[Optional[date], Field(description="Filters reservations result to return only reservations with check-in date range starting on this date")] = None, + check_in_to: Annotated[Optional[date], Field(description="Filters reservations result to return only reservations with check-in date range ending on this date")] = None, + check_out_from: Annotated[Optional[date], Field(description="Filters reservations result to return only reservations with check-out date range starting on this date")] = None, + check_out_to: Annotated[Optional[date], Field(description="Filters reservations result to return only reservations with check-out date range ending on this date")] = None, + dates_query_mode: Annotated[Optional[StrictStr], Field(description="If we should consider the booking's check-in/check-out dates or the start and end dates for the associated rooms.")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied room ID. CheckIn/checkOut dates OR status are required. If dates are provided and span more than one day, more than one reservation can be returned. If roomID supplied, roomName is ignored.")] = None, + room_name: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied room name (customizable by each property). CheckIn/checkOut dates OR status are required. If dates are provided and span more than one day, more than one reservation can be returned.")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied Room Type ID.")] = None, + include_guests_details: Annotated[Optional[StrictBool], Field(description="If guests details should be included or not")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response. Requires `includeGuestsDetails=true`.")] = None, + include_custom_fields: Annotated[Optional[StrictBool], Field(description="If reservation custom fields should be included or not")] = None, + include_all_rooms: Annotated[Optional[StrictBool], Field(description="When specified, the response will include an additional rooms field that combines both unassigned and assigned rooms.")] = None, + source_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied source ID.")] = None, + source_reservation_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied reservation source ID.")] = None, + rate_plan_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied rate plan ID.")] = None, + first_name: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied primary guest first name.")] = None, + last_name: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied primary guest last name.")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied Guest ID (Including additional guests).")] = None, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied allotment block code.")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied group code.")] = None, + sort_by_recent: Annotated[Optional[StrictBool], Field(description="Sort response results by most recent action")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetReservationsResponse: + """getReservations + + Returns a list of reservations that matched the filters criteria.
Please note that some reservations modification may not be reflected in this timestamp. ### Group account support + + :param property_id: ID for the properties to be queried (comma-separated, i.e. 37,345,89).
It can be omitted if the API key is single-property, or to get results from all properties on an association. + :type property_id: str + :param status: Filter by current reservation status + :type status: str + :param results_from: Inferior limit datetime, used to filter reservations, based on booking date + :type results_from: datetime + :param results_to: Superior limit datetime, used to filter reservations, based on booking date + :type results_to: datetime + :param modified_from: Inferior limit datetime, used to filter reservations, based on booking modification date + :type modified_from: datetime + :param modified_to: Superior limit datetime, used to filter reservations, based on booking modification date + :type modified_to: datetime + :param check_in_from: Filters reservations result to return only reservations with check-in date range starting on this date + :type check_in_from: date + :param check_in_to: Filters reservations result to return only reservations with check-in date range ending on this date + :type check_in_to: date + :param check_out_from: Filters reservations result to return only reservations with check-out date range starting on this date + :type check_out_from: date + :param check_out_to: Filters reservations result to return only reservations with check-out date range ending on this date + :type check_out_to: date + :param dates_query_mode: If we should consider the booking's check-in/check-out dates or the start and end dates for the associated rooms. + :type dates_query_mode: str + :param room_id: Filters reservation with the supplied room ID. CheckIn/checkOut dates OR status are required. If dates are provided and span more than one day, more than one reservation can be returned. If roomID supplied, roomName is ignored. + :type room_id: str + :param room_name: Filters reservation with the supplied room name (customizable by each property). CheckIn/checkOut dates OR status are required. If dates are provided and span more than one day, more than one reservation can be returned. + :type room_name: str + :param room_type_id: Filters reservation with the supplied Room Type ID. + :type room_type_id: str + :param include_guests_details: If guests details should be included or not + :type include_guests_details: bool + :param include_guest_requirements: Includes guest requirements data in the response. Requires `includeGuestsDetails=true`. + :type include_guest_requirements: bool + :param include_custom_fields: If reservation custom fields should be included or not + :type include_custom_fields: bool + :param include_all_rooms: When specified, the response will include an additional rooms field that combines both unassigned and assigned rooms. + :type include_all_rooms: bool + :param source_id: Filters reservation with the supplied source ID. + :type source_id: str + :param source_reservation_id: Filters reservation with the supplied reservation source ID. + :type source_reservation_id: str + :param rate_plan_id: Filters reservation with the supplied rate plan ID. + :type rate_plan_id: str + :param first_name: Filters reservation with the supplied primary guest first name. + :type first_name: str + :param last_name: Filters reservation with the supplied primary guest last name. + :type last_name: str + :param guest_id: Filters reservation with the supplied Guest ID (Including additional guests). + :type guest_id: str + :param allotment_block_code: Filters reservation with the supplied allotment block code. + :type allotment_block_code: str + :param group_code: Filters reservation with the supplied group code. + :type group_code: str + :param sort_by_recent: Sort response results by most recent action + :type sort_by_recent: bool + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservations_get_serialize( + property_id=property_id, + status=status, + results_from=results_from, + results_to=results_to, + modified_from=modified_from, + modified_to=modified_to, + check_in_from=check_in_from, + check_in_to=check_in_to, + check_out_from=check_out_from, + check_out_to=check_out_to, + dates_query_mode=dates_query_mode, + room_id=room_id, + room_name=room_name, + room_type_id=room_type_id, + include_guests_details=include_guests_details, + include_guest_requirements=include_guest_requirements, + include_custom_fields=include_custom_fields, + include_all_rooms=include_all_rooms, + source_id=source_id, + source_reservation_id=source_reservation_id, + rate_plan_id=rate_plan_id, + first_name=first_name, + last_name=last_name, + guest_id=guest_id, + allotment_block_code=allotment_block_code, + group_code=group_code, + sort_by_recent=sort_by_recent, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_reservations_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="ID for the properties to be queried (comma-separated, i.e. 37,345,89).
It can be omitted if the API key is single-property, or to get results from all properties on an association.")] = None, + status: Annotated[Optional[StrictStr], Field(description="Filter by current reservation status")] = None, + results_from: Annotated[Optional[datetime], Field(description="Inferior limit datetime, used to filter reservations, based on booking date")] = None, + results_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter reservations, based on booking date")] = None, + modified_from: Annotated[Optional[datetime], Field(description="Inferior limit datetime, used to filter reservations, based on booking modification date")] = None, + modified_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter reservations, based on booking modification date")] = None, + check_in_from: Annotated[Optional[date], Field(description="Filters reservations result to return only reservations with check-in date range starting on this date")] = None, + check_in_to: Annotated[Optional[date], Field(description="Filters reservations result to return only reservations with check-in date range ending on this date")] = None, + check_out_from: Annotated[Optional[date], Field(description="Filters reservations result to return only reservations with check-out date range starting on this date")] = None, + check_out_to: Annotated[Optional[date], Field(description="Filters reservations result to return only reservations with check-out date range ending on this date")] = None, + dates_query_mode: Annotated[Optional[StrictStr], Field(description="If we should consider the booking's check-in/check-out dates or the start and end dates for the associated rooms.")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied room ID. CheckIn/checkOut dates OR status are required. If dates are provided and span more than one day, more than one reservation can be returned. If roomID supplied, roomName is ignored.")] = None, + room_name: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied room name (customizable by each property). CheckIn/checkOut dates OR status are required. If dates are provided and span more than one day, more than one reservation can be returned.")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied Room Type ID.")] = None, + include_guests_details: Annotated[Optional[StrictBool], Field(description="If guests details should be included or not")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response. Requires `includeGuestsDetails=true`.")] = None, + include_custom_fields: Annotated[Optional[StrictBool], Field(description="If reservation custom fields should be included or not")] = None, + include_all_rooms: Annotated[Optional[StrictBool], Field(description="When specified, the response will include an additional rooms field that combines both unassigned and assigned rooms.")] = None, + source_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied source ID.")] = None, + source_reservation_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied reservation source ID.")] = None, + rate_plan_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied rate plan ID.")] = None, + first_name: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied primary guest first name.")] = None, + last_name: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied primary guest last name.")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied Guest ID (Including additional guests).")] = None, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied allotment block code.")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied group code.")] = None, + sort_by_recent: Annotated[Optional[StrictBool], Field(description="Sort response results by most recent action")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetReservationsResponse]: + """getReservations + + Returns a list of reservations that matched the filters criteria.
Please note that some reservations modification may not be reflected in this timestamp. ### Group account support + + :param property_id: ID for the properties to be queried (comma-separated, i.e. 37,345,89).
It can be omitted if the API key is single-property, or to get results from all properties on an association. + :type property_id: str + :param status: Filter by current reservation status + :type status: str + :param results_from: Inferior limit datetime, used to filter reservations, based on booking date + :type results_from: datetime + :param results_to: Superior limit datetime, used to filter reservations, based on booking date + :type results_to: datetime + :param modified_from: Inferior limit datetime, used to filter reservations, based on booking modification date + :type modified_from: datetime + :param modified_to: Superior limit datetime, used to filter reservations, based on booking modification date + :type modified_to: datetime + :param check_in_from: Filters reservations result to return only reservations with check-in date range starting on this date + :type check_in_from: date + :param check_in_to: Filters reservations result to return only reservations with check-in date range ending on this date + :type check_in_to: date + :param check_out_from: Filters reservations result to return only reservations with check-out date range starting on this date + :type check_out_from: date + :param check_out_to: Filters reservations result to return only reservations with check-out date range ending on this date + :type check_out_to: date + :param dates_query_mode: If we should consider the booking's check-in/check-out dates or the start and end dates for the associated rooms. + :type dates_query_mode: str + :param room_id: Filters reservation with the supplied room ID. CheckIn/checkOut dates OR status are required. If dates are provided and span more than one day, more than one reservation can be returned. If roomID supplied, roomName is ignored. + :type room_id: str + :param room_name: Filters reservation with the supplied room name (customizable by each property). CheckIn/checkOut dates OR status are required. If dates are provided and span more than one day, more than one reservation can be returned. + :type room_name: str + :param room_type_id: Filters reservation with the supplied Room Type ID. + :type room_type_id: str + :param include_guests_details: If guests details should be included or not + :type include_guests_details: bool + :param include_guest_requirements: Includes guest requirements data in the response. Requires `includeGuestsDetails=true`. + :type include_guest_requirements: bool + :param include_custom_fields: If reservation custom fields should be included or not + :type include_custom_fields: bool + :param include_all_rooms: When specified, the response will include an additional rooms field that combines both unassigned and assigned rooms. + :type include_all_rooms: bool + :param source_id: Filters reservation with the supplied source ID. + :type source_id: str + :param source_reservation_id: Filters reservation with the supplied reservation source ID. + :type source_reservation_id: str + :param rate_plan_id: Filters reservation with the supplied rate plan ID. + :type rate_plan_id: str + :param first_name: Filters reservation with the supplied primary guest first name. + :type first_name: str + :param last_name: Filters reservation with the supplied primary guest last name. + :type last_name: str + :param guest_id: Filters reservation with the supplied Guest ID (Including additional guests). + :type guest_id: str + :param allotment_block_code: Filters reservation with the supplied allotment block code. + :type allotment_block_code: str + :param group_code: Filters reservation with the supplied group code. + :type group_code: str + :param sort_by_recent: Sort response results by most recent action + :type sort_by_recent: bool + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservations_get_serialize( + property_id=property_id, + status=status, + results_from=results_from, + results_to=results_to, + modified_from=modified_from, + modified_to=modified_to, + check_in_from=check_in_from, + check_in_to=check_in_to, + check_out_from=check_out_from, + check_out_to=check_out_to, + dates_query_mode=dates_query_mode, + room_id=room_id, + room_name=room_name, + room_type_id=room_type_id, + include_guests_details=include_guests_details, + include_guest_requirements=include_guest_requirements, + include_custom_fields=include_custom_fields, + include_all_rooms=include_all_rooms, + source_id=source_id, + source_reservation_id=source_reservation_id, + rate_plan_id=rate_plan_id, + first_name=first_name, + last_name=last_name, + guest_id=guest_id, + allotment_block_code=allotment_block_code, + group_code=group_code, + sort_by_recent=sort_by_recent, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_reservations_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="ID for the properties to be queried (comma-separated, i.e. 37,345,89).
It can be omitted if the API key is single-property, or to get results from all properties on an association.")] = None, + status: Annotated[Optional[StrictStr], Field(description="Filter by current reservation status")] = None, + results_from: Annotated[Optional[datetime], Field(description="Inferior limit datetime, used to filter reservations, based on booking date")] = None, + results_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter reservations, based on booking date")] = None, + modified_from: Annotated[Optional[datetime], Field(description="Inferior limit datetime, used to filter reservations, based on booking modification date")] = None, + modified_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter reservations, based on booking modification date")] = None, + check_in_from: Annotated[Optional[date], Field(description="Filters reservations result to return only reservations with check-in date range starting on this date")] = None, + check_in_to: Annotated[Optional[date], Field(description="Filters reservations result to return only reservations with check-in date range ending on this date")] = None, + check_out_from: Annotated[Optional[date], Field(description="Filters reservations result to return only reservations with check-out date range starting on this date")] = None, + check_out_to: Annotated[Optional[date], Field(description="Filters reservations result to return only reservations with check-out date range ending on this date")] = None, + dates_query_mode: Annotated[Optional[StrictStr], Field(description="If we should consider the booking's check-in/check-out dates or the start and end dates for the associated rooms.")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied room ID. CheckIn/checkOut dates OR status are required. If dates are provided and span more than one day, more than one reservation can be returned. If roomID supplied, roomName is ignored.")] = None, + room_name: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied room name (customizable by each property). CheckIn/checkOut dates OR status are required. If dates are provided and span more than one day, more than one reservation can be returned.")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied Room Type ID.")] = None, + include_guests_details: Annotated[Optional[StrictBool], Field(description="If guests details should be included or not")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response. Requires `includeGuestsDetails=true`.")] = None, + include_custom_fields: Annotated[Optional[StrictBool], Field(description="If reservation custom fields should be included or not")] = None, + include_all_rooms: Annotated[Optional[StrictBool], Field(description="When specified, the response will include an additional rooms field that combines both unassigned and assigned rooms.")] = None, + source_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied source ID.")] = None, + source_reservation_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied reservation source ID.")] = None, + rate_plan_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied rate plan ID.")] = None, + first_name: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied primary guest first name.")] = None, + last_name: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied primary guest last name.")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied Guest ID (Including additional guests).")] = None, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied allotment block code.")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Filters reservation with the supplied group code.")] = None, + sort_by_recent: Annotated[Optional[StrictBool], Field(description="Sort response results by most recent action")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getReservations + + Returns a list of reservations that matched the filters criteria.
Please note that some reservations modification may not be reflected in this timestamp. ### Group account support + + :param property_id: ID for the properties to be queried (comma-separated, i.e. 37,345,89).
It can be omitted if the API key is single-property, or to get results from all properties on an association. + :type property_id: str + :param status: Filter by current reservation status + :type status: str + :param results_from: Inferior limit datetime, used to filter reservations, based on booking date + :type results_from: datetime + :param results_to: Superior limit datetime, used to filter reservations, based on booking date + :type results_to: datetime + :param modified_from: Inferior limit datetime, used to filter reservations, based on booking modification date + :type modified_from: datetime + :param modified_to: Superior limit datetime, used to filter reservations, based on booking modification date + :type modified_to: datetime + :param check_in_from: Filters reservations result to return only reservations with check-in date range starting on this date + :type check_in_from: date + :param check_in_to: Filters reservations result to return only reservations with check-in date range ending on this date + :type check_in_to: date + :param check_out_from: Filters reservations result to return only reservations with check-out date range starting on this date + :type check_out_from: date + :param check_out_to: Filters reservations result to return only reservations with check-out date range ending on this date + :type check_out_to: date + :param dates_query_mode: If we should consider the booking's check-in/check-out dates or the start and end dates for the associated rooms. + :type dates_query_mode: str + :param room_id: Filters reservation with the supplied room ID. CheckIn/checkOut dates OR status are required. If dates are provided and span more than one day, more than one reservation can be returned. If roomID supplied, roomName is ignored. + :type room_id: str + :param room_name: Filters reservation with the supplied room name (customizable by each property). CheckIn/checkOut dates OR status are required. If dates are provided and span more than one day, more than one reservation can be returned. + :type room_name: str + :param room_type_id: Filters reservation with the supplied Room Type ID. + :type room_type_id: str + :param include_guests_details: If guests details should be included or not + :type include_guests_details: bool + :param include_guest_requirements: Includes guest requirements data in the response. Requires `includeGuestsDetails=true`. + :type include_guest_requirements: bool + :param include_custom_fields: If reservation custom fields should be included or not + :type include_custom_fields: bool + :param include_all_rooms: When specified, the response will include an additional rooms field that combines both unassigned and assigned rooms. + :type include_all_rooms: bool + :param source_id: Filters reservation with the supplied source ID. + :type source_id: str + :param source_reservation_id: Filters reservation with the supplied reservation source ID. + :type source_reservation_id: str + :param rate_plan_id: Filters reservation with the supplied rate plan ID. + :type rate_plan_id: str + :param first_name: Filters reservation with the supplied primary guest first name. + :type first_name: str + :param last_name: Filters reservation with the supplied primary guest last name. + :type last_name: str + :param guest_id: Filters reservation with the supplied Guest ID (Including additional guests). + :type guest_id: str + :param allotment_block_code: Filters reservation with the supplied allotment block code. + :type allotment_block_code: str + :param group_code: Filters reservation with the supplied group code. + :type group_code: str + :param sort_by_recent: Sort response results by most recent action + :type sort_by_recent: bool + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservations_get_serialize( + property_id=property_id, + status=status, + results_from=results_from, + results_to=results_to, + modified_from=modified_from, + modified_to=modified_to, + check_in_from=check_in_from, + check_in_to=check_in_to, + check_out_from=check_out_from, + check_out_to=check_out_to, + dates_query_mode=dates_query_mode, + room_id=room_id, + room_name=room_name, + room_type_id=room_type_id, + include_guests_details=include_guests_details, + include_guest_requirements=include_guest_requirements, + include_custom_fields=include_custom_fields, + include_all_rooms=include_all_rooms, + source_id=source_id, + source_reservation_id=source_reservation_id, + rate_plan_id=rate_plan_id, + first_name=first_name, + last_name=last_name, + guest_id=guest_id, + allotment_block_code=allotment_block_code, + group_code=group_code, + sort_by_recent=sort_by_recent, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_reservations_get_serialize( + self, + property_id, + status, + results_from, + results_to, + modified_from, + modified_to, + check_in_from, + check_in_to, + check_out_from, + check_out_to, + dates_query_mode, + room_id, + room_name, + room_type_id, + include_guests_details, + include_guest_requirements, + include_custom_fields, + include_all_rooms, + source_id, + source_reservation_id, + rate_plan_id, + first_name, + last_name, + guest_id, + allotment_block_code, + group_code, + sort_by_recent, + page_number, + page_size, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if status is not None: + + _query_params.append(('status', status)) + + if results_from is not None: + if isinstance(results_from, datetime): + _query_params.append( + ( + 'resultsFrom', + results_from.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('resultsFrom', results_from)) + + if results_to is not None: + if isinstance(results_to, datetime): + _query_params.append( + ( + 'resultsTo', + results_to.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('resultsTo', results_to)) + + if modified_from is not None: + if isinstance(modified_from, datetime): + _query_params.append( + ( + 'modifiedFrom', + modified_from.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('modifiedFrom', modified_from)) + + if modified_to is not None: + if isinstance(modified_to, datetime): + _query_params.append( + ( + 'modifiedTo', + modified_to.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('modifiedTo', modified_to)) + + if check_in_from is not None: + if isinstance(check_in_from, date): + _query_params.append( + ( + 'checkInFrom', + check_in_from.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('checkInFrom', check_in_from)) + + if check_in_to is not None: + if isinstance(check_in_to, date): + _query_params.append( + ( + 'checkInTo', + check_in_to.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('checkInTo', check_in_to)) + + if check_out_from is not None: + if isinstance(check_out_from, date): + _query_params.append( + ( + 'checkOutFrom', + check_out_from.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('checkOutFrom', check_out_from)) + + if check_out_to is not None: + if isinstance(check_out_to, date): + _query_params.append( + ( + 'checkOutTo', + check_out_to.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('checkOutTo', check_out_to)) + + if dates_query_mode is not None: + + _query_params.append(('datesQueryMode', dates_query_mode)) + + if room_id is not None: + + _query_params.append(('roomID', room_id)) + + if room_name is not None: + + _query_params.append(('roomName', room_name)) + + if room_type_id is not None: + + _query_params.append(('roomTypeID', room_type_id)) + + if include_guests_details is not None: + + _query_params.append(('includeGuestsDetails', include_guests_details)) + + if include_guest_requirements is not None: + + _query_params.append(('includeGuestRequirements', include_guest_requirements)) + + if include_custom_fields is not None: + + _query_params.append(('includeCustomFields', include_custom_fields)) + + if include_all_rooms is not None: + + _query_params.append(('includeAllRooms', include_all_rooms)) + + if source_id is not None: + + _query_params.append(('sourceId', source_id)) + + if source_reservation_id is not None: + + _query_params.append(('sourceReservationId', source_reservation_id)) + + if rate_plan_id is not None: + + _query_params.append(('ratePlanId', rate_plan_id)) + + if first_name is not None: + + _query_params.append(('firstName', first_name)) + + if last_name is not None: + + _query_params.append(('lastName', last_name)) + + if guest_id is not None: + + _query_params.append(('guestID', guest_id)) + + if allotment_block_code is not None: + + _query_params.append(('allotmentBlockCode', allotment_block_code)) + + if group_code is not None: + + _query_params.append(('groupCode', group_code)) + + if sort_by_recent is not None: + + _query_params.append(('sortByRecent', sort_by_recent)) + + if page_number is not None: + + _query_params.append(('pageNumber', page_number)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getReservations', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_reservations_with_rate_details_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + results_from: Annotated[Optional[datetime], Field(description="Inferior limit datetime, used to filter reservations, based on booking date")] = None, + results_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter reservations, based on booking date. If it is not set, will return the reservations up to current date")] = None, + modified_from: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter reservations, based on modification date.")] = None, + modified_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter reservations, based on modification date.")] = None, + sort_by_recent: Annotated[Optional[StrictBool], Field(description="Sort response results by most recent action")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifiers, comma-separated, i.e. 37,345,89, used to return transactions limited to the selected reservations.")] = None, + reservation_check_out_from: Annotated[Optional[date], Field(description="Superior limit datetime, used to filter reservations, based on reservation check-out date.")] = None, + reservation_check_out_to: Annotated[Optional[date], Field(description="Superior limit datetime, used to filter reservations, based on reservation check-out date.")] = None, + include_deleted: Annotated[Optional[StrictBool], Field(description="Include deleted reservations")] = None, + exclude_statuses: Annotated[Optional[StrictStr], Field(description="List of statuses (separated by comma) to be excluded from search")] = None, + include_guests_details: Annotated[Optional[StrictBool], Field(description="If guests details should be included or not")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response. Requires `includeGuestsDetails=true`.")] = None, + include_custom_fields: Annotated[Optional[StrictBool], Field(description="If reservation custom fields should be included or not")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Filters reservations with the supplied Guest ID (Including additional guests).")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetReservationsWithRateDetailsResponse: + """getReservationsWithRateDetails + + Returns a list of reservations with added information regarding booked rates and sources.
Please note that some reservations modification may not be reflected in this timestamp. + + :param property_id: Property ID + :type property_id: str + :param results_from: Inferior limit datetime, used to filter reservations, based on booking date + :type results_from: datetime + :param results_to: Superior limit datetime, used to filter reservations, based on booking date. If it is not set, will return the reservations up to current date + :type results_to: datetime + :param modified_from: Superior limit datetime, used to filter reservations, based on modification date. + :type modified_from: datetime + :param modified_to: Superior limit datetime, used to filter reservations, based on modification date. + :type modified_to: datetime + :param sort_by_recent: Sort response results by most recent action + :type sort_by_recent: bool + :param reservation_id: Reservation identifiers, comma-separated, i.e. 37,345,89, used to return transactions limited to the selected reservations. + :type reservation_id: str + :param reservation_check_out_from: Superior limit datetime, used to filter reservations, based on reservation check-out date. + :type reservation_check_out_from: date + :param reservation_check_out_to: Superior limit datetime, used to filter reservations, based on reservation check-out date. + :type reservation_check_out_to: date + :param include_deleted: Include deleted reservations + :type include_deleted: bool + :param exclude_statuses: List of statuses (separated by comma) to be excluded from search + :type exclude_statuses: str + :param include_guests_details: If guests details should be included or not + :type include_guests_details: bool + :param include_guest_requirements: Includes guest requirements data in the response. Requires `includeGuestsDetails=true`. + :type include_guest_requirements: bool + :param include_custom_fields: If reservation custom fields should be included or not + :type include_custom_fields: bool + :param guest_id: Filters reservations with the supplied Guest ID (Including additional guests). + :type guest_id: str + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservations_with_rate_details_get_serialize( + property_id=property_id, + results_from=results_from, + results_to=results_to, + modified_from=modified_from, + modified_to=modified_to, + sort_by_recent=sort_by_recent, + reservation_id=reservation_id, + reservation_check_out_from=reservation_check_out_from, + reservation_check_out_to=reservation_check_out_to, + include_deleted=include_deleted, + exclude_statuses=exclude_statuses, + include_guests_details=include_guests_details, + include_guest_requirements=include_guest_requirements, + include_custom_fields=include_custom_fields, + guest_id=guest_id, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationsWithRateDetailsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_reservations_with_rate_details_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + results_from: Annotated[Optional[datetime], Field(description="Inferior limit datetime, used to filter reservations, based on booking date")] = None, + results_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter reservations, based on booking date. If it is not set, will return the reservations up to current date")] = None, + modified_from: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter reservations, based on modification date.")] = None, + modified_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter reservations, based on modification date.")] = None, + sort_by_recent: Annotated[Optional[StrictBool], Field(description="Sort response results by most recent action")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifiers, comma-separated, i.e. 37,345,89, used to return transactions limited to the selected reservations.")] = None, + reservation_check_out_from: Annotated[Optional[date], Field(description="Superior limit datetime, used to filter reservations, based on reservation check-out date.")] = None, + reservation_check_out_to: Annotated[Optional[date], Field(description="Superior limit datetime, used to filter reservations, based on reservation check-out date.")] = None, + include_deleted: Annotated[Optional[StrictBool], Field(description="Include deleted reservations")] = None, + exclude_statuses: Annotated[Optional[StrictStr], Field(description="List of statuses (separated by comma) to be excluded from search")] = None, + include_guests_details: Annotated[Optional[StrictBool], Field(description="If guests details should be included or not")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response. Requires `includeGuestsDetails=true`.")] = None, + include_custom_fields: Annotated[Optional[StrictBool], Field(description="If reservation custom fields should be included or not")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Filters reservations with the supplied Guest ID (Including additional guests).")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetReservationsWithRateDetailsResponse]: + """getReservationsWithRateDetails + + Returns a list of reservations with added information regarding booked rates and sources.
Please note that some reservations modification may not be reflected in this timestamp. + + :param property_id: Property ID + :type property_id: str + :param results_from: Inferior limit datetime, used to filter reservations, based on booking date + :type results_from: datetime + :param results_to: Superior limit datetime, used to filter reservations, based on booking date. If it is not set, will return the reservations up to current date + :type results_to: datetime + :param modified_from: Superior limit datetime, used to filter reservations, based on modification date. + :type modified_from: datetime + :param modified_to: Superior limit datetime, used to filter reservations, based on modification date. + :type modified_to: datetime + :param sort_by_recent: Sort response results by most recent action + :type sort_by_recent: bool + :param reservation_id: Reservation identifiers, comma-separated, i.e. 37,345,89, used to return transactions limited to the selected reservations. + :type reservation_id: str + :param reservation_check_out_from: Superior limit datetime, used to filter reservations, based on reservation check-out date. + :type reservation_check_out_from: date + :param reservation_check_out_to: Superior limit datetime, used to filter reservations, based on reservation check-out date. + :type reservation_check_out_to: date + :param include_deleted: Include deleted reservations + :type include_deleted: bool + :param exclude_statuses: List of statuses (separated by comma) to be excluded from search + :type exclude_statuses: str + :param include_guests_details: If guests details should be included or not + :type include_guests_details: bool + :param include_guest_requirements: Includes guest requirements data in the response. Requires `includeGuestsDetails=true`. + :type include_guest_requirements: bool + :param include_custom_fields: If reservation custom fields should be included or not + :type include_custom_fields: bool + :param guest_id: Filters reservations with the supplied Guest ID (Including additional guests). + :type guest_id: str + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservations_with_rate_details_get_serialize( + property_id=property_id, + results_from=results_from, + results_to=results_to, + modified_from=modified_from, + modified_to=modified_to, + sort_by_recent=sort_by_recent, + reservation_id=reservation_id, + reservation_check_out_from=reservation_check_out_from, + reservation_check_out_to=reservation_check_out_to, + include_deleted=include_deleted, + exclude_statuses=exclude_statuses, + include_guests_details=include_guests_details, + include_guest_requirements=include_guest_requirements, + include_custom_fields=include_custom_fields, + guest_id=guest_id, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationsWithRateDetailsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_reservations_with_rate_details_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + results_from: Annotated[Optional[datetime], Field(description="Inferior limit datetime, used to filter reservations, based on booking date")] = None, + results_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter reservations, based on booking date. If it is not set, will return the reservations up to current date")] = None, + modified_from: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter reservations, based on modification date.")] = None, + modified_to: Annotated[Optional[datetime], Field(description="Superior limit datetime, used to filter reservations, based on modification date.")] = None, + sort_by_recent: Annotated[Optional[StrictBool], Field(description="Sort response results by most recent action")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifiers, comma-separated, i.e. 37,345,89, used to return transactions limited to the selected reservations.")] = None, + reservation_check_out_from: Annotated[Optional[date], Field(description="Superior limit datetime, used to filter reservations, based on reservation check-out date.")] = None, + reservation_check_out_to: Annotated[Optional[date], Field(description="Superior limit datetime, used to filter reservations, based on reservation check-out date.")] = None, + include_deleted: Annotated[Optional[StrictBool], Field(description="Include deleted reservations")] = None, + exclude_statuses: Annotated[Optional[StrictStr], Field(description="List of statuses (separated by comma) to be excluded from search")] = None, + include_guests_details: Annotated[Optional[StrictBool], Field(description="If guests details should be included or not")] = None, + include_guest_requirements: Annotated[Optional[StrictBool], Field(description="Includes guest requirements data in the response. Requires `includeGuestsDetails=true`.")] = None, + include_custom_fields: Annotated[Optional[StrictBool], Field(description="If reservation custom fields should be included or not")] = None, + guest_id: Annotated[Optional[StrictStr], Field(description="Filters reservations with the supplied Guest ID (Including additional guests).")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Results page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Results page size. Max = 100")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getReservationsWithRateDetails + + Returns a list of reservations with added information regarding booked rates and sources.
Please note that some reservations modification may not be reflected in this timestamp. + + :param property_id: Property ID + :type property_id: str + :param results_from: Inferior limit datetime, used to filter reservations, based on booking date + :type results_from: datetime + :param results_to: Superior limit datetime, used to filter reservations, based on booking date. If it is not set, will return the reservations up to current date + :type results_to: datetime + :param modified_from: Superior limit datetime, used to filter reservations, based on modification date. + :type modified_from: datetime + :param modified_to: Superior limit datetime, used to filter reservations, based on modification date. + :type modified_to: datetime + :param sort_by_recent: Sort response results by most recent action + :type sort_by_recent: bool + :param reservation_id: Reservation identifiers, comma-separated, i.e. 37,345,89, used to return transactions limited to the selected reservations. + :type reservation_id: str + :param reservation_check_out_from: Superior limit datetime, used to filter reservations, based on reservation check-out date. + :type reservation_check_out_from: date + :param reservation_check_out_to: Superior limit datetime, used to filter reservations, based on reservation check-out date. + :type reservation_check_out_to: date + :param include_deleted: Include deleted reservations + :type include_deleted: bool + :param exclude_statuses: List of statuses (separated by comma) to be excluded from search + :type exclude_statuses: str + :param include_guests_details: If guests details should be included or not + :type include_guests_details: bool + :param include_guest_requirements: Includes guest requirements data in the response. Requires `includeGuestsDetails=true`. + :type include_guest_requirements: bool + :param include_custom_fields: If reservation custom fields should be included or not + :type include_custom_fields: bool + :param guest_id: Filters reservations with the supplied Guest ID (Including additional guests). + :type guest_id: str + :param page_number: Results page number + :type page_number: int + :param page_size: Results page size. Max = 100 + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservations_with_rate_details_get_serialize( + property_id=property_id, + results_from=results_from, + results_to=results_to, + modified_from=modified_from, + modified_to=modified_to, + sort_by_recent=sort_by_recent, + reservation_id=reservation_id, + reservation_check_out_from=reservation_check_out_from, + reservation_check_out_to=reservation_check_out_to, + include_deleted=include_deleted, + exclude_statuses=exclude_statuses, + include_guests_details=include_guests_details, + include_guest_requirements=include_guest_requirements, + include_custom_fields=include_custom_fields, + guest_id=guest_id, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationsWithRateDetailsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_reservations_with_rate_details_get_serialize( + self, + property_id, + results_from, + results_to, + modified_from, + modified_to, + sort_by_recent, + reservation_id, + reservation_check_out_from, + reservation_check_out_to, + include_deleted, + exclude_statuses, + include_guests_details, + include_guest_requirements, + include_custom_fields, + guest_id, + page_number, + page_size, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if results_from is not None: + if isinstance(results_from, datetime): + _query_params.append( + ( + 'resultsFrom', + results_from.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('resultsFrom', results_from)) + + if results_to is not None: + if isinstance(results_to, datetime): + _query_params.append( + ( + 'resultsTo', + results_to.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('resultsTo', results_to)) + + if modified_from is not None: + if isinstance(modified_from, datetime): + _query_params.append( + ( + 'modifiedFrom', + modified_from.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('modifiedFrom', modified_from)) + + if modified_to is not None: + if isinstance(modified_to, datetime): + _query_params.append( + ( + 'modifiedTo', + modified_to.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('modifiedTo', modified_to)) + + if sort_by_recent is not None: + + _query_params.append(('sortByRecent', sort_by_recent)) + + if reservation_id is not None: + + _query_params.append(('reservationID', reservation_id)) + + if reservation_check_out_from is not None: + if isinstance(reservation_check_out_from, date): + _query_params.append( + ( + 'reservationCheckOutFrom', + reservation_check_out_from.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('reservationCheckOutFrom', reservation_check_out_from)) + + if reservation_check_out_to is not None: + if isinstance(reservation_check_out_to, date): + _query_params.append( + ( + 'reservationCheckOutTo', + reservation_check_out_to.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('reservationCheckOutTo', reservation_check_out_to)) + + if include_deleted is not None: + + _query_params.append(('includeDeleted', include_deleted)) + + if exclude_statuses is not None: + + _query_params.append(('excludeStatuses', exclude_statuses)) + + if include_guests_details is not None: + + _query_params.append(('includeGuestsDetails', include_guests_details)) + + if include_guest_requirements is not None: + + _query_params.append(('includeGuestRequirements', include_guest_requirements)) + + if include_custom_fields is not None: + + _query_params.append(('includeCustomFields', include_custom_fields)) + + if guest_id is not None: + + _query_params.append(('guestID', guest_id)) + + if page_number is not None: + + _query_params.append(('pageNumber', page_number)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getReservationsWithRateDetails', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_sources_get( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="ID for the properties to be queried (comma-separated, i.e. 37,345,89).
")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetSourcesResponse: + """getSources + + Gets available property sources + + :param property_ids: ID for the properties to be queried (comma-separated, i.e. 37,345,89).
+ :type property_ids: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_sources_get_serialize( + property_ids=property_ids, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSourcesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_sources_get_with_http_info( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="ID for the properties to be queried (comma-separated, i.e. 37,345,89).
")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetSourcesResponse]: + """getSources + + Gets available property sources + + :param property_ids: ID for the properties to be queried (comma-separated, i.e. 37,345,89).
+ :type property_ids: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_sources_get_serialize( + property_ids=property_ids, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSourcesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_sources_get_without_preload_content( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="ID for the properties to be queried (comma-separated, i.e. 37,345,89).
")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getSources + + Gets available property sources + + :param property_ids: ID for the properties to be queried (comma-separated, i.e. 37,345,89).
+ :type property_ids: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_sources_get_serialize( + property_ids=property_ids, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSourcesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_sources_get_serialize( + self, + property_ids, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_ids is not None: + + _query_params.append(('propertyIDs', property_ids)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getSources', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_reservation_document_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation Unique Identifier")] = None, + file: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostReservationDocumentResponse: + """postReservationDocument + + Attaches a document to a reservation + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation Unique Identifier + :type reservation_id: str + :param file: Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_reservation_document_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostReservationDocumentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_reservation_document_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation Unique Identifier")] = None, + file: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostReservationDocumentResponse]: + """postReservationDocument + + Attaches a document to a reservation + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation Unique Identifier + :type reservation_id: str + :param file: Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_reservation_document_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostReservationDocumentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_reservation_document_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation Unique Identifier")] = None, + file: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postReservationDocument + + Attaches a document to a reservation + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation Unique Identifier + :type reservation_id: str + :param file: Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB + :type file: bytearray + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_reservation_document_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + file=file, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostReservationDocumentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_reservation_document_post_serialize( + self, + property_id, + reservation_id, + file, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if file is not None: + _files['file'] = file + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postReservationDocument', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_reservation_note_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation Unique Identifier")] = None, + reservation_note: Annotated[Optional[StrictStr], Field(description="Note to be added to reservation")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="User ID Identify the actual user that is posting the note")] = None, + date_created: Annotated[Optional[datetime], Field(description="Datetime the note was created.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostReservationNoteResponse: + """postReservationNote + + Adds a reservation note + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation Unique Identifier + :type reservation_id: str + :param reservation_note: Note to be added to reservation + :type reservation_note: str + :param user_id: User ID Identify the actual user that is posting the note + :type user_id: str + :param date_created: Datetime the note was created. + :type date_created: datetime + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_reservation_note_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + reservation_note=reservation_note, + user_id=user_id, + date_created=date_created, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostReservationNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_reservation_note_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation Unique Identifier")] = None, + reservation_note: Annotated[Optional[StrictStr], Field(description="Note to be added to reservation")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="User ID Identify the actual user that is posting the note")] = None, + date_created: Annotated[Optional[datetime], Field(description="Datetime the note was created.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostReservationNoteResponse]: + """postReservationNote + + Adds a reservation note + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation Unique Identifier + :type reservation_id: str + :param reservation_note: Note to be added to reservation + :type reservation_note: str + :param user_id: User ID Identify the actual user that is posting the note + :type user_id: str + :param date_created: Datetime the note was created. + :type date_created: datetime + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_reservation_note_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + reservation_note=reservation_note, + user_id=user_id, + date_created=date_created, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostReservationNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_reservation_note_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation Unique Identifier")] = None, + reservation_note: Annotated[Optional[StrictStr], Field(description="Note to be added to reservation")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="User ID Identify the actual user that is posting the note")] = None, + date_created: Annotated[Optional[datetime], Field(description="Datetime the note was created.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postReservationNote + + Adds a reservation note + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation Unique Identifier + :type reservation_id: str + :param reservation_note: Note to be added to reservation + :type reservation_note: str + :param user_id: User ID Identify the actual user that is posting the note + :type user_id: str + :param date_created: Datetime the note was created. + :type date_created: datetime + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_reservation_note_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + reservation_note=reservation_note, + user_id=user_id, + date_created=date_created, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostReservationNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_reservation_note_post_serialize( + self, + property_id, + reservation_id, + reservation_note, + user_id, + date_created, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if reservation_note is not None: + _form_params.append(('reservationNote', reservation_note)) + if user_id is not None: + _form_params.append(('userID', user_id)) + if date_created is not None: + _form_params.append(('dateCreated', date_created)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postReservationNote', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_reservation_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + source_id: Annotated[Optional[StrictStr], Field(description="The third-party source ID for this reservation.")] = None, + third_party_identifier: Annotated[Optional[StrictStr], Field(description="If it was received from a booking channel, this can be an identifier from that channel.")] = None, + start_date: Annotated[Optional[date], Field(description="Check-In date.")] = None, + end_date: Annotated[Optional[date], Field(description="Check-Out date.")] = None, + guest_first_name: Annotated[Optional[StrictStr], Field(description="First name of the guest")] = None, + guest_last_name: Annotated[Optional[StrictStr], Field(description="Last name of the guest")] = None, + guest_gender: Optional[StrictStr] = None, + guest_country: Annotated[Optional[StrictStr], Field(description="Valid ISO-Code for Country (2 characters)")] = None, + guest_zip: Annotated[Optional[StrictStr], Field(description="ZIP Code")] = None, + guest_email: Annotated[Optional[StrictStr], Field(description="Guest email")] = None, + guest_phone: Annotated[Optional[StrictStr], Field(description="Guest main phone number")] = None, + guest_requirements: Annotated[Optional[List[Dict[str, Any]]], Field(description="Object with guest requirements information.")] = None, + estimated_arrival_time: Annotated[Optional[StrictStr], Field(description="Estimated Arrival Time, 24-hour format.")] = None, + rooms: Annotated[Optional[List[PostReservationRequestRoomsInner]], Field(description="Array with quantity of rooms")] = None, + adults: Annotated[Optional[List[PostReservationRequestAdultsInner]], Field(description="Array with number of adults")] = None, + children: Annotated[Optional[List[PostReservationRequestChildrenInner]], Field(description="Array with number of children")] = None, + payment_method: Annotated[Optional[StrictStr], Field(description="Payment Method of choice.")] = None, + card_token: Annotated[Optional[StrictStr], Field(description="Credit Card identifier. Payment Method must be credit. This field should be filled with credit card identifier according to gateway. Only available for Stripe and should send the Customer ID.")] = None, + payment_authorization_code: Annotated[Optional[StrictStr], Field(description="Transaction identifier. Payment Method must be credit. This field should be filled with transaction identifier according to gateway. Only available for Stripe and it should be filled with Charge ID associated to the Payment Intent.")] = None, + custom_fields: Annotated[Optional[List[PostReservationRequestCustomFieldsInner]], Field(description="Array with custom fields information")] = None, + promo_code: Annotated[Optional[StrictStr], Field(description="Promotional code. Required for specials and packages that uses it. \\\"rateID\\\" parameter required for using \\\"promoCode\\\".")] = None, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="Allotment block code to add reservation to allotment block.")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Code from the Aggregate Allotment block the reservation will be added to.")] = None, + date_created: Annotated[Optional[datetime], Field(description="Date reservation was made. Defaults to current date if omitted.")] = None, + send_email_confirmation: Annotated[Optional[StrictBool], Field(description="Send confirmation email to guest.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostReservationResponse: + """postReservation + + Adds a reservation to the selected property + + :param property_id: Property ID + :type property_id: str + :param source_id: The third-party source ID for this reservation. + :type source_id: str + :param third_party_identifier: If it was received from a booking channel, this can be an identifier from that channel. + :type third_party_identifier: str + :param start_date: Check-In date. + :type start_date: date + :param end_date: Check-Out date. + :type end_date: date + :param guest_first_name: First name of the guest + :type guest_first_name: str + :param guest_last_name: Last name of the guest + :type guest_last_name: str + :param guest_gender: + :type guest_gender: str + :param guest_country: Valid ISO-Code for Country (2 characters) + :type guest_country: str + :param guest_zip: ZIP Code + :type guest_zip: str + :param guest_email: Guest email + :type guest_email: str + :param guest_phone: Guest main phone number + :type guest_phone: str + :param guest_requirements: Object with guest requirements information. + :type guest_requirements: List[object] + :param estimated_arrival_time: Estimated Arrival Time, 24-hour format. + :type estimated_arrival_time: str + :param rooms: Array with quantity of rooms + :type rooms: List[PostReservationRequestRoomsInner] + :param adults: Array with number of adults + :type adults: List[PostReservationRequestAdultsInner] + :param children: Array with number of children + :type children: List[PostReservationRequestChildrenInner] + :param payment_method: Payment Method of choice. + :type payment_method: str + :param card_token: Credit Card identifier. Payment Method must be credit. This field should be filled with credit card identifier according to gateway. Only available for Stripe and should send the Customer ID. + :type card_token: str + :param payment_authorization_code: Transaction identifier. Payment Method must be credit. This field should be filled with transaction identifier according to gateway. Only available for Stripe and it should be filled with Charge ID associated to the Payment Intent. + :type payment_authorization_code: str + :param custom_fields: Array with custom fields information + :type custom_fields: List[PostReservationRequestCustomFieldsInner] + :param promo_code: Promotional code. Required for specials and packages that uses it. \\\"rateID\\\" parameter required for using \\\"promoCode\\\". + :type promo_code: str + :param allotment_block_code: Allotment block code to add reservation to allotment block. + :type allotment_block_code: str + :param group_code: Code from the Aggregate Allotment block the reservation will be added to. + :type group_code: str + :param date_created: Date reservation was made. Defaults to current date if omitted. + :type date_created: datetime + :param send_email_confirmation: Send confirmation email to guest. + :type send_email_confirmation: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_reservation_post_serialize( + property_id=property_id, + source_id=source_id, + third_party_identifier=third_party_identifier, + start_date=start_date, + end_date=end_date, + guest_first_name=guest_first_name, + guest_last_name=guest_last_name, + guest_gender=guest_gender, + guest_country=guest_country, + guest_zip=guest_zip, + guest_email=guest_email, + guest_phone=guest_phone, + guest_requirements=guest_requirements, + estimated_arrival_time=estimated_arrival_time, + rooms=rooms, + adults=adults, + children=children, + payment_method=payment_method, + card_token=card_token, + payment_authorization_code=payment_authorization_code, + custom_fields=custom_fields, + promo_code=promo_code, + allotment_block_code=allotment_block_code, + group_code=group_code, + date_created=date_created, + send_email_confirmation=send_email_confirmation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostReservationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_reservation_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + source_id: Annotated[Optional[StrictStr], Field(description="The third-party source ID for this reservation.")] = None, + third_party_identifier: Annotated[Optional[StrictStr], Field(description="If it was received from a booking channel, this can be an identifier from that channel.")] = None, + start_date: Annotated[Optional[date], Field(description="Check-In date.")] = None, + end_date: Annotated[Optional[date], Field(description="Check-Out date.")] = None, + guest_first_name: Annotated[Optional[StrictStr], Field(description="First name of the guest")] = None, + guest_last_name: Annotated[Optional[StrictStr], Field(description="Last name of the guest")] = None, + guest_gender: Optional[StrictStr] = None, + guest_country: Annotated[Optional[StrictStr], Field(description="Valid ISO-Code for Country (2 characters)")] = None, + guest_zip: Annotated[Optional[StrictStr], Field(description="ZIP Code")] = None, + guest_email: Annotated[Optional[StrictStr], Field(description="Guest email")] = None, + guest_phone: Annotated[Optional[StrictStr], Field(description="Guest main phone number")] = None, + guest_requirements: Annotated[Optional[List[Dict[str, Any]]], Field(description="Object with guest requirements information.")] = None, + estimated_arrival_time: Annotated[Optional[StrictStr], Field(description="Estimated Arrival Time, 24-hour format.")] = None, + rooms: Annotated[Optional[List[PostReservationRequestRoomsInner]], Field(description="Array with quantity of rooms")] = None, + adults: Annotated[Optional[List[PostReservationRequestAdultsInner]], Field(description="Array with number of adults")] = None, + children: Annotated[Optional[List[PostReservationRequestChildrenInner]], Field(description="Array with number of children")] = None, + payment_method: Annotated[Optional[StrictStr], Field(description="Payment Method of choice.")] = None, + card_token: Annotated[Optional[StrictStr], Field(description="Credit Card identifier. Payment Method must be credit. This field should be filled with credit card identifier according to gateway. Only available for Stripe and should send the Customer ID.")] = None, + payment_authorization_code: Annotated[Optional[StrictStr], Field(description="Transaction identifier. Payment Method must be credit. This field should be filled with transaction identifier according to gateway. Only available for Stripe and it should be filled with Charge ID associated to the Payment Intent.")] = None, + custom_fields: Annotated[Optional[List[PostReservationRequestCustomFieldsInner]], Field(description="Array with custom fields information")] = None, + promo_code: Annotated[Optional[StrictStr], Field(description="Promotional code. Required for specials and packages that uses it. \\\"rateID\\\" parameter required for using \\\"promoCode\\\".")] = None, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="Allotment block code to add reservation to allotment block.")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Code from the Aggregate Allotment block the reservation will be added to.")] = None, + date_created: Annotated[Optional[datetime], Field(description="Date reservation was made. Defaults to current date if omitted.")] = None, + send_email_confirmation: Annotated[Optional[StrictBool], Field(description="Send confirmation email to guest.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostReservationResponse]: + """postReservation + + Adds a reservation to the selected property + + :param property_id: Property ID + :type property_id: str + :param source_id: The third-party source ID for this reservation. + :type source_id: str + :param third_party_identifier: If it was received from a booking channel, this can be an identifier from that channel. + :type third_party_identifier: str + :param start_date: Check-In date. + :type start_date: date + :param end_date: Check-Out date. + :type end_date: date + :param guest_first_name: First name of the guest + :type guest_first_name: str + :param guest_last_name: Last name of the guest + :type guest_last_name: str + :param guest_gender: + :type guest_gender: str + :param guest_country: Valid ISO-Code for Country (2 characters) + :type guest_country: str + :param guest_zip: ZIP Code + :type guest_zip: str + :param guest_email: Guest email + :type guest_email: str + :param guest_phone: Guest main phone number + :type guest_phone: str + :param guest_requirements: Object with guest requirements information. + :type guest_requirements: List[object] + :param estimated_arrival_time: Estimated Arrival Time, 24-hour format. + :type estimated_arrival_time: str + :param rooms: Array with quantity of rooms + :type rooms: List[PostReservationRequestRoomsInner] + :param adults: Array with number of adults + :type adults: List[PostReservationRequestAdultsInner] + :param children: Array with number of children + :type children: List[PostReservationRequestChildrenInner] + :param payment_method: Payment Method of choice. + :type payment_method: str + :param card_token: Credit Card identifier. Payment Method must be credit. This field should be filled with credit card identifier according to gateway. Only available for Stripe and should send the Customer ID. + :type card_token: str + :param payment_authorization_code: Transaction identifier. Payment Method must be credit. This field should be filled with transaction identifier according to gateway. Only available for Stripe and it should be filled with Charge ID associated to the Payment Intent. + :type payment_authorization_code: str + :param custom_fields: Array with custom fields information + :type custom_fields: List[PostReservationRequestCustomFieldsInner] + :param promo_code: Promotional code. Required for specials and packages that uses it. \\\"rateID\\\" parameter required for using \\\"promoCode\\\". + :type promo_code: str + :param allotment_block_code: Allotment block code to add reservation to allotment block. + :type allotment_block_code: str + :param group_code: Code from the Aggregate Allotment block the reservation will be added to. + :type group_code: str + :param date_created: Date reservation was made. Defaults to current date if omitted. + :type date_created: datetime + :param send_email_confirmation: Send confirmation email to guest. + :type send_email_confirmation: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_reservation_post_serialize( + property_id=property_id, + source_id=source_id, + third_party_identifier=third_party_identifier, + start_date=start_date, + end_date=end_date, + guest_first_name=guest_first_name, + guest_last_name=guest_last_name, + guest_gender=guest_gender, + guest_country=guest_country, + guest_zip=guest_zip, + guest_email=guest_email, + guest_phone=guest_phone, + guest_requirements=guest_requirements, + estimated_arrival_time=estimated_arrival_time, + rooms=rooms, + adults=adults, + children=children, + payment_method=payment_method, + card_token=card_token, + payment_authorization_code=payment_authorization_code, + custom_fields=custom_fields, + promo_code=promo_code, + allotment_block_code=allotment_block_code, + group_code=group_code, + date_created=date_created, + send_email_confirmation=send_email_confirmation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostReservationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_reservation_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + source_id: Annotated[Optional[StrictStr], Field(description="The third-party source ID for this reservation.")] = None, + third_party_identifier: Annotated[Optional[StrictStr], Field(description="If it was received from a booking channel, this can be an identifier from that channel.")] = None, + start_date: Annotated[Optional[date], Field(description="Check-In date.")] = None, + end_date: Annotated[Optional[date], Field(description="Check-Out date.")] = None, + guest_first_name: Annotated[Optional[StrictStr], Field(description="First name of the guest")] = None, + guest_last_name: Annotated[Optional[StrictStr], Field(description="Last name of the guest")] = None, + guest_gender: Optional[StrictStr] = None, + guest_country: Annotated[Optional[StrictStr], Field(description="Valid ISO-Code for Country (2 characters)")] = None, + guest_zip: Annotated[Optional[StrictStr], Field(description="ZIP Code")] = None, + guest_email: Annotated[Optional[StrictStr], Field(description="Guest email")] = None, + guest_phone: Annotated[Optional[StrictStr], Field(description="Guest main phone number")] = None, + guest_requirements: Annotated[Optional[List[Dict[str, Any]]], Field(description="Object with guest requirements information.")] = None, + estimated_arrival_time: Annotated[Optional[StrictStr], Field(description="Estimated Arrival Time, 24-hour format.")] = None, + rooms: Annotated[Optional[List[PostReservationRequestRoomsInner]], Field(description="Array with quantity of rooms")] = None, + adults: Annotated[Optional[List[PostReservationRequestAdultsInner]], Field(description="Array with number of adults")] = None, + children: Annotated[Optional[List[PostReservationRequestChildrenInner]], Field(description="Array with number of children")] = None, + payment_method: Annotated[Optional[StrictStr], Field(description="Payment Method of choice.")] = None, + card_token: Annotated[Optional[StrictStr], Field(description="Credit Card identifier. Payment Method must be credit. This field should be filled with credit card identifier according to gateway. Only available for Stripe and should send the Customer ID.")] = None, + payment_authorization_code: Annotated[Optional[StrictStr], Field(description="Transaction identifier. Payment Method must be credit. This field should be filled with transaction identifier according to gateway. Only available for Stripe and it should be filled with Charge ID associated to the Payment Intent.")] = None, + custom_fields: Annotated[Optional[List[PostReservationRequestCustomFieldsInner]], Field(description="Array with custom fields information")] = None, + promo_code: Annotated[Optional[StrictStr], Field(description="Promotional code. Required for specials and packages that uses it. \\\"rateID\\\" parameter required for using \\\"promoCode\\\".")] = None, + allotment_block_code: Annotated[Optional[StrictStr], Field(description="Allotment block code to add reservation to allotment block.")] = None, + group_code: Annotated[Optional[StrictStr], Field(description="Code from the Aggregate Allotment block the reservation will be added to.")] = None, + date_created: Annotated[Optional[datetime], Field(description="Date reservation was made. Defaults to current date if omitted.")] = None, + send_email_confirmation: Annotated[Optional[StrictBool], Field(description="Send confirmation email to guest.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postReservation + + Adds a reservation to the selected property + + :param property_id: Property ID + :type property_id: str + :param source_id: The third-party source ID for this reservation. + :type source_id: str + :param third_party_identifier: If it was received from a booking channel, this can be an identifier from that channel. + :type third_party_identifier: str + :param start_date: Check-In date. + :type start_date: date + :param end_date: Check-Out date. + :type end_date: date + :param guest_first_name: First name of the guest + :type guest_first_name: str + :param guest_last_name: Last name of the guest + :type guest_last_name: str + :param guest_gender: + :type guest_gender: str + :param guest_country: Valid ISO-Code for Country (2 characters) + :type guest_country: str + :param guest_zip: ZIP Code + :type guest_zip: str + :param guest_email: Guest email + :type guest_email: str + :param guest_phone: Guest main phone number + :type guest_phone: str + :param guest_requirements: Object with guest requirements information. + :type guest_requirements: List[object] + :param estimated_arrival_time: Estimated Arrival Time, 24-hour format. + :type estimated_arrival_time: str + :param rooms: Array with quantity of rooms + :type rooms: List[PostReservationRequestRoomsInner] + :param adults: Array with number of adults + :type adults: List[PostReservationRequestAdultsInner] + :param children: Array with number of children + :type children: List[PostReservationRequestChildrenInner] + :param payment_method: Payment Method of choice. + :type payment_method: str + :param card_token: Credit Card identifier. Payment Method must be credit. This field should be filled with credit card identifier according to gateway. Only available for Stripe and should send the Customer ID. + :type card_token: str + :param payment_authorization_code: Transaction identifier. Payment Method must be credit. This field should be filled with transaction identifier according to gateway. Only available for Stripe and it should be filled with Charge ID associated to the Payment Intent. + :type payment_authorization_code: str + :param custom_fields: Array with custom fields information + :type custom_fields: List[PostReservationRequestCustomFieldsInner] + :param promo_code: Promotional code. Required for specials and packages that uses it. \\\"rateID\\\" parameter required for using \\\"promoCode\\\". + :type promo_code: str + :param allotment_block_code: Allotment block code to add reservation to allotment block. + :type allotment_block_code: str + :param group_code: Code from the Aggregate Allotment block the reservation will be added to. + :type group_code: str + :param date_created: Date reservation was made. Defaults to current date if omitted. + :type date_created: datetime + :param send_email_confirmation: Send confirmation email to guest. + :type send_email_confirmation: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_reservation_post_serialize( + property_id=property_id, + source_id=source_id, + third_party_identifier=third_party_identifier, + start_date=start_date, + end_date=end_date, + guest_first_name=guest_first_name, + guest_last_name=guest_last_name, + guest_gender=guest_gender, + guest_country=guest_country, + guest_zip=guest_zip, + guest_email=guest_email, + guest_phone=guest_phone, + guest_requirements=guest_requirements, + estimated_arrival_time=estimated_arrival_time, + rooms=rooms, + adults=adults, + children=children, + payment_method=payment_method, + card_token=card_token, + payment_authorization_code=payment_authorization_code, + custom_fields=custom_fields, + promo_code=promo_code, + allotment_block_code=allotment_block_code, + group_code=group_code, + date_created=date_created, + send_email_confirmation=send_email_confirmation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostReservationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_reservation_post_serialize( + self, + property_id, + source_id, + third_party_identifier, + start_date, + end_date, + guest_first_name, + guest_last_name, + guest_gender, + guest_country, + guest_zip, + guest_email, + guest_phone, + guest_requirements, + estimated_arrival_time, + rooms, + adults, + children, + payment_method, + card_token, + payment_authorization_code, + custom_fields, + promo_code, + allotment_block_code, + group_code, + date_created, + send_email_confirmation, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'guestRequirements': 'csv', + 'rooms': 'csv', + 'adults': 'csv', + 'children': 'csv', + 'customFields': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if source_id is not None: + _form_params.append(('sourceID', source_id)) + if third_party_identifier is not None: + _form_params.append(('thirdPartyIdentifier', third_party_identifier)) + if start_date is not None: + _form_params.append(('startDate', start_date)) + if end_date is not None: + _form_params.append(('endDate', end_date)) + if guest_first_name is not None: + _form_params.append(('guestFirstName', guest_first_name)) + if guest_last_name is not None: + _form_params.append(('guestLastName', guest_last_name)) + if guest_gender is not None: + _form_params.append(('guestGender', guest_gender)) + if guest_country is not None: + _form_params.append(('guestCountry', guest_country)) + if guest_zip is not None: + _form_params.append(('guestZip', guest_zip)) + if guest_email is not None: + _form_params.append(('guestEmail', guest_email)) + if guest_phone is not None: + _form_params.append(('guestPhone', guest_phone)) + if guest_requirements is not None: + _form_params.append(('guestRequirements', guest_requirements)) + if estimated_arrival_time is not None: + _form_params.append(('estimatedArrivalTime', estimated_arrival_time)) + if rooms is not None: + _form_params.append(('rooms', rooms)) + if adults is not None: + _form_params.append(('adults', adults)) + if children is not None: + _form_params.append(('children', children)) + if payment_method is not None: + _form_params.append(('paymentMethod', payment_method)) + if card_token is not None: + _form_params.append(('cardToken', card_token)) + if payment_authorization_code is not None: + _form_params.append(('paymentAuthorizationCode', payment_authorization_code)) + if custom_fields is not None: + _form_params.append(('customFields', custom_fields)) + if promo_code is not None: + _form_params.append(('promoCode', promo_code)) + if allotment_block_code is not None: + _form_params.append(('allotmentBlockCode', allotment_block_code)) + if group_code is not None: + _form_params.append(('groupCode', group_code)) + if date_created is not None: + _form_params.append(('dateCreated', date_created)) + if send_email_confirmation is not None: + _form_params.append(('sendEmailConfirmation', send_email_confirmation)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postReservation', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def put_reservation_note_put( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation Unique Identifier")] = None, + reservation_note_id: Annotated[Optional[StrictStr], Field(description="Reservation Note ID")] = None, + reservation_note: Annotated[Optional[StrictStr], Field(description="Note to be added to reservation")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PutReservationNoteResponse: + """putReservationNote + + Updates an existing reservation note. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation Unique Identifier + :type reservation_id: str + :param reservation_note_id: Reservation Note ID + :type reservation_note_id: str + :param reservation_note: Note to be added to reservation + :type reservation_note: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_reservation_note_put_serialize( + property_id=property_id, + reservation_id=reservation_id, + reservation_note_id=reservation_note_id, + reservation_note=reservation_note, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutReservationNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def put_reservation_note_put_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation Unique Identifier")] = None, + reservation_note_id: Annotated[Optional[StrictStr], Field(description="Reservation Note ID")] = None, + reservation_note: Annotated[Optional[StrictStr], Field(description="Note to be added to reservation")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PutReservationNoteResponse]: + """putReservationNote + + Updates an existing reservation note. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation Unique Identifier + :type reservation_id: str + :param reservation_note_id: Reservation Note ID + :type reservation_note_id: str + :param reservation_note: Note to be added to reservation + :type reservation_note: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_reservation_note_put_serialize( + property_id=property_id, + reservation_id=reservation_id, + reservation_note_id=reservation_note_id, + reservation_note=reservation_note, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutReservationNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def put_reservation_note_put_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation Unique Identifier")] = None, + reservation_note_id: Annotated[Optional[StrictStr], Field(description="Reservation Note ID")] = None, + reservation_note: Annotated[Optional[StrictStr], Field(description="Note to be added to reservation")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """putReservationNote + + Updates an existing reservation note. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation Unique Identifier + :type reservation_id: str + :param reservation_note_id: Reservation Note ID + :type reservation_note_id: str + :param reservation_note: Note to be added to reservation + :type reservation_note: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_reservation_note_put_serialize( + property_id=property_id, + reservation_id=reservation_id, + reservation_note_id=reservation_note_id, + reservation_note=reservation_note, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutReservationNoteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _put_reservation_note_put_serialize( + self, + property_id, + reservation_id, + reservation_note_id, + reservation_note, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if reservation_note_id is not None: + _form_params.append(('reservationNoteID', reservation_note_id)) + if reservation_note is not None: + _form_params.append(('reservationNote', reservation_note)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/putReservationNote', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def put_reservation_put( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation Unique Identifier, one reservation ID per call.")] = None, + estimated_arrival_time: Annotated[Optional[StrictStr], Field(description="Estimated Arrival Time, 24-hour format.")] = None, + status: Annotated[Optional[StrictStr], Field(description="Reservation status
'confirmed' - Reservation is confirmed
'not_confirmed' - Reservation not passed confirmation
'canceled' - Reservation is canceled
'checked_in' - Guest is in hotel
'checked_out' - Guest already left hotel
'no_show' - Guest didn't showed up on check-in date")] = None, + checkout_date: Annotated[Optional[date], Field(description="Update the checkoutDate across the whole reservation")] = None, + custom_fields: Annotated[Optional[List[PutReservationRequestCustomFieldsInner]], Field(description="Array with custom fields information")] = None, + rooms: Annotated[Optional[List[PutReservationRequestRoomsInner]], Field(description="Array with rooms information to change accommodations assigned to the reservation")] = None, + date_created: Annotated[Optional[datetime], Field(description="Date reservation was made. Do not change if omitted.")] = None, + send_status_change_email: Annotated[Optional[StrictBool], Field(description="Send email on reservation status change to property and guest.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PutReservationResponse: + """putReservation + + Updates a reservation, such as custom fields, estimated arrival time, room configuration and reservation status. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation Unique Identifier, one reservation ID per call. + :type reservation_id: str + :param estimated_arrival_time: Estimated Arrival Time, 24-hour format. + :type estimated_arrival_time: str + :param status: Reservation status
'confirmed' - Reservation is confirmed
'not_confirmed' - Reservation not passed confirmation
'canceled' - Reservation is canceled
'checked_in' - Guest is in hotel
'checked_out' - Guest already left hotel
'no_show' - Guest didn't showed up on check-in date + :type status: str + :param checkout_date: Update the checkoutDate across the whole reservation + :type checkout_date: date + :param custom_fields: Array with custom fields information + :type custom_fields: List[PutReservationRequestCustomFieldsInner] + :param rooms: Array with rooms information to change accommodations assigned to the reservation + :type rooms: List[PutReservationRequestRoomsInner] + :param date_created: Date reservation was made. Do not change if omitted. + :type date_created: datetime + :param send_status_change_email: Send email on reservation status change to property and guest. + :type send_status_change_email: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_reservation_put_serialize( + property_id=property_id, + reservation_id=reservation_id, + estimated_arrival_time=estimated_arrival_time, + status=status, + checkout_date=checkout_date, + custom_fields=custom_fields, + rooms=rooms, + date_created=date_created, + send_status_change_email=send_status_change_email, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutReservationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def put_reservation_put_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation Unique Identifier, one reservation ID per call.")] = None, + estimated_arrival_time: Annotated[Optional[StrictStr], Field(description="Estimated Arrival Time, 24-hour format.")] = None, + status: Annotated[Optional[StrictStr], Field(description="Reservation status
'confirmed' - Reservation is confirmed
'not_confirmed' - Reservation not passed confirmation
'canceled' - Reservation is canceled
'checked_in' - Guest is in hotel
'checked_out' - Guest already left hotel
'no_show' - Guest didn't showed up on check-in date")] = None, + checkout_date: Annotated[Optional[date], Field(description="Update the checkoutDate across the whole reservation")] = None, + custom_fields: Annotated[Optional[List[PutReservationRequestCustomFieldsInner]], Field(description="Array with custom fields information")] = None, + rooms: Annotated[Optional[List[PutReservationRequestRoomsInner]], Field(description="Array with rooms information to change accommodations assigned to the reservation")] = None, + date_created: Annotated[Optional[datetime], Field(description="Date reservation was made. Do not change if omitted.")] = None, + send_status_change_email: Annotated[Optional[StrictBool], Field(description="Send email on reservation status change to property and guest.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PutReservationResponse]: + """putReservation + + Updates a reservation, such as custom fields, estimated arrival time, room configuration and reservation status. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation Unique Identifier, one reservation ID per call. + :type reservation_id: str + :param estimated_arrival_time: Estimated Arrival Time, 24-hour format. + :type estimated_arrival_time: str + :param status: Reservation status
'confirmed' - Reservation is confirmed
'not_confirmed' - Reservation not passed confirmation
'canceled' - Reservation is canceled
'checked_in' - Guest is in hotel
'checked_out' - Guest already left hotel
'no_show' - Guest didn't showed up on check-in date + :type status: str + :param checkout_date: Update the checkoutDate across the whole reservation + :type checkout_date: date + :param custom_fields: Array with custom fields information + :type custom_fields: List[PutReservationRequestCustomFieldsInner] + :param rooms: Array with rooms information to change accommodations assigned to the reservation + :type rooms: List[PutReservationRequestRoomsInner] + :param date_created: Date reservation was made. Do not change if omitted. + :type date_created: datetime + :param send_status_change_email: Send email on reservation status change to property and guest. + :type send_status_change_email: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_reservation_put_serialize( + property_id=property_id, + reservation_id=reservation_id, + estimated_arrival_time=estimated_arrival_time, + status=status, + checkout_date=checkout_date, + custom_fields=custom_fields, + rooms=rooms, + date_created=date_created, + send_status_change_email=send_status_change_email, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutReservationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def put_reservation_put_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation Unique Identifier, one reservation ID per call.")] = None, + estimated_arrival_time: Annotated[Optional[StrictStr], Field(description="Estimated Arrival Time, 24-hour format.")] = None, + status: Annotated[Optional[StrictStr], Field(description="Reservation status
'confirmed' - Reservation is confirmed
'not_confirmed' - Reservation not passed confirmation
'canceled' - Reservation is canceled
'checked_in' - Guest is in hotel
'checked_out' - Guest already left hotel
'no_show' - Guest didn't showed up on check-in date")] = None, + checkout_date: Annotated[Optional[date], Field(description="Update the checkoutDate across the whole reservation")] = None, + custom_fields: Annotated[Optional[List[PutReservationRequestCustomFieldsInner]], Field(description="Array with custom fields information")] = None, + rooms: Annotated[Optional[List[PutReservationRequestRoomsInner]], Field(description="Array with rooms information to change accommodations assigned to the reservation")] = None, + date_created: Annotated[Optional[datetime], Field(description="Date reservation was made. Do not change if omitted.")] = None, + send_status_change_email: Annotated[Optional[StrictBool], Field(description="Send email on reservation status change to property and guest.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """putReservation + + Updates a reservation, such as custom fields, estimated arrival time, room configuration and reservation status. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation Unique Identifier, one reservation ID per call. + :type reservation_id: str + :param estimated_arrival_time: Estimated Arrival Time, 24-hour format. + :type estimated_arrival_time: str + :param status: Reservation status
'confirmed' - Reservation is confirmed
'not_confirmed' - Reservation not passed confirmation
'canceled' - Reservation is canceled
'checked_in' - Guest is in hotel
'checked_out' - Guest already left hotel
'no_show' - Guest didn't showed up on check-in date + :type status: str + :param checkout_date: Update the checkoutDate across the whole reservation + :type checkout_date: date + :param custom_fields: Array with custom fields information + :type custom_fields: List[PutReservationRequestCustomFieldsInner] + :param rooms: Array with rooms information to change accommodations assigned to the reservation + :type rooms: List[PutReservationRequestRoomsInner] + :param date_created: Date reservation was made. Do not change if omitted. + :type date_created: datetime + :param send_status_change_email: Send email on reservation status change to property and guest. + :type send_status_change_email: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_reservation_put_serialize( + property_id=property_id, + reservation_id=reservation_id, + estimated_arrival_time=estimated_arrival_time, + status=status, + checkout_date=checkout_date, + custom_fields=custom_fields, + rooms=rooms, + date_created=date_created, + send_status_change_email=send_status_change_email, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutReservationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _put_reservation_put_serialize( + self, + property_id, + reservation_id, + estimated_arrival_time, + status, + checkout_date, + custom_fields, + rooms, + date_created, + send_status_change_email, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'customFields': 'csv', + 'rooms': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if estimated_arrival_time is not None: + _form_params.append(('estimatedArrivalTime', estimated_arrival_time)) + if status is not None: + _form_params.append(('status', status)) + if checkout_date is not None: + _form_params.append(('checkoutDate', checkout_date)) + if custom_fields is not None: + _form_params.append(('customFields', custom_fields)) + if rooms is not None: + _form_params.append(('rooms', rooms)) + if date_created is not None: + _form_params.append(('dateCreated', date_created)) + if send_status_change_email is not None: + _form_params.append(('sendStatusChangeEmail', send_status_change_email)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/putReservation', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/room_api.py b/cloudbeds_pms_v1_3/api/room_api.py new file mode 100644 index 0000000..28e8502 --- /dev/null +++ b/cloudbeds_pms_v1_3/api/room_api.py @@ -0,0 +1,4959 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from datetime import date +from pydantic import Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator +from typing import List, Optional, Union +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.delete_room_block_response import DeleteRoomBlockResponse +from cloudbeds_pms_v1_3.models.get_available_room_types_response import GetAvailableRoomTypesResponse +from cloudbeds_pms_v1_3.models.get_reservation_room_details_response import GetReservationRoomDetailsResponse +from cloudbeds_pms_v1_3.models.get_room_blocks_response import GetRoomBlocksResponse +from cloudbeds_pms_v1_3.models.get_room_types_response import GetRoomTypesResponse +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response import GetRoomsFeesAndTaxesResponse +from cloudbeds_pms_v1_3.models.get_rooms_response import GetRoomsResponse +from cloudbeds_pms_v1_3.models.get_rooms_unassigned_response import GetRoomsUnassignedResponse +from cloudbeds_pms_v1_3.models.post_room_assign_response import PostRoomAssignResponse +from cloudbeds_pms_v1_3.models.post_room_block_request_rooms_inner import PostRoomBlockRequestRoomsInner +from cloudbeds_pms_v1_3.models.post_room_block_response import PostRoomBlockResponse +from cloudbeds_pms_v1_3.models.post_room_check_in_response import PostRoomCheckInResponse +from cloudbeds_pms_v1_3.models.post_room_check_out_response import PostRoomCheckOutResponse +from cloudbeds_pms_v1_3.models.put_room_block_request_rooms_inner import PutRoomBlockRequestRoomsInner +from cloudbeds_pms_v1_3.models.put_room_block_response import PutRoomBlockResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class RoomApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def delete_room_block_delete( + self, + room_block_id: Annotated[StrictStr, Field(description="Room block ID")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DeleteRoomBlockResponse: + """deleteRoomBlock + + Deletes a room block + + :param room_block_id: Room block ID (required) + :type room_block_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_room_block_delete_serialize( + room_block_id=room_block_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteRoomBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_room_block_delete_with_http_info( + self, + room_block_id: Annotated[StrictStr, Field(description="Room block ID")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[DeleteRoomBlockResponse]: + """deleteRoomBlock + + Deletes a room block + + :param room_block_id: Room block ID (required) + :type room_block_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_room_block_delete_serialize( + room_block_id=room_block_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteRoomBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_room_block_delete_without_preload_content( + self, + room_block_id: Annotated[StrictStr, Field(description="Room block ID")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """deleteRoomBlock + + Deletes a room block + + :param room_block_id: Room block ID (required) + :type room_block_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_room_block_delete_serialize( + room_block_id=room_block_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteRoomBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_room_block_delete_serialize( + self, + room_block_id, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if room_block_id is not None: + + _query_params.append(('roomBlockID', room_block_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/deleteRoomBlock', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_available_room_types_get( + self, + start_date: Annotated[date, Field(description="Check-In date.")], + end_date: Annotated[date, Field(description="Check-Out date.")], + rooms: Annotated[StrictInt, Field(description="Number of rooms.")], + adults: Annotated[StrictInt, Field(description="Number of adults.")], + children: Annotated[StrictInt, Field(description="Number of children.")], + property_ids: Annotated[Optional[StrictStr], Field(description="Property ID list, comma-separated, i.e. 37,345,89")] = None, + promo_code: Annotated[Optional[StrictStr], Field(description="Promotional code")] = None, + detailed_rates: Annotated[Optional[StrictBool], Field(description="If detailed rates are expected")] = None, + include_shared_rooms: Annotated[Optional[StrictBool], Field(description="Include shared rooms in the result for multiple adults/children")] = None, + sort: Annotated[Optional[StrictStr], Field(description="Sort parameter")] = None, + order: Optional[StrictStr] = None, + min_rate: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Minimum daily rate. Used to filter results")] = None, + max_rate: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Maximum daily rate. Used to filter results")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Page size")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetAvailableRoomTypesResponse: + """getAvailableRoomTypes + + Returns a list of room types with availability considering the informed parameters ### Group account support + + :param start_date: Check-In date. (required) + :type start_date: date + :param end_date: Check-Out date. (required) + :type end_date: date + :param rooms: Number of rooms. (required) + :type rooms: int + :param adults: Number of adults. (required) + :type adults: int + :param children: Number of children. (required) + :type children: int + :param property_ids: Property ID list, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param promo_code: Promotional code + :type promo_code: str + :param detailed_rates: If detailed rates are expected + :type detailed_rates: bool + :param include_shared_rooms: Include shared rooms in the result for multiple adults/children + :type include_shared_rooms: bool + :param sort: Sort parameter + :type sort: str + :param order: + :type order: str + :param min_rate: Minimum daily rate. Used to filter results + :type min_rate: float + :param max_rate: Maximum daily rate. Used to filter results + :type max_rate: float + :param page_number: Page number + :type page_number: int + :param page_size: Page size + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_available_room_types_get_serialize( + start_date=start_date, + end_date=end_date, + rooms=rooms, + adults=adults, + children=children, + property_ids=property_ids, + promo_code=promo_code, + detailed_rates=detailed_rates, + include_shared_rooms=include_shared_rooms, + sort=sort, + order=order, + min_rate=min_rate, + max_rate=max_rate, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAvailableRoomTypesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_available_room_types_get_with_http_info( + self, + start_date: Annotated[date, Field(description="Check-In date.")], + end_date: Annotated[date, Field(description="Check-Out date.")], + rooms: Annotated[StrictInt, Field(description="Number of rooms.")], + adults: Annotated[StrictInt, Field(description="Number of adults.")], + children: Annotated[StrictInt, Field(description="Number of children.")], + property_ids: Annotated[Optional[StrictStr], Field(description="Property ID list, comma-separated, i.e. 37,345,89")] = None, + promo_code: Annotated[Optional[StrictStr], Field(description="Promotional code")] = None, + detailed_rates: Annotated[Optional[StrictBool], Field(description="If detailed rates are expected")] = None, + include_shared_rooms: Annotated[Optional[StrictBool], Field(description="Include shared rooms in the result for multiple adults/children")] = None, + sort: Annotated[Optional[StrictStr], Field(description="Sort parameter")] = None, + order: Optional[StrictStr] = None, + min_rate: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Minimum daily rate. Used to filter results")] = None, + max_rate: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Maximum daily rate. Used to filter results")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Page size")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetAvailableRoomTypesResponse]: + """getAvailableRoomTypes + + Returns a list of room types with availability considering the informed parameters ### Group account support + + :param start_date: Check-In date. (required) + :type start_date: date + :param end_date: Check-Out date. (required) + :type end_date: date + :param rooms: Number of rooms. (required) + :type rooms: int + :param adults: Number of adults. (required) + :type adults: int + :param children: Number of children. (required) + :type children: int + :param property_ids: Property ID list, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param promo_code: Promotional code + :type promo_code: str + :param detailed_rates: If detailed rates are expected + :type detailed_rates: bool + :param include_shared_rooms: Include shared rooms in the result for multiple adults/children + :type include_shared_rooms: bool + :param sort: Sort parameter + :type sort: str + :param order: + :type order: str + :param min_rate: Minimum daily rate. Used to filter results + :type min_rate: float + :param max_rate: Maximum daily rate. Used to filter results + :type max_rate: float + :param page_number: Page number + :type page_number: int + :param page_size: Page size + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_available_room_types_get_serialize( + start_date=start_date, + end_date=end_date, + rooms=rooms, + adults=adults, + children=children, + property_ids=property_ids, + promo_code=promo_code, + detailed_rates=detailed_rates, + include_shared_rooms=include_shared_rooms, + sort=sort, + order=order, + min_rate=min_rate, + max_rate=max_rate, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAvailableRoomTypesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_available_room_types_get_without_preload_content( + self, + start_date: Annotated[date, Field(description="Check-In date.")], + end_date: Annotated[date, Field(description="Check-Out date.")], + rooms: Annotated[StrictInt, Field(description="Number of rooms.")], + adults: Annotated[StrictInt, Field(description="Number of adults.")], + children: Annotated[StrictInt, Field(description="Number of children.")], + property_ids: Annotated[Optional[StrictStr], Field(description="Property ID list, comma-separated, i.e. 37,345,89")] = None, + promo_code: Annotated[Optional[StrictStr], Field(description="Promotional code")] = None, + detailed_rates: Annotated[Optional[StrictBool], Field(description="If detailed rates are expected")] = None, + include_shared_rooms: Annotated[Optional[StrictBool], Field(description="Include shared rooms in the result for multiple adults/children")] = None, + sort: Annotated[Optional[StrictStr], Field(description="Sort parameter")] = None, + order: Optional[StrictStr] = None, + min_rate: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Minimum daily rate. Used to filter results")] = None, + max_rate: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="Maximum daily rate. Used to filter results")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Page size")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getAvailableRoomTypes + + Returns a list of room types with availability considering the informed parameters ### Group account support + + :param start_date: Check-In date. (required) + :type start_date: date + :param end_date: Check-Out date. (required) + :type end_date: date + :param rooms: Number of rooms. (required) + :type rooms: int + :param adults: Number of adults. (required) + :type adults: int + :param children: Number of children. (required) + :type children: int + :param property_ids: Property ID list, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param promo_code: Promotional code + :type promo_code: str + :param detailed_rates: If detailed rates are expected + :type detailed_rates: bool + :param include_shared_rooms: Include shared rooms in the result for multiple adults/children + :type include_shared_rooms: bool + :param sort: Sort parameter + :type sort: str + :param order: + :type order: str + :param min_rate: Minimum daily rate. Used to filter results + :type min_rate: float + :param max_rate: Maximum daily rate. Used to filter results + :type max_rate: float + :param page_number: Page number + :type page_number: int + :param page_size: Page size + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_available_room_types_get_serialize( + start_date=start_date, + end_date=end_date, + rooms=rooms, + adults=adults, + children=children, + property_ids=property_ids, + promo_code=promo_code, + detailed_rates=detailed_rates, + include_shared_rooms=include_shared_rooms, + sort=sort, + order=order, + min_rate=min_rate, + max_rate=max_rate, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAvailableRoomTypesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_available_room_types_get_serialize( + self, + start_date, + end_date, + rooms, + adults, + children, + property_ids, + promo_code, + detailed_rates, + include_shared_rooms, + sort, + order, + min_rate, + max_rate, + page_number, + page_size, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_ids is not None: + + _query_params.append(('propertyIDs', property_ids)) + + if start_date is not None: + if isinstance(start_date, date): + _query_params.append( + ( + 'startDate', + start_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('startDate', start_date)) + + if end_date is not None: + if isinstance(end_date, date): + _query_params.append( + ( + 'endDate', + end_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('endDate', end_date)) + + if rooms is not None: + + _query_params.append(('rooms', rooms)) + + if adults is not None: + + _query_params.append(('adults', adults)) + + if children is not None: + + _query_params.append(('children', children)) + + if promo_code is not None: + + _query_params.append(('promoCode', promo_code)) + + if detailed_rates is not None: + + _query_params.append(('detailedRates', detailed_rates)) + + if include_shared_rooms is not None: + + _query_params.append(('includeSharedRooms', include_shared_rooms)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if order is not None: + + _query_params.append(('order', order)) + + if min_rate is not None: + + _query_params.append(('minRate', min_rate)) + + if max_rate is not None: + + _query_params.append(('maxRate', max_rate)) + + if page_number is not None: + + _query_params.append(('pageNumber', page_number)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getAvailableRoomTypes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_reservation_room_details_get( + self, + sub_reservation_id: Annotated[StrictStr, Field(description="Sub Reservation ID of the specific assigned room")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetReservationRoomDetailsResponse: + """getReservationRoomDetails + + Returns information about particular room in reservation by its subReservationID + + :param sub_reservation_id: Sub Reservation ID of the specific assigned room (required) + :type sub_reservation_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservation_room_details_get_serialize( + sub_reservation_id=sub_reservation_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationRoomDetailsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_reservation_room_details_get_with_http_info( + self, + sub_reservation_id: Annotated[StrictStr, Field(description="Sub Reservation ID of the specific assigned room")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetReservationRoomDetailsResponse]: + """getReservationRoomDetails + + Returns information about particular room in reservation by its subReservationID + + :param sub_reservation_id: Sub Reservation ID of the specific assigned room (required) + :type sub_reservation_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservation_room_details_get_serialize( + sub_reservation_id=sub_reservation_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationRoomDetailsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_reservation_room_details_get_without_preload_content( + self, + sub_reservation_id: Annotated[StrictStr, Field(description="Sub Reservation ID of the specific assigned room")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getReservationRoomDetails + + Returns information about particular room in reservation by its subReservationID + + :param sub_reservation_id: Sub Reservation ID of the specific assigned room (required) + :type sub_reservation_id: str + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_reservation_room_details_get_serialize( + sub_reservation_id=sub_reservation_id, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetReservationRoomDetailsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_reservation_room_details_get_serialize( + self, + sub_reservation_id, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if sub_reservation_id is not None: + + _query_params.append(('subReservationID', sub_reservation_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getReservationRoomDetails', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_room_blocks_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_block_id: Annotated[Optional[StrictStr], Field(description="Room block ID")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="Room type ID")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room ID")] = None, + start_date: Annotated[Optional[date], Field(description="date\"] Start date - will filter for any room blocks that include this date (Date range must be one month or less)")] = None, + end_date: Annotated[Optional[date], Field(description="date\"] End date - will filter for any room blocks that include this date (Date range must be one month or less)")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Page size")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetRoomBlocksResponse: + """getRoomBlocks + + Returns a list of all room blocks considering the informed parameters. + + :param property_id: Property ID + :type property_id: str + :param room_block_id: Room block ID + :type room_block_id: str + :param room_type_id: Room type ID + :type room_type_id: str + :param room_id: Room ID + :type room_id: str + :param start_date: date\"] Start date - will filter for any room blocks that include this date (Date range must be one month or less) + :type start_date: date + :param end_date: date\"] End date - will filter for any room blocks that include this date (Date range must be one month or less) + :type end_date: date + :param page_number: Page number + :type page_number: int + :param page_size: Page size + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_room_blocks_get_serialize( + property_id=property_id, + room_block_id=room_block_id, + room_type_id=room_type_id, + room_id=room_id, + start_date=start_date, + end_date=end_date, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoomBlocksResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_room_blocks_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_block_id: Annotated[Optional[StrictStr], Field(description="Room block ID")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="Room type ID")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room ID")] = None, + start_date: Annotated[Optional[date], Field(description="date\"] Start date - will filter for any room blocks that include this date (Date range must be one month or less)")] = None, + end_date: Annotated[Optional[date], Field(description="date\"] End date - will filter for any room blocks that include this date (Date range must be one month or less)")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Page size")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetRoomBlocksResponse]: + """getRoomBlocks + + Returns a list of all room blocks considering the informed parameters. + + :param property_id: Property ID + :type property_id: str + :param room_block_id: Room block ID + :type room_block_id: str + :param room_type_id: Room type ID + :type room_type_id: str + :param room_id: Room ID + :type room_id: str + :param start_date: date\"] Start date - will filter for any room blocks that include this date (Date range must be one month or less) + :type start_date: date + :param end_date: date\"] End date - will filter for any room blocks that include this date (Date range must be one month or less) + :type end_date: date + :param page_number: Page number + :type page_number: int + :param page_size: Page size + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_room_blocks_get_serialize( + property_id=property_id, + room_block_id=room_block_id, + room_type_id=room_type_id, + room_id=room_id, + start_date=start_date, + end_date=end_date, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoomBlocksResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_room_blocks_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_block_id: Annotated[Optional[StrictStr], Field(description="Room block ID")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="Room type ID")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room ID")] = None, + start_date: Annotated[Optional[date], Field(description="date\"] Start date - will filter for any room blocks that include this date (Date range must be one month or less)")] = None, + end_date: Annotated[Optional[date], Field(description="date\"] End date - will filter for any room blocks that include this date (Date range must be one month or less)")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Page size")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getRoomBlocks + + Returns a list of all room blocks considering the informed parameters. + + :param property_id: Property ID + :type property_id: str + :param room_block_id: Room block ID + :type room_block_id: str + :param room_type_id: Room type ID + :type room_type_id: str + :param room_id: Room ID + :type room_id: str + :param start_date: date\"] Start date - will filter for any room blocks that include this date (Date range must be one month or less) + :type start_date: date + :param end_date: date\"] End date - will filter for any room blocks that include this date (Date range must be one month or less) + :type end_date: date + :param page_number: Page number + :type page_number: int + :param page_size: Page size + :type page_size: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_room_blocks_get_serialize( + property_id=property_id, + room_block_id=room_block_id, + room_type_id=room_type_id, + room_id=room_id, + start_date=start_date, + end_date=end_date, + page_number=page_number, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoomBlocksResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_room_blocks_get_serialize( + self, + property_id, + room_block_id, + room_type_id, + room_id, + start_date, + end_date, + page_number, + page_size, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if room_block_id is not None: + + _query_params.append(('roomBlockID', room_block_id)) + + if room_type_id is not None: + + _query_params.append(('roomTypeID', room_type_id)) + + if room_id is not None: + + _query_params.append(('roomID', room_id)) + + if start_date is not None: + if isinstance(start_date, date): + _query_params.append( + ( + 'startDate', + start_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('startDate', start_date)) + + if end_date is not None: + if isinstance(end_date, date): + _query_params.append( + ( + 'endDate', + end_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('endDate', end_date)) + + if page_number is not None: + + _query_params.append(('pageNumber', page_number)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getRoomBlocks', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_room_types_get( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="Property ID list, comma-separated, i.e. 37,345,89")] = None, + room_type_ids: Annotated[Optional[StrictStr], Field(description="Room Type ID list, If more than one, send as comma-separated, i.e. 37,345,89")] = None, + start_date: Annotated[Optional[date], Field(description="Check-in date. Required for the rates to be returned.")] = None, + end_date: Annotated[Optional[date], Field(description="Check-out date. Required for the rates to be returned.")] = None, + adults: Annotated[Optional[StrictInt], Field(description="Number of adults. Required for the rates to be returned.")] = None, + children: Annotated[Optional[StrictInt], Field(description="Number of children. Required for the rates to be returned.")] = None, + detailed_rates: Annotated[Optional[StrictBool], Field(description="If detailed rates are expected")] = None, + room_type_name: Annotated[Optional[StrictStr], Field(description="Room type name, used to filter")] = None, + property_city: Annotated[Optional[StrictStr], Field(description="Hotel city, used to filter")] = None, + property_name: Annotated[Optional[StrictStr], Field(description="Hotel name, used to filter")] = None, + max_guests: Annotated[Optional[StrictStr], Field(description="Max number of guests, used to filter")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Page size")] = None, + sort: Annotated[Optional[StrictStr], Field(description="Sorting rules, semicolon-separated. Format: `field[:direction]`, where `direction` is `asc` or `desc`, defaults to `asc` if not provided. Valid fields: `sorting_position`. Examples: - `sort=sorting_position` - `sort=sorting_position:desc`")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetRoomTypesResponse: + """getRoomTypes + + Returns a list of room types filtered by the selected parameters ### Group account support + + :param property_ids: Property ID list, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param room_type_ids: Room Type ID list, If more than one, send as comma-separated, i.e. 37,345,89 + :type room_type_ids: str + :param start_date: Check-in date. Required for the rates to be returned. + :type start_date: date + :param end_date: Check-out date. Required for the rates to be returned. + :type end_date: date + :param adults: Number of adults. Required for the rates to be returned. + :type adults: int + :param children: Number of children. Required for the rates to be returned. + :type children: int + :param detailed_rates: If detailed rates are expected + :type detailed_rates: bool + :param room_type_name: Room type name, used to filter + :type room_type_name: str + :param property_city: Hotel city, used to filter + :type property_city: str + :param property_name: Hotel name, used to filter + :type property_name: str + :param max_guests: Max number of guests, used to filter + :type max_guests: str + :param page_number: Page number + :type page_number: int + :param page_size: Page size + :type page_size: int + :param sort: Sorting rules, semicolon-separated. Format: `field[:direction]`, where `direction` is `asc` or `desc`, defaults to `asc` if not provided. Valid fields: `sorting_position`. Examples: - `sort=sorting_position` - `sort=sorting_position:desc` + :type sort: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_room_types_get_serialize( + property_ids=property_ids, + room_type_ids=room_type_ids, + start_date=start_date, + end_date=end_date, + adults=adults, + children=children, + detailed_rates=detailed_rates, + room_type_name=room_type_name, + property_city=property_city, + property_name=property_name, + max_guests=max_guests, + page_number=page_number, + page_size=page_size, + sort=sort, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoomTypesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_room_types_get_with_http_info( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="Property ID list, comma-separated, i.e. 37,345,89")] = None, + room_type_ids: Annotated[Optional[StrictStr], Field(description="Room Type ID list, If more than one, send as comma-separated, i.e. 37,345,89")] = None, + start_date: Annotated[Optional[date], Field(description="Check-in date. Required for the rates to be returned.")] = None, + end_date: Annotated[Optional[date], Field(description="Check-out date. Required for the rates to be returned.")] = None, + adults: Annotated[Optional[StrictInt], Field(description="Number of adults. Required for the rates to be returned.")] = None, + children: Annotated[Optional[StrictInt], Field(description="Number of children. Required for the rates to be returned.")] = None, + detailed_rates: Annotated[Optional[StrictBool], Field(description="If detailed rates are expected")] = None, + room_type_name: Annotated[Optional[StrictStr], Field(description="Room type name, used to filter")] = None, + property_city: Annotated[Optional[StrictStr], Field(description="Hotel city, used to filter")] = None, + property_name: Annotated[Optional[StrictStr], Field(description="Hotel name, used to filter")] = None, + max_guests: Annotated[Optional[StrictStr], Field(description="Max number of guests, used to filter")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Page size")] = None, + sort: Annotated[Optional[StrictStr], Field(description="Sorting rules, semicolon-separated. Format: `field[:direction]`, where `direction` is `asc` or `desc`, defaults to `asc` if not provided. Valid fields: `sorting_position`. Examples: - `sort=sorting_position` - `sort=sorting_position:desc`")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetRoomTypesResponse]: + """getRoomTypes + + Returns a list of room types filtered by the selected parameters ### Group account support + + :param property_ids: Property ID list, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param room_type_ids: Room Type ID list, If more than one, send as comma-separated, i.e. 37,345,89 + :type room_type_ids: str + :param start_date: Check-in date. Required for the rates to be returned. + :type start_date: date + :param end_date: Check-out date. Required for the rates to be returned. + :type end_date: date + :param adults: Number of adults. Required for the rates to be returned. + :type adults: int + :param children: Number of children. Required for the rates to be returned. + :type children: int + :param detailed_rates: If detailed rates are expected + :type detailed_rates: bool + :param room_type_name: Room type name, used to filter + :type room_type_name: str + :param property_city: Hotel city, used to filter + :type property_city: str + :param property_name: Hotel name, used to filter + :type property_name: str + :param max_guests: Max number of guests, used to filter + :type max_guests: str + :param page_number: Page number + :type page_number: int + :param page_size: Page size + :type page_size: int + :param sort: Sorting rules, semicolon-separated. Format: `field[:direction]`, where `direction` is `asc` or `desc`, defaults to `asc` if not provided. Valid fields: `sorting_position`. Examples: - `sort=sorting_position` - `sort=sorting_position:desc` + :type sort: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_room_types_get_serialize( + property_ids=property_ids, + room_type_ids=room_type_ids, + start_date=start_date, + end_date=end_date, + adults=adults, + children=children, + detailed_rates=detailed_rates, + room_type_name=room_type_name, + property_city=property_city, + property_name=property_name, + max_guests=max_guests, + page_number=page_number, + page_size=page_size, + sort=sort, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoomTypesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_room_types_get_without_preload_content( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="Property ID list, comma-separated, i.e. 37,345,89")] = None, + room_type_ids: Annotated[Optional[StrictStr], Field(description="Room Type ID list, If more than one, send as comma-separated, i.e. 37,345,89")] = None, + start_date: Annotated[Optional[date], Field(description="Check-in date. Required for the rates to be returned.")] = None, + end_date: Annotated[Optional[date], Field(description="Check-out date. Required for the rates to be returned.")] = None, + adults: Annotated[Optional[StrictInt], Field(description="Number of adults. Required for the rates to be returned.")] = None, + children: Annotated[Optional[StrictInt], Field(description="Number of children. Required for the rates to be returned.")] = None, + detailed_rates: Annotated[Optional[StrictBool], Field(description="If detailed rates are expected")] = None, + room_type_name: Annotated[Optional[StrictStr], Field(description="Room type name, used to filter")] = None, + property_city: Annotated[Optional[StrictStr], Field(description="Hotel city, used to filter")] = None, + property_name: Annotated[Optional[StrictStr], Field(description="Hotel name, used to filter")] = None, + max_guests: Annotated[Optional[StrictStr], Field(description="Max number of guests, used to filter")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Page size")] = None, + sort: Annotated[Optional[StrictStr], Field(description="Sorting rules, semicolon-separated. Format: `field[:direction]`, where `direction` is `asc` or `desc`, defaults to `asc` if not provided. Valid fields: `sorting_position`. Examples: - `sort=sorting_position` - `sort=sorting_position:desc`")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getRoomTypes + + Returns a list of room types filtered by the selected parameters ### Group account support + + :param property_ids: Property ID list, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param room_type_ids: Room Type ID list, If more than one, send as comma-separated, i.e. 37,345,89 + :type room_type_ids: str + :param start_date: Check-in date. Required for the rates to be returned. + :type start_date: date + :param end_date: Check-out date. Required for the rates to be returned. + :type end_date: date + :param adults: Number of adults. Required for the rates to be returned. + :type adults: int + :param children: Number of children. Required for the rates to be returned. + :type children: int + :param detailed_rates: If detailed rates are expected + :type detailed_rates: bool + :param room_type_name: Room type name, used to filter + :type room_type_name: str + :param property_city: Hotel city, used to filter + :type property_city: str + :param property_name: Hotel name, used to filter + :type property_name: str + :param max_guests: Max number of guests, used to filter + :type max_guests: str + :param page_number: Page number + :type page_number: int + :param page_size: Page size + :type page_size: int + :param sort: Sorting rules, semicolon-separated. Format: `field[:direction]`, where `direction` is `asc` or `desc`, defaults to `asc` if not provided. Valid fields: `sorting_position`. Examples: - `sort=sorting_position` - `sort=sorting_position:desc` + :type sort: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_room_types_get_serialize( + property_ids=property_ids, + room_type_ids=room_type_ids, + start_date=start_date, + end_date=end_date, + adults=adults, + children=children, + detailed_rates=detailed_rates, + room_type_name=room_type_name, + property_city=property_city, + property_name=property_name, + max_guests=max_guests, + page_number=page_number, + page_size=page_size, + sort=sort, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoomTypesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_room_types_get_serialize( + self, + property_ids, + room_type_ids, + start_date, + end_date, + adults, + children, + detailed_rates, + room_type_name, + property_city, + property_name, + max_guests, + page_number, + page_size, + sort, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_ids is not None: + + _query_params.append(('propertyIDs', property_ids)) + + if room_type_ids is not None: + + _query_params.append(('roomTypeIDs', room_type_ids)) + + if start_date is not None: + if isinstance(start_date, date): + _query_params.append( + ( + 'startDate', + start_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('startDate', start_date)) + + if end_date is not None: + if isinstance(end_date, date): + _query_params.append( + ( + 'endDate', + end_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('endDate', end_date)) + + if adults is not None: + + _query_params.append(('adults', adults)) + + if children is not None: + + _query_params.append(('children', children)) + + if detailed_rates is not None: + + _query_params.append(('detailedRates', detailed_rates)) + + if room_type_name is not None: + + _query_params.append(('roomTypeName', room_type_name)) + + if property_city is not None: + + _query_params.append(('propertyCity', property_city)) + + if property_name is not None: + + _query_params.append(('propertyName', property_name)) + + if max_guests is not None: + + _query_params.append(('maxGuests', max_guests)) + + if page_number is not None: + + _query_params.append(('pageNumber', page_number)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getRoomTypes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_rooms_fees_and_taxes_get( + self, + start_date: Annotated[date, Field(description="Check-in date")], + end_date: Annotated[date, Field(description="Check-out date")], + rooms_total: Annotated[Union[StrictFloat, StrictInt], Field(description="Total value of the rooms to be booked, with included taxes")], + rooms_count: Annotated[StrictInt, Field(description="Number of rooms to be booked")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetRoomsFeesAndTaxesResponse: + """getRoomsFeesAndTaxes + + Get applicable fees and tax to a booking. This is meant to be used on checkout to display to the guest. + + :param start_date: Check-in date (required) + :type start_date: date + :param end_date: Check-out date (required) + :type end_date: date + :param rooms_total: Total value of the rooms to be booked, with included taxes (required) + :type rooms_total: float + :param rooms_count: Number of rooms to be booked (required) + :type rooms_count: int + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rooms_fees_and_taxes_get_serialize( + start_date=start_date, + end_date=end_date, + rooms_total=rooms_total, + rooms_count=rooms_count, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoomsFeesAndTaxesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_rooms_fees_and_taxes_get_with_http_info( + self, + start_date: Annotated[date, Field(description="Check-in date")], + end_date: Annotated[date, Field(description="Check-out date")], + rooms_total: Annotated[Union[StrictFloat, StrictInt], Field(description="Total value of the rooms to be booked, with included taxes")], + rooms_count: Annotated[StrictInt, Field(description="Number of rooms to be booked")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetRoomsFeesAndTaxesResponse]: + """getRoomsFeesAndTaxes + + Get applicable fees and tax to a booking. This is meant to be used on checkout to display to the guest. + + :param start_date: Check-in date (required) + :type start_date: date + :param end_date: Check-out date (required) + :type end_date: date + :param rooms_total: Total value of the rooms to be booked, with included taxes (required) + :type rooms_total: float + :param rooms_count: Number of rooms to be booked (required) + :type rooms_count: int + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rooms_fees_and_taxes_get_serialize( + start_date=start_date, + end_date=end_date, + rooms_total=rooms_total, + rooms_count=rooms_count, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoomsFeesAndTaxesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_rooms_fees_and_taxes_get_without_preload_content( + self, + start_date: Annotated[date, Field(description="Check-in date")], + end_date: Annotated[date, Field(description="Check-out date")], + rooms_total: Annotated[Union[StrictFloat, StrictInt], Field(description="Total value of the rooms to be booked, with included taxes")], + rooms_count: Annotated[StrictInt, Field(description="Number of rooms to be booked")], + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getRoomsFeesAndTaxes + + Get applicable fees and tax to a booking. This is meant to be used on checkout to display to the guest. + + :param start_date: Check-in date (required) + :type start_date: date + :param end_date: Check-out date (required) + :type end_date: date + :param rooms_total: Total value of the rooms to be booked, with included taxes (required) + :type rooms_total: float + :param rooms_count: Number of rooms to be booked (required) + :type rooms_count: int + :param property_id: Property ID + :type property_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rooms_fees_and_taxes_get_serialize( + start_date=start_date, + end_date=end_date, + rooms_total=rooms_total, + rooms_count=rooms_count, + property_id=property_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoomsFeesAndTaxesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_rooms_fees_and_taxes_get_serialize( + self, + start_date, + end_date, + rooms_total, + rooms_count, + property_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if start_date is not None: + if isinstance(start_date, date): + _query_params.append( + ( + 'startDate', + start_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('startDate', start_date)) + + if end_date is not None: + if isinstance(end_date, date): + _query_params.append( + ( + 'endDate', + end_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('endDate', end_date)) + + if rooms_total is not None: + + _query_params.append(('roomsTotal', rooms_total)) + + if rooms_count is not None: + + _query_params.append(('roomsCount', rooms_count)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getRoomsFeesAndTaxes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_rooms_get( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="Property ID list, comma-separated, i.e. 37,345,89")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="Room type ID, comma-separated, i.e. 37,345,89")] = None, + room_type_name_short: Annotated[Optional[StrictStr], Field(description="Room Type (short-version)")] = None, + start_date: Annotated[Optional[date], Field(description="Initial stay date. If sent, only returns unassigned rooms in this period. If not sent, will return all rooms available in property. Necessary if endDate is sent.")] = None, + end_date: Annotated[Optional[date], Field(description="Final stay date. Necessary if startDate is sent.")] = None, + include_room_relations: Annotated[Optional[StrictInt], Field(description="Determines whether room relations info should be included in the response")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Page size")] = None, + sort: Annotated[Optional[StrictStr], Field(description="Sorting rules, semicolon-separated. Format: `field[:direction]`, where `direction` is `asc` or `desc`, defaults to `asc` if not provided. Valid fields: `room_position`, `sorting_position`. Examples: - `sort=room_position;sorting_position` - `sort=room_position:asc;sorting_position:desc`")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetRoomsResponse: + """getRooms + + Returns a list of all rooms considering the informed parameters. If Check-in/out dates are sent, only unassigned rooms are returned. ### Group account support + + :param property_ids: Property ID list, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param room_type_id: Room type ID, comma-separated, i.e. 37,345,89 + :type room_type_id: str + :param room_type_name_short: Room Type (short-version) + :type room_type_name_short: str + :param start_date: Initial stay date. If sent, only returns unassigned rooms in this period. If not sent, will return all rooms available in property. Necessary if endDate is sent. + :type start_date: date + :param end_date: Final stay date. Necessary if startDate is sent. + :type end_date: date + :param include_room_relations: Determines whether room relations info should be included in the response + :type include_room_relations: int + :param page_number: Page number + :type page_number: int + :param page_size: Page size + :type page_size: int + :param sort: Sorting rules, semicolon-separated. Format: `field[:direction]`, where `direction` is `asc` or `desc`, defaults to `asc` if not provided. Valid fields: `room_position`, `sorting_position`. Examples: - `sort=room_position;sorting_position` - `sort=room_position:asc;sorting_position:desc` + :type sort: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rooms_get_serialize( + property_ids=property_ids, + room_type_id=room_type_id, + room_type_name_short=room_type_name_short, + start_date=start_date, + end_date=end_date, + include_room_relations=include_room_relations, + page_number=page_number, + page_size=page_size, + sort=sort, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoomsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_rooms_get_with_http_info( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="Property ID list, comma-separated, i.e. 37,345,89")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="Room type ID, comma-separated, i.e. 37,345,89")] = None, + room_type_name_short: Annotated[Optional[StrictStr], Field(description="Room Type (short-version)")] = None, + start_date: Annotated[Optional[date], Field(description="Initial stay date. If sent, only returns unassigned rooms in this period. If not sent, will return all rooms available in property. Necessary if endDate is sent.")] = None, + end_date: Annotated[Optional[date], Field(description="Final stay date. Necessary if startDate is sent.")] = None, + include_room_relations: Annotated[Optional[StrictInt], Field(description="Determines whether room relations info should be included in the response")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Page size")] = None, + sort: Annotated[Optional[StrictStr], Field(description="Sorting rules, semicolon-separated. Format: `field[:direction]`, where `direction` is `asc` or `desc`, defaults to `asc` if not provided. Valid fields: `room_position`, `sorting_position`. Examples: - `sort=room_position;sorting_position` - `sort=room_position:asc;sorting_position:desc`")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetRoomsResponse]: + """getRooms + + Returns a list of all rooms considering the informed parameters. If Check-in/out dates are sent, only unassigned rooms are returned. ### Group account support + + :param property_ids: Property ID list, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param room_type_id: Room type ID, comma-separated, i.e. 37,345,89 + :type room_type_id: str + :param room_type_name_short: Room Type (short-version) + :type room_type_name_short: str + :param start_date: Initial stay date. If sent, only returns unassigned rooms in this period. If not sent, will return all rooms available in property. Necessary if endDate is sent. + :type start_date: date + :param end_date: Final stay date. Necessary if startDate is sent. + :type end_date: date + :param include_room_relations: Determines whether room relations info should be included in the response + :type include_room_relations: int + :param page_number: Page number + :type page_number: int + :param page_size: Page size + :type page_size: int + :param sort: Sorting rules, semicolon-separated. Format: `field[:direction]`, where `direction` is `asc` or `desc`, defaults to `asc` if not provided. Valid fields: `room_position`, `sorting_position`. Examples: - `sort=room_position;sorting_position` - `sort=room_position:asc;sorting_position:desc` + :type sort: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rooms_get_serialize( + property_ids=property_ids, + room_type_id=room_type_id, + room_type_name_short=room_type_name_short, + start_date=start_date, + end_date=end_date, + include_room_relations=include_room_relations, + page_number=page_number, + page_size=page_size, + sort=sort, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoomsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_rooms_get_without_preload_content( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="Property ID list, comma-separated, i.e. 37,345,89")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="Room type ID, comma-separated, i.e. 37,345,89")] = None, + room_type_name_short: Annotated[Optional[StrictStr], Field(description="Room Type (short-version)")] = None, + start_date: Annotated[Optional[date], Field(description="Initial stay date. If sent, only returns unassigned rooms in this period. If not sent, will return all rooms available in property. Necessary if endDate is sent.")] = None, + end_date: Annotated[Optional[date], Field(description="Final stay date. Necessary if startDate is sent.")] = None, + include_room_relations: Annotated[Optional[StrictInt], Field(description="Determines whether room relations info should be included in the response")] = None, + page_number: Annotated[Optional[StrictInt], Field(description="Page number")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Page size")] = None, + sort: Annotated[Optional[StrictStr], Field(description="Sorting rules, semicolon-separated. Format: `field[:direction]`, where `direction` is `asc` or `desc`, defaults to `asc` if not provided. Valid fields: `room_position`, `sorting_position`. Examples: - `sort=room_position;sorting_position` - `sort=room_position:asc;sorting_position:desc`")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getRooms + + Returns a list of all rooms considering the informed parameters. If Check-in/out dates are sent, only unassigned rooms are returned. ### Group account support + + :param property_ids: Property ID list, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param room_type_id: Room type ID, comma-separated, i.e. 37,345,89 + :type room_type_id: str + :param room_type_name_short: Room Type (short-version) + :type room_type_name_short: str + :param start_date: Initial stay date. If sent, only returns unassigned rooms in this period. If not sent, will return all rooms available in property. Necessary if endDate is sent. + :type start_date: date + :param end_date: Final stay date. Necessary if startDate is sent. + :type end_date: date + :param include_room_relations: Determines whether room relations info should be included in the response + :type include_room_relations: int + :param page_number: Page number + :type page_number: int + :param page_size: Page size + :type page_size: int + :param sort: Sorting rules, semicolon-separated. Format: `field[:direction]`, where `direction` is `asc` or `desc`, defaults to `asc` if not provided. Valid fields: `room_position`, `sorting_position`. Examples: - `sort=room_position;sorting_position` - `sort=room_position:asc;sorting_position:desc` + :type sort: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rooms_get_serialize( + property_ids=property_ids, + room_type_id=room_type_id, + room_type_name_short=room_type_name_short, + start_date=start_date, + end_date=end_date, + include_room_relations=include_room_relations, + page_number=page_number, + page_size=page_size, + sort=sort, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoomsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_rooms_get_serialize( + self, + property_ids, + room_type_id, + room_type_name_short, + start_date, + end_date, + include_room_relations, + page_number, + page_size, + sort, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_ids is not None: + + _query_params.append(('propertyIDs', property_ids)) + + if room_type_id is not None: + + _query_params.append(('roomTypeID', room_type_id)) + + if room_type_name_short is not None: + + _query_params.append(('roomTypeNameShort', room_type_name_short)) + + if start_date is not None: + if isinstance(start_date, date): + _query_params.append( + ( + 'startDate', + start_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('startDate', start_date)) + + if end_date is not None: + if isinstance(end_date, date): + _query_params.append( + ( + 'endDate', + end_date.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('endDate', end_date)) + + if include_room_relations is not None: + + _query_params.append(('includeRoomRelations', include_room_relations)) + + if page_number is not None: + + _query_params.append(('pageNumber', page_number)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getRooms', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_rooms_unassigned_get( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetRoomsUnassignedResponse: + """getRoomsUnassigned + + Returns a list of unassigned rooms in the property. Call is alias of [getRooms](#api-Room-getRooms). Please check its documentation for parameters, response and example. ### Group account support + + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rooms_unassigned_get_serialize( + property_ids=property_ids, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoomsUnassignedResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_rooms_unassigned_get_with_http_info( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetRoomsUnassignedResponse]: + """getRoomsUnassigned + + Returns a list of unassigned rooms in the property. Call is alias of [getRooms](#api-Room-getRooms). Please check its documentation for parameters, response and example. ### Group account support + + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rooms_unassigned_get_serialize( + property_ids=property_ids, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoomsUnassignedResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_rooms_unassigned_get_without_preload_content( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="List of property IDs, comma-separated, i.e. 37,345,89")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getRoomsUnassigned + + Returns a list of unassigned rooms in the property. Call is alias of [getRooms](#api-Room-getRooms). Please check its documentation for parameters, response and example. ### Group account support + + :param property_ids: List of property IDs, comma-separated, i.e. 37,345,89 + :type property_ids: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_rooms_unassigned_get_serialize( + property_ids=property_ids, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRoomsUnassignedResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_rooms_unassigned_get_serialize( + self, + property_ids, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_ids is not None: + + _query_params.append(('propertyIDs', property_ids)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getRoomsUnassigned', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_room_assign_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier")] = None, + reservation_room_id: Annotated[Optional[StrictStr], Field(description="Reservation room ID. Must be set if you want to unassign a room.")] = None, + new_room_id: Annotated[Optional[StrictStr], Field(description="Room ID of the room that will be assigned. Empty field must be sent if you want to unassign a room.")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="Room Type ID of the room that will be assigned. Need to be provided in case of assignment.")] = None, + old_room_id: Annotated[Optional[StrictStr], Field(description="Room ID of the room that was assigned. Need to be provided in case of reassignment.")] = None, + override_rates: Annotated[Optional[StrictBool], Field(description="Deprecated. Please use adjustPrice instead. Setting overrideRates=true will have the opposite of the effect that the name implies. It will cause the rates to NOT be overridden, but instead to be recalculated based on the new room assignment.")] = None, + adjust_price: Annotated[Optional[StrictBool], Field(description="If room assignment would result in an upcharge or discount, this parameter needs to be set to true to approve the charges. If not set, the rate will retain its original value.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostRoomAssignResponse: + """postRoomAssign + + Assign/Reassign a room on a guest reservation + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param sub_reservation_id: Sub Reservation identifier + :type sub_reservation_id: str + :param reservation_room_id: Reservation room ID. Must be set if you want to unassign a room. + :type reservation_room_id: str + :param new_room_id: Room ID of the room that will be assigned. Empty field must be sent if you want to unassign a room. + :type new_room_id: str + :param room_type_id: Room Type ID of the room that will be assigned. Need to be provided in case of assignment. + :type room_type_id: str + :param old_room_id: Room ID of the room that was assigned. Need to be provided in case of reassignment. + :type old_room_id: str + :param override_rates: Deprecated. Please use adjustPrice instead. Setting overrideRates=true will have the opposite of the effect that the name implies. It will cause the rates to NOT be overridden, but instead to be recalculated based on the new room assignment. + :type override_rates: bool + :param adjust_price: If room assignment would result in an upcharge or discount, this parameter needs to be set to true to approve the charges. If not set, the rate will retain its original value. + :type adjust_price: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_room_assign_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + sub_reservation_id=sub_reservation_id, + reservation_room_id=reservation_room_id, + new_room_id=new_room_id, + room_type_id=room_type_id, + old_room_id=old_room_id, + override_rates=override_rates, + adjust_price=adjust_price, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostRoomAssignResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_room_assign_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier")] = None, + reservation_room_id: Annotated[Optional[StrictStr], Field(description="Reservation room ID. Must be set if you want to unassign a room.")] = None, + new_room_id: Annotated[Optional[StrictStr], Field(description="Room ID of the room that will be assigned. Empty field must be sent if you want to unassign a room.")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="Room Type ID of the room that will be assigned. Need to be provided in case of assignment.")] = None, + old_room_id: Annotated[Optional[StrictStr], Field(description="Room ID of the room that was assigned. Need to be provided in case of reassignment.")] = None, + override_rates: Annotated[Optional[StrictBool], Field(description="Deprecated. Please use adjustPrice instead. Setting overrideRates=true will have the opposite of the effect that the name implies. It will cause the rates to NOT be overridden, but instead to be recalculated based on the new room assignment.")] = None, + adjust_price: Annotated[Optional[StrictBool], Field(description="If room assignment would result in an upcharge or discount, this parameter needs to be set to true to approve the charges. If not set, the rate will retain its original value.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostRoomAssignResponse]: + """postRoomAssign + + Assign/Reassign a room on a guest reservation + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param sub_reservation_id: Sub Reservation identifier + :type sub_reservation_id: str + :param reservation_room_id: Reservation room ID. Must be set if you want to unassign a room. + :type reservation_room_id: str + :param new_room_id: Room ID of the room that will be assigned. Empty field must be sent if you want to unassign a room. + :type new_room_id: str + :param room_type_id: Room Type ID of the room that will be assigned. Need to be provided in case of assignment. + :type room_type_id: str + :param old_room_id: Room ID of the room that was assigned. Need to be provided in case of reassignment. + :type old_room_id: str + :param override_rates: Deprecated. Please use adjustPrice instead. Setting overrideRates=true will have the opposite of the effect that the name implies. It will cause the rates to NOT be overridden, but instead to be recalculated based on the new room assignment. + :type override_rates: bool + :param adjust_price: If room assignment would result in an upcharge or discount, this parameter needs to be set to true to approve the charges. If not set, the rate will retain its original value. + :type adjust_price: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_room_assign_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + sub_reservation_id=sub_reservation_id, + reservation_room_id=reservation_room_id, + new_room_id=new_room_id, + room_type_id=room_type_id, + old_room_id=old_room_id, + override_rates=override_rates, + adjust_price=adjust_price, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostRoomAssignResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_room_assign_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier")] = None, + reservation_room_id: Annotated[Optional[StrictStr], Field(description="Reservation room ID. Must be set if you want to unassign a room.")] = None, + new_room_id: Annotated[Optional[StrictStr], Field(description="Room ID of the room that will be assigned. Empty field must be sent if you want to unassign a room.")] = None, + room_type_id: Annotated[Optional[StrictStr], Field(description="Room Type ID of the room that will be assigned. Need to be provided in case of assignment.")] = None, + old_room_id: Annotated[Optional[StrictStr], Field(description="Room ID of the room that was assigned. Need to be provided in case of reassignment.")] = None, + override_rates: Annotated[Optional[StrictBool], Field(description="Deprecated. Please use adjustPrice instead. Setting overrideRates=true will have the opposite of the effect that the name implies. It will cause the rates to NOT be overridden, but instead to be recalculated based on the new room assignment.")] = None, + adjust_price: Annotated[Optional[StrictBool], Field(description="If room assignment would result in an upcharge or discount, this parameter needs to be set to true to approve the charges. If not set, the rate will retain its original value.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postRoomAssign + + Assign/Reassign a room on a guest reservation + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param sub_reservation_id: Sub Reservation identifier + :type sub_reservation_id: str + :param reservation_room_id: Reservation room ID. Must be set if you want to unassign a room. + :type reservation_room_id: str + :param new_room_id: Room ID of the room that will be assigned. Empty field must be sent if you want to unassign a room. + :type new_room_id: str + :param room_type_id: Room Type ID of the room that will be assigned. Need to be provided in case of assignment. + :type room_type_id: str + :param old_room_id: Room ID of the room that was assigned. Need to be provided in case of reassignment. + :type old_room_id: str + :param override_rates: Deprecated. Please use adjustPrice instead. Setting overrideRates=true will have the opposite of the effect that the name implies. It will cause the rates to NOT be overridden, but instead to be recalculated based on the new room assignment. + :type override_rates: bool + :param adjust_price: If room assignment would result in an upcharge or discount, this parameter needs to be set to true to approve the charges. If not set, the rate will retain its original value. + :type adjust_price: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_room_assign_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + sub_reservation_id=sub_reservation_id, + reservation_room_id=reservation_room_id, + new_room_id=new_room_id, + room_type_id=room_type_id, + old_room_id=old_room_id, + override_rates=override_rates, + adjust_price=adjust_price, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostRoomAssignResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_room_assign_post_serialize( + self, + property_id, + reservation_id, + sub_reservation_id, + reservation_room_id, + new_room_id, + room_type_id, + old_room_id, + override_rates, + adjust_price, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if sub_reservation_id is not None: + _form_params.append(('subReservationID', sub_reservation_id)) + if reservation_room_id is not None: + _form_params.append(('reservationRoomID', reservation_room_id)) + if new_room_id is not None: + _form_params.append(('newRoomID', new_room_id)) + if room_type_id is not None: + _form_params.append(('roomTypeID', room_type_id)) + if old_room_id is not None: + _form_params.append(('oldRoomID', old_room_id)) + if override_rates is not None: + _form_params.append(('overrideRates', override_rates)) + if adjust_price is not None: + _form_params.append(('adjustPrice', adjust_price)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postRoomAssign', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_room_block_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_block_type: Annotated[Optional[StrictStr], Field(description="Room block type. ‘blocked’ - Room block. ‘out_of_service’ - Out of service block. 'courtesy_hold' - Courtesy hold block.")] = None, + room_block_reason: Annotated[Optional[StrictStr], Field(description="Room block reason")] = None, + start_date: Annotated[Optional[date], Field(description="Room block start date")] = None, + end_date: Annotated[Optional[date], Field(description="Room block end date")] = None, + rooms: Annotated[Optional[List[PostRoomBlockRequestRoomsInner]], Field(description="All rooms for room block. When multiple rooms are submitted they will be created under the same roomBlockID. For properties using split inventory (virtual rooms linked to physical rooms), only provide the source rooms you want to block. Linked rooms will be automatically added. Do not include auto-added linked rooms in the request - the API will reject requests that include both a source room and its linked room(s).")] = None, + first_name: Annotated[Optional[StrictStr], Field(description="First name - for courtesy hold updates")] = None, + last_name: Annotated[Optional[StrictStr], Field(description="Last name - for courtesy hold updates")] = None, + length_of_hold_in_hours: Annotated[Optional[StrictInt], Field(description="Length of hold in hours - for courtesy hold updates")] = None, + email: Annotated[Optional[StrictStr], Field(description="Email address - for courtesy hold updates")] = None, + phone: Annotated[Optional[StrictStr], Field(description="Phone number - for courtesy hold updates")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostRoomBlockResponse: + """postRoomBlock + + Adds a room block to the selected property. + + :param property_id: Property ID + :type property_id: str + :param room_block_type: Room block type. ‘blocked’ - Room block. ‘out_of_service’ - Out of service block. 'courtesy_hold' - Courtesy hold block. + :type room_block_type: str + :param room_block_reason: Room block reason + :type room_block_reason: str + :param start_date: Room block start date + :type start_date: date + :param end_date: Room block end date + :type end_date: date + :param rooms: All rooms for room block. When multiple rooms are submitted they will be created under the same roomBlockID. For properties using split inventory (virtual rooms linked to physical rooms), only provide the source rooms you want to block. Linked rooms will be automatically added. Do not include auto-added linked rooms in the request - the API will reject requests that include both a source room and its linked room(s). + :type rooms: List[PostRoomBlockRequestRoomsInner] + :param first_name: First name - for courtesy hold updates + :type first_name: str + :param last_name: Last name - for courtesy hold updates + :type last_name: str + :param length_of_hold_in_hours: Length of hold in hours - for courtesy hold updates + :type length_of_hold_in_hours: int + :param email: Email address - for courtesy hold updates + :type email: str + :param phone: Phone number - for courtesy hold updates + :type phone: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_room_block_post_serialize( + property_id=property_id, + room_block_type=room_block_type, + room_block_reason=room_block_reason, + start_date=start_date, + end_date=end_date, + rooms=rooms, + first_name=first_name, + last_name=last_name, + length_of_hold_in_hours=length_of_hold_in_hours, + email=email, + phone=phone, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostRoomBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_room_block_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_block_type: Annotated[Optional[StrictStr], Field(description="Room block type. ‘blocked’ - Room block. ‘out_of_service’ - Out of service block. 'courtesy_hold' - Courtesy hold block.")] = None, + room_block_reason: Annotated[Optional[StrictStr], Field(description="Room block reason")] = None, + start_date: Annotated[Optional[date], Field(description="Room block start date")] = None, + end_date: Annotated[Optional[date], Field(description="Room block end date")] = None, + rooms: Annotated[Optional[List[PostRoomBlockRequestRoomsInner]], Field(description="All rooms for room block. When multiple rooms are submitted they will be created under the same roomBlockID. For properties using split inventory (virtual rooms linked to physical rooms), only provide the source rooms you want to block. Linked rooms will be automatically added. Do not include auto-added linked rooms in the request - the API will reject requests that include both a source room and its linked room(s).")] = None, + first_name: Annotated[Optional[StrictStr], Field(description="First name - for courtesy hold updates")] = None, + last_name: Annotated[Optional[StrictStr], Field(description="Last name - for courtesy hold updates")] = None, + length_of_hold_in_hours: Annotated[Optional[StrictInt], Field(description="Length of hold in hours - for courtesy hold updates")] = None, + email: Annotated[Optional[StrictStr], Field(description="Email address - for courtesy hold updates")] = None, + phone: Annotated[Optional[StrictStr], Field(description="Phone number - for courtesy hold updates")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostRoomBlockResponse]: + """postRoomBlock + + Adds a room block to the selected property. + + :param property_id: Property ID + :type property_id: str + :param room_block_type: Room block type. ‘blocked’ - Room block. ‘out_of_service’ - Out of service block. 'courtesy_hold' - Courtesy hold block. + :type room_block_type: str + :param room_block_reason: Room block reason + :type room_block_reason: str + :param start_date: Room block start date + :type start_date: date + :param end_date: Room block end date + :type end_date: date + :param rooms: All rooms for room block. When multiple rooms are submitted they will be created under the same roomBlockID. For properties using split inventory (virtual rooms linked to physical rooms), only provide the source rooms you want to block. Linked rooms will be automatically added. Do not include auto-added linked rooms in the request - the API will reject requests that include both a source room and its linked room(s). + :type rooms: List[PostRoomBlockRequestRoomsInner] + :param first_name: First name - for courtesy hold updates + :type first_name: str + :param last_name: Last name - for courtesy hold updates + :type last_name: str + :param length_of_hold_in_hours: Length of hold in hours - for courtesy hold updates + :type length_of_hold_in_hours: int + :param email: Email address - for courtesy hold updates + :type email: str + :param phone: Phone number - for courtesy hold updates + :type phone: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_room_block_post_serialize( + property_id=property_id, + room_block_type=room_block_type, + room_block_reason=room_block_reason, + start_date=start_date, + end_date=end_date, + rooms=rooms, + first_name=first_name, + last_name=last_name, + length_of_hold_in_hours=length_of_hold_in_hours, + email=email, + phone=phone, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostRoomBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_room_block_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_block_type: Annotated[Optional[StrictStr], Field(description="Room block type. ‘blocked’ - Room block. ‘out_of_service’ - Out of service block. 'courtesy_hold' - Courtesy hold block.")] = None, + room_block_reason: Annotated[Optional[StrictStr], Field(description="Room block reason")] = None, + start_date: Annotated[Optional[date], Field(description="Room block start date")] = None, + end_date: Annotated[Optional[date], Field(description="Room block end date")] = None, + rooms: Annotated[Optional[List[PostRoomBlockRequestRoomsInner]], Field(description="All rooms for room block. When multiple rooms are submitted they will be created under the same roomBlockID. For properties using split inventory (virtual rooms linked to physical rooms), only provide the source rooms you want to block. Linked rooms will be automatically added. Do not include auto-added linked rooms in the request - the API will reject requests that include both a source room and its linked room(s).")] = None, + first_name: Annotated[Optional[StrictStr], Field(description="First name - for courtesy hold updates")] = None, + last_name: Annotated[Optional[StrictStr], Field(description="Last name - for courtesy hold updates")] = None, + length_of_hold_in_hours: Annotated[Optional[StrictInt], Field(description="Length of hold in hours - for courtesy hold updates")] = None, + email: Annotated[Optional[StrictStr], Field(description="Email address - for courtesy hold updates")] = None, + phone: Annotated[Optional[StrictStr], Field(description="Phone number - for courtesy hold updates")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postRoomBlock + + Adds a room block to the selected property. + + :param property_id: Property ID + :type property_id: str + :param room_block_type: Room block type. ‘blocked’ - Room block. ‘out_of_service’ - Out of service block. 'courtesy_hold' - Courtesy hold block. + :type room_block_type: str + :param room_block_reason: Room block reason + :type room_block_reason: str + :param start_date: Room block start date + :type start_date: date + :param end_date: Room block end date + :type end_date: date + :param rooms: All rooms for room block. When multiple rooms are submitted they will be created under the same roomBlockID. For properties using split inventory (virtual rooms linked to physical rooms), only provide the source rooms you want to block. Linked rooms will be automatically added. Do not include auto-added linked rooms in the request - the API will reject requests that include both a source room and its linked room(s). + :type rooms: List[PostRoomBlockRequestRoomsInner] + :param first_name: First name - for courtesy hold updates + :type first_name: str + :param last_name: Last name - for courtesy hold updates + :type last_name: str + :param length_of_hold_in_hours: Length of hold in hours - for courtesy hold updates + :type length_of_hold_in_hours: int + :param email: Email address - for courtesy hold updates + :type email: str + :param phone: Phone number - for courtesy hold updates + :type phone: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_room_block_post_serialize( + property_id=property_id, + room_block_type=room_block_type, + room_block_reason=room_block_reason, + start_date=start_date, + end_date=end_date, + rooms=rooms, + first_name=first_name, + last_name=last_name, + length_of_hold_in_hours=length_of_hold_in_hours, + email=email, + phone=phone, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostRoomBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_room_block_post_serialize( + self, + property_id, + room_block_type, + room_block_reason, + start_date, + end_date, + rooms, + first_name, + last_name, + length_of_hold_in_hours, + email, + phone, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'rooms': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if room_block_type is not None: + _form_params.append(('roomBlockType', room_block_type)) + if room_block_reason is not None: + _form_params.append(('roomBlockReason', room_block_reason)) + if start_date is not None: + _form_params.append(('startDate', start_date)) + if end_date is not None: + _form_params.append(('endDate', end_date)) + if rooms is not None: + _form_params.append(('rooms', rooms)) + if first_name is not None: + _form_params.append(('firstName', first_name)) + if last_name is not None: + _form_params.append(('lastName', last_name)) + if length_of_hold_in_hours is not None: + _form_params.append(('lengthOfHoldInHours', length_of_hold_in_hours)) + if email is not None: + _form_params.append(('email', email)) + if phone is not None: + _form_params.append(('phone', phone)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postRoomBlock', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_room_check_in_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier, allows for granular control over what room is being checked-in. If sent, roomID is ignored.")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room ID of the room that will be checked-in.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostRoomCheckInResponse: + """postRoomCheckIn + + Check-in a room already assigned for a guest + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param sub_reservation_id: Sub Reservation identifier, allows for granular control over what room is being checked-in. If sent, roomID is ignored. + :type sub_reservation_id: str + :param room_id: Room ID of the room that will be checked-in. + :type room_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_room_check_in_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + sub_reservation_id=sub_reservation_id, + room_id=room_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostRoomCheckInResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_room_check_in_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier, allows for granular control over what room is being checked-in. If sent, roomID is ignored.")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room ID of the room that will be checked-in.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostRoomCheckInResponse]: + """postRoomCheckIn + + Check-in a room already assigned for a guest + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param sub_reservation_id: Sub Reservation identifier, allows for granular control over what room is being checked-in. If sent, roomID is ignored. + :type sub_reservation_id: str + :param room_id: Room ID of the room that will be checked-in. + :type room_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_room_check_in_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + sub_reservation_id=sub_reservation_id, + room_id=room_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostRoomCheckInResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_room_check_in_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier, allows for granular control over what room is being checked-in. If sent, roomID is ignored.")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room ID of the room that will be checked-in.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postRoomCheckIn + + Check-in a room already assigned for a guest + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param sub_reservation_id: Sub Reservation identifier, allows for granular control over what room is being checked-in. If sent, roomID is ignored. + :type sub_reservation_id: str + :param room_id: Room ID of the room that will be checked-in. + :type room_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_room_check_in_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + sub_reservation_id=sub_reservation_id, + room_id=room_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostRoomCheckInResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_room_check_in_post_serialize( + self, + property_id, + reservation_id, + sub_reservation_id, + room_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if sub_reservation_id is not None: + _form_params.append(('subReservationID', sub_reservation_id)) + if room_id is not None: + _form_params.append(('roomID', room_id)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postRoomCheckIn', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def post_room_check_out_post( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier, allows for granular control over what room is being checked out. If sent, roomID is ignored.")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room ID of the room that will be checked out.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PostRoomCheckOutResponse: + """postRoomCheckOut + + Check-out a room already assigned for a guest. If all rooms are checked out, the reservation status will update accordingly to \"Checked Out\" as well. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param sub_reservation_id: Sub Reservation identifier, allows for granular control over what room is being checked out. If sent, roomID is ignored. + :type sub_reservation_id: str + :param room_id: Room ID of the room that will be checked out. + :type room_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_room_check_out_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + sub_reservation_id=sub_reservation_id, + room_id=room_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostRoomCheckOutResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_room_check_out_post_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier, allows for granular control over what room is being checked out. If sent, roomID is ignored.")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room ID of the room that will be checked out.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PostRoomCheckOutResponse]: + """postRoomCheckOut + + Check-out a room already assigned for a guest. If all rooms are checked out, the reservation status will update accordingly to \"Checked Out\" as well. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param sub_reservation_id: Sub Reservation identifier, allows for granular control over what room is being checked out. If sent, roomID is ignored. + :type sub_reservation_id: str + :param room_id: Room ID of the room that will be checked out. + :type room_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_room_check_out_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + sub_reservation_id=sub_reservation_id, + room_id=room_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostRoomCheckOutResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_room_check_out_post_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + reservation_id: Annotated[Optional[StrictStr], Field(description="Reservation identifier")] = None, + sub_reservation_id: Annotated[Optional[StrictStr], Field(description="Sub Reservation identifier, allows for granular control over what room is being checked out. If sent, roomID is ignored.")] = None, + room_id: Annotated[Optional[StrictStr], Field(description="Room ID of the room that will be checked out.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """postRoomCheckOut + + Check-out a room already assigned for a guest. If all rooms are checked out, the reservation status will update accordingly to \"Checked Out\" as well. + + :param property_id: Property ID + :type property_id: str + :param reservation_id: Reservation identifier + :type reservation_id: str + :param sub_reservation_id: Sub Reservation identifier, allows for granular control over what room is being checked out. If sent, roomID is ignored. + :type sub_reservation_id: str + :param room_id: Room ID of the room that will be checked out. + :type room_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_room_check_out_post_serialize( + property_id=property_id, + reservation_id=reservation_id, + sub_reservation_id=sub_reservation_id, + room_id=room_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PostRoomCheckOutResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_room_check_out_post_serialize( + self, + property_id, + reservation_id, + sub_reservation_id, + room_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if reservation_id is not None: + _form_params.append(('reservationID', reservation_id)) + if sub_reservation_id is not None: + _form_params.append(('subReservationID', sub_reservation_id)) + if room_id is not None: + _form_params.append(('roomID', room_id)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/postRoomCheckOut', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def put_room_block_put( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_block_id: Annotated[Optional[StrictStr], Field(description="Room block ID")] = None, + room_block_reason: Annotated[Optional[StrictStr], Field(description="Room block reason")] = None, + start_date: Annotated[Optional[date], Field(description="Room block start date")] = None, + end_date: Annotated[Optional[date], Field(description="Room block end date")] = None, + rooms: Annotated[Optional[List[PutRoomBlockRequestRoomsInner]], Field(description="All rooms for room block. When multiple rooms are submitted they will be created under the same roomBlockID. For properties using split inventory (virtual rooms linked to physical rooms), only provide the source rooms you want to block. Linked rooms will be automatically added. Do not include auto-added linked rooms in the request - the API will reject requests that include both a source room and its linked room(s). Auto-added rooms cannot be individually swapped out; to remove an auto-added room, you must remove or swap its source room.")] = None, + first_name: Annotated[Optional[StrictStr], Field(description="First name - for courtesy hold updates")] = None, + last_name: Annotated[Optional[StrictStr], Field(description="Last name - for courtesy hold updates")] = None, + length_of_hold_in_hours: Annotated[Optional[StrictInt], Field(description="Length of hold in hours - for courtesy hold updates")] = None, + email: Annotated[Optional[StrictStr], Field(description="Email address - for courtesy hold updates")] = None, + phone: Annotated[Optional[StrictStr], Field(description="Phone number - for courtesy hold updates")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PutRoomBlockResponse: + """putRoomBlock + + Updates a room block. + + :param property_id: Property ID + :type property_id: str + :param room_block_id: Room block ID + :type room_block_id: str + :param room_block_reason: Room block reason + :type room_block_reason: str + :param start_date: Room block start date + :type start_date: date + :param end_date: Room block end date + :type end_date: date + :param rooms: All rooms for room block. When multiple rooms are submitted they will be created under the same roomBlockID. For properties using split inventory (virtual rooms linked to physical rooms), only provide the source rooms you want to block. Linked rooms will be automatically added. Do not include auto-added linked rooms in the request - the API will reject requests that include both a source room and its linked room(s). Auto-added rooms cannot be individually swapped out; to remove an auto-added room, you must remove or swap its source room. + :type rooms: List[PutRoomBlockRequestRoomsInner] + :param first_name: First name - for courtesy hold updates + :type first_name: str + :param last_name: Last name - for courtesy hold updates + :type last_name: str + :param length_of_hold_in_hours: Length of hold in hours - for courtesy hold updates + :type length_of_hold_in_hours: int + :param email: Email address - for courtesy hold updates + :type email: str + :param phone: Phone number - for courtesy hold updates + :type phone: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_room_block_put_serialize( + property_id=property_id, + room_block_id=room_block_id, + room_block_reason=room_block_reason, + start_date=start_date, + end_date=end_date, + rooms=rooms, + first_name=first_name, + last_name=last_name, + length_of_hold_in_hours=length_of_hold_in_hours, + email=email, + phone=phone, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutRoomBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def put_room_block_put_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_block_id: Annotated[Optional[StrictStr], Field(description="Room block ID")] = None, + room_block_reason: Annotated[Optional[StrictStr], Field(description="Room block reason")] = None, + start_date: Annotated[Optional[date], Field(description="Room block start date")] = None, + end_date: Annotated[Optional[date], Field(description="Room block end date")] = None, + rooms: Annotated[Optional[List[PutRoomBlockRequestRoomsInner]], Field(description="All rooms for room block. When multiple rooms are submitted they will be created under the same roomBlockID. For properties using split inventory (virtual rooms linked to physical rooms), only provide the source rooms you want to block. Linked rooms will be automatically added. Do not include auto-added linked rooms in the request - the API will reject requests that include both a source room and its linked room(s). Auto-added rooms cannot be individually swapped out; to remove an auto-added room, you must remove or swap its source room.")] = None, + first_name: Annotated[Optional[StrictStr], Field(description="First name - for courtesy hold updates")] = None, + last_name: Annotated[Optional[StrictStr], Field(description="Last name - for courtesy hold updates")] = None, + length_of_hold_in_hours: Annotated[Optional[StrictInt], Field(description="Length of hold in hours - for courtesy hold updates")] = None, + email: Annotated[Optional[StrictStr], Field(description="Email address - for courtesy hold updates")] = None, + phone: Annotated[Optional[StrictStr], Field(description="Phone number - for courtesy hold updates")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PutRoomBlockResponse]: + """putRoomBlock + + Updates a room block. + + :param property_id: Property ID + :type property_id: str + :param room_block_id: Room block ID + :type room_block_id: str + :param room_block_reason: Room block reason + :type room_block_reason: str + :param start_date: Room block start date + :type start_date: date + :param end_date: Room block end date + :type end_date: date + :param rooms: All rooms for room block. When multiple rooms are submitted they will be created under the same roomBlockID. For properties using split inventory (virtual rooms linked to physical rooms), only provide the source rooms you want to block. Linked rooms will be automatically added. Do not include auto-added linked rooms in the request - the API will reject requests that include both a source room and its linked room(s). Auto-added rooms cannot be individually swapped out; to remove an auto-added room, you must remove or swap its source room. + :type rooms: List[PutRoomBlockRequestRoomsInner] + :param first_name: First name - for courtesy hold updates + :type first_name: str + :param last_name: Last name - for courtesy hold updates + :type last_name: str + :param length_of_hold_in_hours: Length of hold in hours - for courtesy hold updates + :type length_of_hold_in_hours: int + :param email: Email address - for courtesy hold updates + :type email: str + :param phone: Phone number - for courtesy hold updates + :type phone: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_room_block_put_serialize( + property_id=property_id, + room_block_id=room_block_id, + room_block_reason=room_block_reason, + start_date=start_date, + end_date=end_date, + rooms=rooms, + first_name=first_name, + last_name=last_name, + length_of_hold_in_hours=length_of_hold_in_hours, + email=email, + phone=phone, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutRoomBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def put_room_block_put_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + room_block_id: Annotated[Optional[StrictStr], Field(description="Room block ID")] = None, + room_block_reason: Annotated[Optional[StrictStr], Field(description="Room block reason")] = None, + start_date: Annotated[Optional[date], Field(description="Room block start date")] = None, + end_date: Annotated[Optional[date], Field(description="Room block end date")] = None, + rooms: Annotated[Optional[List[PutRoomBlockRequestRoomsInner]], Field(description="All rooms for room block. When multiple rooms are submitted they will be created under the same roomBlockID. For properties using split inventory (virtual rooms linked to physical rooms), only provide the source rooms you want to block. Linked rooms will be automatically added. Do not include auto-added linked rooms in the request - the API will reject requests that include both a source room and its linked room(s). Auto-added rooms cannot be individually swapped out; to remove an auto-added room, you must remove or swap its source room.")] = None, + first_name: Annotated[Optional[StrictStr], Field(description="First name - for courtesy hold updates")] = None, + last_name: Annotated[Optional[StrictStr], Field(description="Last name - for courtesy hold updates")] = None, + length_of_hold_in_hours: Annotated[Optional[StrictInt], Field(description="Length of hold in hours - for courtesy hold updates")] = None, + email: Annotated[Optional[StrictStr], Field(description="Email address - for courtesy hold updates")] = None, + phone: Annotated[Optional[StrictStr], Field(description="Phone number - for courtesy hold updates")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """putRoomBlock + + Updates a room block. + + :param property_id: Property ID + :type property_id: str + :param room_block_id: Room block ID + :type room_block_id: str + :param room_block_reason: Room block reason + :type room_block_reason: str + :param start_date: Room block start date + :type start_date: date + :param end_date: Room block end date + :type end_date: date + :param rooms: All rooms for room block. When multiple rooms are submitted they will be created under the same roomBlockID. For properties using split inventory (virtual rooms linked to physical rooms), only provide the source rooms you want to block. Linked rooms will be automatically added. Do not include auto-added linked rooms in the request - the API will reject requests that include both a source room and its linked room(s). Auto-added rooms cannot be individually swapped out; to remove an auto-added room, you must remove or swap its source room. + :type rooms: List[PutRoomBlockRequestRoomsInner] + :param first_name: First name - for courtesy hold updates + :type first_name: str + :param last_name: Last name - for courtesy hold updates + :type last_name: str + :param length_of_hold_in_hours: Length of hold in hours - for courtesy hold updates + :type length_of_hold_in_hours: int + :param email: Email address - for courtesy hold updates + :type email: str + :param phone: Phone number - for courtesy hold updates + :type phone: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_room_block_put_serialize( + property_id=property_id, + room_block_id=room_block_id, + room_block_reason=room_block_reason, + start_date=start_date, + end_date=end_date, + rooms=rooms, + first_name=first_name, + last_name=last_name, + length_of_hold_in_hours=length_of_hold_in_hours, + email=email, + phone=phone, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PutRoomBlockResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _put_room_block_put_serialize( + self, + property_id, + room_block_id, + room_block_reason, + start_date, + end_date, + rooms, + first_name, + last_name, + length_of_hold_in_hours, + email, + phone, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'rooms': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if property_id is not None: + _form_params.append(('propertyID', property_id)) + if room_block_id is not None: + _form_params.append(('roomBlockID', room_block_id)) + if room_block_reason is not None: + _form_params.append(('roomBlockReason', room_block_reason)) + if start_date is not None: + _form_params.append(('startDate', start_date)) + if end_date is not None: + _form_params.append(('endDate', end_date)) + if rooms is not None: + _form_params.append(('rooms', rooms)) + if first_name is not None: + _form_params.append(('firstName', first_name)) + if last_name is not None: + _form_params.append(('lastName', last_name)) + if length_of_hold_in_hours is not None: + _form_params.append(('lengthOfHoldInHours', length_of_hold_in_hours)) + if email is not None: + _form_params.append(('email', email)) + if phone is not None: + _form_params.append(('phone', phone)) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/putRoomBlock', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/taxes_and_fees_api.py b/cloudbeds_pms_v1_3/api/taxes_and_fees_api.py new file mode 100644 index 0000000..dddbcf4 --- /dev/null +++ b/cloudbeds_pms_v1_3/api/taxes_and_fees_api.py @@ -0,0 +1,354 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr +from typing import Optional +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response import GetTaxesAndFeesResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class TaxesAndFeesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_taxes_and_fees_get( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + include_deleted: Annotated[Optional[StrictBool], Field(description="If the response should include deleted taxes and fees")] = None, + include_expired: Annotated[Optional[StrictBool], Field(description="If the response should include expired taxes and fees")] = None, + include_custom_item_taxes: Annotated[Optional[StrictBool], Field(description="If the response should include custom item taxes")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetTaxesAndFeesResponse: + """getTaxesAndFees + + Returns the taxes and fees set for the property. Read the [Rate-Based tax (Dynamic Tax) guide](https://myfrontdesk.cloudbeds.com/hc/en-us/articles/360014103514-rate-based-tax-dynamic-tax) to understand its usage. + + :param property_id: Property ID + :type property_id: str + :param include_deleted: If the response should include deleted taxes and fees + :type include_deleted: bool + :param include_expired: If the response should include expired taxes and fees + :type include_expired: bool + :param include_custom_item_taxes: If the response should include custom item taxes + :type include_custom_item_taxes: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_taxes_and_fees_get_serialize( + property_id=property_id, + include_deleted=include_deleted, + include_expired=include_expired, + include_custom_item_taxes=include_custom_item_taxes, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetTaxesAndFeesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_taxes_and_fees_get_with_http_info( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + include_deleted: Annotated[Optional[StrictBool], Field(description="If the response should include deleted taxes and fees")] = None, + include_expired: Annotated[Optional[StrictBool], Field(description="If the response should include expired taxes and fees")] = None, + include_custom_item_taxes: Annotated[Optional[StrictBool], Field(description="If the response should include custom item taxes")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetTaxesAndFeesResponse]: + """getTaxesAndFees + + Returns the taxes and fees set for the property. Read the [Rate-Based tax (Dynamic Tax) guide](https://myfrontdesk.cloudbeds.com/hc/en-us/articles/360014103514-rate-based-tax-dynamic-tax) to understand its usage. + + :param property_id: Property ID + :type property_id: str + :param include_deleted: If the response should include deleted taxes and fees + :type include_deleted: bool + :param include_expired: If the response should include expired taxes and fees + :type include_expired: bool + :param include_custom_item_taxes: If the response should include custom item taxes + :type include_custom_item_taxes: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_taxes_and_fees_get_serialize( + property_id=property_id, + include_deleted=include_deleted, + include_expired=include_expired, + include_custom_item_taxes=include_custom_item_taxes, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetTaxesAndFeesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_taxes_and_fees_get_without_preload_content( + self, + property_id: Annotated[Optional[StrictStr], Field(description="Property ID")] = None, + include_deleted: Annotated[Optional[StrictBool], Field(description="If the response should include deleted taxes and fees")] = None, + include_expired: Annotated[Optional[StrictBool], Field(description="If the response should include expired taxes and fees")] = None, + include_custom_item_taxes: Annotated[Optional[StrictBool], Field(description="If the response should include custom item taxes")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getTaxesAndFees + + Returns the taxes and fees set for the property. Read the [Rate-Based tax (Dynamic Tax) guide](https://myfrontdesk.cloudbeds.com/hc/en-us/articles/360014103514-rate-based-tax-dynamic-tax) to understand its usage. + + :param property_id: Property ID + :type property_id: str + :param include_deleted: If the response should include deleted taxes and fees + :type include_deleted: bool + :param include_expired: If the response should include expired taxes and fees + :type include_expired: bool + :param include_custom_item_taxes: If the response should include custom item taxes + :type include_custom_item_taxes: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_taxes_and_fees_get_serialize( + property_id=property_id, + include_deleted=include_deleted, + include_expired=include_expired, + include_custom_item_taxes=include_custom_item_taxes, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetTaxesAndFeesResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_taxes_and_fees_get_serialize( + self, + property_id, + include_deleted, + include_expired, + include_custom_item_taxes, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_id is not None: + + _query_params.append(('propertyID', property_id)) + + if include_deleted is not None: + + _query_params.append(('includeDeleted', include_deleted)) + + if include_expired is not None: + + _query_params.append(('includeExpired', include_expired)) + + if include_custom_item_taxes is not None: + + _query_params.append(('includeCustomItemTaxes', include_custom_item_taxes)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getTaxesAndFees', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api/user_api.py b/cloudbeds_pms_v1_3/api/user_api.py new file mode 100644 index 0000000..5530540 --- /dev/null +++ b/cloudbeds_pms_v1_3/api/user_api.py @@ -0,0 +1,303 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from cloudbeds_pms_v1_3.models.get_users_response import GetUsersResponse + +from cloudbeds_pms_v1_3.api_client import ApiClient, RequestSerialized +from cloudbeds_pms_v1_3.api_response import ApiResponse +from cloudbeds_pms_v1_3.rest import RESTResponseType + + +class UserApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def get_users_get( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="Property numeric identifiers (comma-separated, i.e. 37,345,89)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetUsersResponse: + """getUsers + + Returns information on the properties' users ### Group account support + + :param property_ids: Property numeric identifiers (comma-separated, i.e. 37,345,89) + :type property_ids: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_users_get_serialize( + property_ids=property_ids, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUsersResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_users_get_with_http_info( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="Property numeric identifiers (comma-separated, i.e. 37,345,89)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetUsersResponse]: + """getUsers + + Returns information on the properties' users ### Group account support + + :param property_ids: Property numeric identifiers (comma-separated, i.e. 37,345,89) + :type property_ids: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_users_get_serialize( + property_ids=property_ids, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUsersResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_users_get_without_preload_content( + self, + property_ids: Annotated[Optional[StrictStr], Field(description="Property numeric identifiers (comma-separated, i.e. 37,345,89)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """getUsers + + Returns information on the properties' users ### Group account support + + :param property_ids: Property numeric identifiers (comma-separated, i.e. 37,345,89) + :type property_ids: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_users_get_serialize( + property_ids=property_ids, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUsersResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_users_get_serialize( + self, + property_ids, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if property_ids is not None: + + _query_params.append(('property_ids', property_ids)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'api_key' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/getUsers', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cloudbeds_pms_v1_3/api_client.py b/cloudbeds_pms_v1_3/api_client.py new file mode 100644 index 0000000..72de59e --- /dev/null +++ b/cloudbeds_pms_v1_3/api_client.py @@ -0,0 +1,797 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import datetime +from dateutil.parser import parse +from enum import Enum +import decimal +import json +import mimetypes +import os +import re +import tempfile + +from urllib.parse import quote +from typing import Tuple, Optional, List, Dict, Union +from pydantic import SecretStr + +from cloudbeds_pms_v1_3.configuration import Configuration +from cloudbeds_pms_v1_3.api_response import ApiResponse, T as ApiResponseT +import cloudbeds_pms_v1_3.models +from cloudbeds_pms_v1_3 import rest +from cloudbeds_pms_v1_3.exceptions import ( + ApiValueError, + ApiException, + BadRequestException, + UnauthorizedException, + ForbiddenException, + NotFoundException, + ServiceException +) + +RequestSerialized = Tuple[str, str, Dict[str, str], Optional[str], List[str]] + +class ApiClient: + """Generic API client for OpenAPI client library builds. + + OpenAPI generic API client. This client handles the client- + server communication, and is invariant across implementations. Specifics of + the methods and models for each application are generated from the OpenAPI + templates. + + :param configuration: .Configuration object for this client + :param header_name: a header to pass when making calls to the API. + :param header_value: a header value to pass when making calls to + the API. + :param cookie: a cookie to include in the header when making calls + to the API + """ + + PRIMITIVE_TYPES = (float, bool, bytes, str, int) + NATIVE_TYPES_MAPPING = { + 'int': int, + 'long': int, # TODO remove as only py3 is supported? + 'float': float, + 'str': str, + 'bool': bool, + 'date': datetime.date, + 'datetime': datetime.datetime, + 'decimal': decimal.Decimal, + 'object': object, + } + _pool = None + + def __init__( + self, + configuration=None, + header_name=None, + header_value=None, + cookie=None + ) -> None: + # use default configuration if none is provided + if configuration is None: + configuration = Configuration.get_default() + self.configuration = configuration + + self.rest_client = rest.RESTClientObject(configuration) + self.default_headers = {} + if header_name is not None: + self.default_headers[header_name] = header_value + self.cookie = cookie + # Set default User-Agent. + self.user_agent = 'OpenAPI-Generator/1.13.0/python' + self.client_side_validation = configuration.client_side_validation + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, traceback): + pass + + @property + def user_agent(self): + """User agent for this API client""" + return self.default_headers['User-Agent'] + + @user_agent.setter + def user_agent(self, value): + self.default_headers['User-Agent'] = value + + def set_default_header(self, header_name, header_value): + self.default_headers[header_name] = header_value + + + _default = None + + @classmethod + def get_default(cls): + """Return new instance of ApiClient. + + This method returns newly created, based on default constructor, + object of ApiClient class or returns a copy of default + ApiClient. + + :return: The ApiClient object. + """ + if cls._default is None: + cls._default = ApiClient() + return cls._default + + @classmethod + def set_default(cls, default): + """Set default instance of ApiClient. + + It stores default ApiClient. + + :param default: object of ApiClient. + """ + cls._default = default + + def param_serialize( + self, + method, + resource_path, + path_params=None, + query_params=None, + header_params=None, + body=None, + post_params=None, + files=None, auth_settings=None, + collection_formats=None, + _host=None, + _request_auth=None + ) -> RequestSerialized: + + """Builds the HTTP request params needed by the request. + :param method: Method to call. + :param resource_path: Path to method endpoint. + :param path_params: Path parameters in the url. + :param query_params: Query parameters in the url. + :param header_params: Header parameters to be + placed in the request header. + :param body: Request body. + :param post_params dict: Request post form parameters, + for `application/x-www-form-urlencoded`, `multipart/form-data`. + :param auth_settings list: Auth Settings names for the request. + :param files dict: key -> filename, value -> filepath, + for `multipart/form-data`. + :param collection_formats: dict of collection formats for path, query, + header, and post parameters. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :return: tuple of form (path, http_method, query_params, header_params, + body, post_params, files) + """ + + config = self.configuration + + # header parameters + header_params = header_params or {} + header_params.update(self.default_headers) + if self.cookie: + header_params['Cookie'] = self.cookie + if header_params: + header_params = self.sanitize_for_serialization(header_params) + header_params = dict( + self.parameters_to_tuples(header_params,collection_formats) + ) + + # path parameters + if path_params: + path_params = self.sanitize_for_serialization(path_params) + path_params = self.parameters_to_tuples( + path_params, + collection_formats + ) + for k, v in path_params: + # specified safe chars, encode everything + resource_path = resource_path.replace( + '{%s}' % k, + quote(str(v), safe=config.safe_chars_for_path_param) + ) + + # post parameters + if post_params or files: + post_params = post_params if post_params else [] + post_params = self.sanitize_for_serialization(post_params) + post_params = self.parameters_to_tuples( + post_params, + collection_formats + ) + if files: + post_params.extend(self.files_parameters(files)) + + # auth setting + self.update_params_for_auth( + header_params, + query_params, + auth_settings, + resource_path, + method, + body, + request_auth=_request_auth + ) + + # body + if body: + body = self.sanitize_for_serialization(body) + + # request url + if _host is None or self.configuration.ignore_operation_servers: + url = self.configuration.host + resource_path + else: + # use server/host defined in path or operation instead + url = _host + resource_path + + # query parameters + if query_params: + query_params = self.sanitize_for_serialization(query_params) + url_query = self.parameters_to_url_query( + query_params, + collection_formats + ) + url += "?" + url_query + + return method, url, header_params, body, post_params + + + def call_api( + self, + method, + url, + header_params=None, + body=None, + post_params=None, + _request_timeout=None + ) -> rest.RESTResponse: + """Makes the HTTP request (synchronous) + :param method: Method to call. + :param url: Path to method endpoint. + :param header_params: Header parameters to be + placed in the request header. + :param body: Request body. + :param post_params dict: Request post form parameters, + for `application/x-www-form-urlencoded`, `multipart/form-data`. + :param _request_timeout: timeout setting for this request. + :return: RESTResponse + """ + + try: + # perform request and return response + response_data = self.rest_client.request( + method, url, + headers=header_params, + body=body, post_params=post_params, + _request_timeout=_request_timeout + ) + + except ApiException as e: + raise e + + return response_data + + def response_deserialize( + self, + response_data: rest.RESTResponse, + response_types_map: Optional[Dict[str, ApiResponseT]]=None + ) -> ApiResponse[ApiResponseT]: + """Deserializes response into an object. + :param response_data: RESTResponse object to be deserialized. + :param response_types_map: dict of response types. + :return: ApiResponse + """ + + msg = "RESTResponse.read() must be called before passing it to response_deserialize()" + assert response_data.data is not None, msg + + response_type = response_types_map.get(str(response_data.status), None) + if not response_type and isinstance(response_data.status, int) and 100 <= response_data.status <= 599: + # if not found, look for '1XX', '2XX', etc. + response_type = response_types_map.get(str(response_data.status)[0] + "XX", None) + + # deserialize response data + response_text = None + return_data = None + try: + if response_type == "bytearray": + return_data = response_data.data + elif response_type == "file": + return_data = self.__deserialize_file(response_data) + elif response_type is not None: + match = None + content_type = response_data.getheader('content-type') + if content_type is not None: + match = re.search(r"charset=([a-zA-Z\-\d]+)[\s;]?", content_type) + encoding = match.group(1) if match else "utf-8" + response_text = response_data.data.decode(encoding) + return_data = self.deserialize(response_text, response_type, content_type) + finally: + if not 200 <= response_data.status <= 299: + raise ApiException.from_response( + http_resp=response_data, + body=response_text, + data=return_data, + ) + + return ApiResponse( + status_code = response_data.status, + data = return_data, + headers = response_data.getheaders(), + raw_data = response_data.data + ) + + def sanitize_for_serialization(self, obj): + """Builds a JSON POST object. + + If obj is None, return None. + If obj is SecretStr, return obj.get_secret_value() + If obj is str, int, long, float, bool, return directly. + If obj is datetime.datetime, datetime.date + convert to string in iso8601 format. + If obj is decimal.Decimal return string representation. + If obj is list, sanitize each element in the list. + If obj is dict, return the dict. + If obj is OpenAPI model, return the properties dict. + + :param obj: The data to serialize. + :return: The serialized form of data. + """ + if obj is None: + return None + elif isinstance(obj, Enum): + return obj.value + elif isinstance(obj, SecretStr): + return obj.get_secret_value() + elif isinstance(obj, self.PRIMITIVE_TYPES): + return obj + elif isinstance(obj, list): + return [ + self.sanitize_for_serialization(sub_obj) for sub_obj in obj + ] + elif isinstance(obj, tuple): + return tuple( + self.sanitize_for_serialization(sub_obj) for sub_obj in obj + ) + elif isinstance(obj, (datetime.datetime, datetime.date)): + return obj.isoformat() + elif isinstance(obj, decimal.Decimal): + return str(obj) + + elif isinstance(obj, dict): + obj_dict = obj + else: + # Convert model obj to dict except + # attributes `openapi_types`, `attribute_map` + # and attributes which value is not None. + # Convert attribute name to json key in + # model definition for request. + if hasattr(obj, 'to_dict') and callable(getattr(obj, 'to_dict')): + obj_dict = obj.to_dict() + else: + obj_dict = obj.__dict__ + + return { + key: self.sanitize_for_serialization(val) + for key, val in obj_dict.items() + } + + def deserialize(self, response_text: str, response_type: str, content_type: Optional[str]): + """Deserializes response into an object. + + :param response: RESTResponse object to be deserialized. + :param response_type: class literal for + deserialized object, or string of class name. + :param content_type: content type of response. + + :return: deserialized object. + """ + + # fetch data from response object + if content_type is None: + try: + data = json.loads(response_text) + except ValueError: + data = response_text + elif re.match(r'^application/(json|[\w!#$&.+-^_]+\+json)\s*(;|$)', content_type, re.IGNORECASE): + if response_text == "": + data = "" + else: + data = json.loads(response_text) + elif re.match(r'^text\/[a-z.+-]+\s*(;|$)', content_type, re.IGNORECASE): + data = response_text + else: + raise ApiException( + status=0, + reason="Unsupported content type: {0}".format(content_type) + ) + + return self.__deserialize(data, response_type) + + def __deserialize(self, data, klass): + """Deserializes dict, list, str into an object. + + :param data: dict, list or str. + :param klass: class literal, or string of class name. + + :return: object. + """ + if data is None: + return None + + if isinstance(klass, str): + if klass.startswith('List['): + m = re.match(r'List\[(.*)]', klass) + assert m is not None, "Malformed List type definition" + sub_kls = m.group(1) + return [self.__deserialize(sub_data, sub_kls) + for sub_data in data] + + if klass.startswith('Dict['): + m = re.match(r'Dict\[([^,]*), (.*)]', klass) + assert m is not None, "Malformed Dict type definition" + sub_kls = m.group(2) + return {k: self.__deserialize(v, sub_kls) + for k, v in data.items()} + + # convert str to class + if klass in self.NATIVE_TYPES_MAPPING: + klass = self.NATIVE_TYPES_MAPPING[klass] + else: + klass = getattr(cloudbeds_pms_v1_3.models, klass) + + if klass in self.PRIMITIVE_TYPES: + return self.__deserialize_primitive(data, klass) + elif klass == object: + return self.__deserialize_object(data) + elif klass == datetime.date: + return self.__deserialize_date(data) + elif klass == datetime.datetime: + return self.__deserialize_datetime(data) + elif klass == decimal.Decimal: + return decimal.Decimal(data) + elif issubclass(klass, Enum): + return self.__deserialize_enum(data, klass) + else: + return self.__deserialize_model(data, klass) + + def parameters_to_tuples(self, params, collection_formats): + """Get parameters as list of tuples, formatting collections. + + :param params: Parameters as dict or list of two-tuples + :param dict collection_formats: Parameter collection formats + :return: Parameters as list of tuples, collections formatted + """ + new_params: List[Tuple[str, str]] = [] + if collection_formats is None: + collection_formats = {} + for k, v in params.items() if isinstance(params, dict) else params: + if k in collection_formats: + collection_format = collection_formats[k] + if collection_format == 'multi': + new_params.extend((k, value) for value in v) + else: + if collection_format == 'ssv': + delimiter = ' ' + elif collection_format == 'tsv': + delimiter = '\t' + elif collection_format == 'pipes': + delimiter = '|' + else: # csv is the default + delimiter = ',' + new_params.append( + (k, delimiter.join(str(value) for value in v))) + else: + new_params.append((k, v)) + return new_params + + def parameters_to_url_query(self, params, collection_formats): + """Get parameters as list of tuples, formatting collections. + + :param params: Parameters as dict or list of two-tuples + :param dict collection_formats: Parameter collection formats + :return: URL query string (e.g. a=Hello%20World&b=123) + """ + new_params: List[Tuple[str, str]] = [] + if collection_formats is None: + collection_formats = {} + for k, v in params.items() if isinstance(params, dict) else params: + if isinstance(v, bool): + v = str(v).lower() + if isinstance(v, (int, float)): + v = str(v) + if isinstance(v, dict): + v = json.dumps(v) + + if k in collection_formats: + collection_format = collection_formats[k] + if collection_format == 'multi': + new_params.extend((k, quote(str(value))) for value in v) + else: + if collection_format == 'ssv': + delimiter = ' ' + elif collection_format == 'tsv': + delimiter = '\t' + elif collection_format == 'pipes': + delimiter = '|' + else: # csv is the default + delimiter = ',' + new_params.append( + (k, delimiter.join(quote(str(value)) for value in v)) + ) + else: + new_params.append((k, quote(str(v)))) + + return "&".join(["=".join(map(str, item)) for item in new_params]) + + def files_parameters( + self, + files: Dict[str, Union[str, bytes, List[str], List[bytes], Tuple[str, bytes]]], + ): + """Builds form parameters. + + :param files: File parameters. + :return: Form parameters with files. + """ + params = [] + for k, v in files.items(): + if isinstance(v, str): + with open(v, 'rb') as f: + filename = os.path.basename(f.name) + filedata = f.read() + elif isinstance(v, bytes): + filename = k + filedata = v + elif isinstance(v, tuple): + filename, filedata = v + elif isinstance(v, list): + for file_param in v: + params.extend(self.files_parameters({k: file_param})) + continue + else: + raise ValueError("Unsupported file value") + mimetype = ( + mimetypes.guess_type(filename)[0] + or 'application/octet-stream' + ) + params.append( + tuple([k, tuple([filename, filedata, mimetype])]) + ) + return params + + def select_header_accept(self, accepts: List[str]) -> Optional[str]: + """Returns `Accept` based on an array of accepts provided. + + :param accepts: List of headers. + :return: Accept (e.g. application/json). + """ + if not accepts: + return None + + for accept in accepts: + if re.search('json', accept, re.IGNORECASE): + return accept + + return accepts[0] + + def select_header_content_type(self, content_types): + """Returns `Content-Type` based on an array of content_types provided. + + :param content_types: List of content-types. + :return: Content-Type (e.g. application/json). + """ + if not content_types: + return None + + for content_type in content_types: + if re.search('json', content_type, re.IGNORECASE): + return content_type + + return content_types[0] + + def update_params_for_auth( + self, + headers, + queries, + auth_settings, + resource_path, + method, + body, + request_auth=None + ) -> None: + """Updates header and query params based on authentication setting. + + :param headers: Header parameters dict to be updated. + :param queries: Query parameters tuple list to be updated. + :param auth_settings: Authentication setting identifiers list. + :resource_path: A string representation of the HTTP request resource path. + :method: A string representation of the HTTP request method. + :body: A object representing the body of the HTTP request. + The object type is the return value of sanitize_for_serialization(). + :param request_auth: if set, the provided settings will + override the token in the configuration. + """ + if not auth_settings: + return + + if request_auth: + self._apply_auth_params( + headers, + queries, + resource_path, + method, + body, + request_auth + ) + else: + for auth in auth_settings: + auth_setting = self.configuration.auth_settings().get(auth) + if auth_setting: + self._apply_auth_params( + headers, + queries, + resource_path, + method, + body, + auth_setting + ) + + def _apply_auth_params( + self, + headers, + queries, + resource_path, + method, + body, + auth_setting + ) -> None: + """Updates the request parameters based on a single auth_setting + + :param headers: Header parameters dict to be updated. + :param queries: Query parameters tuple list to be updated. + :resource_path: A string representation of the HTTP request resource path. + :method: A string representation of the HTTP request method. + :body: A object representing the body of the HTTP request. + The object type is the return value of sanitize_for_serialization(). + :param auth_setting: auth settings for the endpoint + """ + if auth_setting['in'] == 'cookie': + headers['Cookie'] = auth_setting['value'] + elif auth_setting['in'] == 'header': + if auth_setting['type'] != 'http-signature': + headers[auth_setting['key']] = auth_setting['value'] + elif auth_setting['in'] == 'query': + queries.append((auth_setting['key'], auth_setting['value'])) + else: + raise ApiValueError( + 'Authentication token must be in `query` or `header`' + ) + + def __deserialize_file(self, response): + """Deserializes body to file + + Saves response body into a file in a temporary folder, + using the filename from the `Content-Disposition` header if provided. + + handle file downloading + save response body into a tmp file and return the instance + + :param response: RESTResponse. + :return: file path. + """ + fd, path = tempfile.mkstemp(dir=self.configuration.temp_folder_path) + os.close(fd) + os.remove(path) + + content_disposition = response.getheader("Content-Disposition") + if content_disposition: + m = re.search( + r'filename=[\'"]?([^\'"\s]+)[\'"]?', + content_disposition + ) + assert m is not None, "Unexpected 'content-disposition' header value" + filename = m.group(1) + path = os.path.join(os.path.dirname(path), filename) + + with open(path, "wb") as f: + f.write(response.data) + + return path + + def __deserialize_primitive(self, data, klass): + """Deserializes string to primitive type. + + :param data: str. + :param klass: class literal. + + :return: int, long, float, str, bool. + """ + try: + return klass(data) + except UnicodeEncodeError: + return str(data) + except TypeError: + return data + + def __deserialize_object(self, value): + """Return an original value. + + :return: object. + """ + return value + + def __deserialize_date(self, string): + """Deserializes string to date. + + :param string: str. + :return: date. + """ + try: + return parse(string).date() + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason="Failed to parse `{0}` as date object".format(string) + ) + + def __deserialize_datetime(self, string): + """Deserializes string to datetime. + + The string should be in iso8601 datetime format. + + :param string: str. + :return: datetime. + """ + try: + return parse(string) + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason=( + "Failed to parse `{0}` as datetime object" + .format(string) + ) + ) + + def __deserialize_enum(self, data, klass): + """Deserializes primitive type to enum. + + :param data: primitive type. + :param klass: class literal. + :return: enum value. + """ + try: + return klass(data) + except ValueError: + raise rest.ApiException( + status=0, + reason=( + "Failed to parse `{0}` as `{1}`" + .format(data, klass) + ) + ) + + def __deserialize_model(self, data, klass): + """Deserializes list or dict to model. + + :param data: dict, list. + :param klass: class literal. + :return: model object. + """ + + return klass.from_dict(data) diff --git a/cloudbeds_pms_v1_3/api_response.py b/cloudbeds_pms_v1_3/api_response.py new file mode 100644 index 0000000..9bc7c11 --- /dev/null +++ b/cloudbeds_pms_v1_3/api_response.py @@ -0,0 +1,21 @@ +"""API response object.""" + +from __future__ import annotations +from typing import Optional, Generic, Mapping, TypeVar +from pydantic import Field, StrictInt, StrictBytes, BaseModel + +T = TypeVar("T") + +class ApiResponse(BaseModel, Generic[T]): + """ + API response object + """ + + status_code: StrictInt = Field(description="HTTP status code") + headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") + data: T = Field(description="Deserialized data given the data type") + raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") + + model_config = { + "arbitrary_types_allowed": True + } diff --git a/cloudbeds_pms_v1_3/configuration.py b/cloudbeds_pms_v1_3/configuration.py new file mode 100644 index 0000000..a18097e --- /dev/null +++ b/cloudbeds_pms_v1_3/configuration.py @@ -0,0 +1,603 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import copy +import http.client as httplib +import logging +from logging import FileHandler +import multiprocessing +import sys +from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict +from typing_extensions import NotRequired, Self + +import urllib3 + + +JSON_SCHEMA_VALIDATION_KEYWORDS = { + 'multipleOf', 'maximum', 'exclusiveMaximum', + 'minimum', 'exclusiveMinimum', 'maxLength', + 'minLength', 'pattern', 'maxItems', 'minItems' +} + +ServerVariablesT = Dict[str, str] + +GenericAuthSetting = TypedDict( + "GenericAuthSetting", + { + "type": str, + "in": str, + "key": str, + "value": str, + }, +) + + +OAuth2AuthSetting = TypedDict( + "OAuth2AuthSetting", + { + "type": Literal["oauth2"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": str, + }, +) + + +APIKeyAuthSetting = TypedDict( + "APIKeyAuthSetting", + { + "type": Literal["api_key"], + "in": str, + "key": str, + "value": Optional[str], + }, +) + + +BasicAuthSetting = TypedDict( + "BasicAuthSetting", + { + "type": Literal["basic"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": Optional[str], + }, +) + + +BearerFormatAuthSetting = TypedDict( + "BearerFormatAuthSetting", + { + "type": Literal["bearer"], + "in": Literal["header"], + "format": Literal["JWT"], + "key": Literal["Authorization"], + "value": str, + }, +) + + +BearerAuthSetting = TypedDict( + "BearerAuthSetting", + { + "type": Literal["bearer"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": str, + }, +) + + +HTTPSignatureAuthSetting = TypedDict( + "HTTPSignatureAuthSetting", + { + "type": Literal["http-signature"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": None, + }, +) + + +AuthSettings = TypedDict( + "AuthSettings", + { + "api_key": APIKeyAuthSetting, + "OAuth2": OAuth2AuthSetting, + }, + total=False, +) + + +class HostSettingVariable(TypedDict): + description: str + default_value: str + enum_values: List[str] + + +class HostSetting(TypedDict): + url: str + description: str + variables: NotRequired[Dict[str, HostSettingVariable]] + + +class Configuration: + """This class contains various settings of the API client. + + :param host: Base url. + :param ignore_operation_servers + Boolean to ignore operation servers for the API client. + Config will use `host` as the base url regardless of the operation servers. + :param api_key: Dict to store API key(s). + Each entry in the dict specifies an API key. + The dict key is the name of the security scheme in the OAS specification. + The dict value is the API key secret. + :param api_key_prefix: Dict to store API prefix (e.g. Bearer). + The dict key is the name of the security scheme in the OAS specification. + The dict value is an API key prefix when generating the auth data. + :param username: Username for HTTP basic authentication. + :param password: Password for HTTP basic authentication. + :param access_token: Access token. + :param server_index: Index to servers configuration. + :param server_variables: Mapping with string values to replace variables in + templated server configuration. The validation of enums is performed for + variables with defined enum values before. + :param server_operation_index: Mapping from operation ID to an index to server + configuration. + :param server_operation_variables: Mapping from operation ID to a mapping with + string values to replace variables in templated server configuration. + The validation of enums is performed for variables with defined enum + values before. + :param ssl_ca_cert: str - the path to a file of concatenated CA certificates + in PEM format. + :param retries: Number of retries for API requests. + + :Example: + + API Key Authentication Example. + Given the following security scheme in the OpenAPI specification: + components: + securitySchemes: + cookieAuth: # name for the security scheme + type: apiKey + in: cookie + name: JSESSIONID # cookie name + + You can programmatically set the cookie: + +conf = cloudbeds_pms_v1_3.Configuration( + api_key={'cookieAuth': 'abc123'} + api_key_prefix={'cookieAuth': 'JSESSIONID'} +) + + The following cookie will be added to the HTTP request: + Cookie: JSESSIONID abc123 + """ + + _default: ClassVar[Optional[Self]] = None + + def __init__( + self, + host: Optional[str]=None, + api_key: Optional[Dict[str, str]]=None, + api_key_prefix: Optional[Dict[str, str]]=None, + username: Optional[str]=None, + password: Optional[str]=None, + access_token: Optional[str]=None, + server_index: Optional[int]=None, + server_variables: Optional[ServerVariablesT]=None, + server_operation_index: Optional[Dict[int, int]]=None, + server_operation_variables: Optional[Dict[int, ServerVariablesT]]=None, + ignore_operation_servers: bool=False, + ssl_ca_cert: Optional[str]=None, + retries: Optional[int] = None, + *, + debug: Optional[bool] = None, + ) -> None: + """Constructor + """ + self._base_path = "https://api.cloudbeds.com/api/v1.3" if host is None else host + """Default Base url + """ + self.server_index = 0 if server_index is None and host is None else server_index + self.server_operation_index = server_operation_index or {} + """Default server index + """ + self.server_variables = server_variables or {} + self.server_operation_variables = server_operation_variables or {} + """Default server variables + """ + self.ignore_operation_servers = ignore_operation_servers + """Ignore operation servers + """ + self.temp_folder_path = None + """Temp file folder for downloading files + """ + # Authentication Settings + self.api_key = {} + if api_key: + self.api_key = api_key + """dict to store API key(s) + """ + self.api_key_prefix = {} + if api_key_prefix: + self.api_key_prefix = api_key_prefix + """dict to store API prefix (e.g. Bearer) + """ + self.refresh_api_key_hook = None + """function hook to refresh API key if expired + """ + self.username = username + """Username for HTTP basic authentication + """ + self.password = password + """Password for HTTP basic authentication + """ + self.access_token = access_token + """Access token + """ + self.logger = {} + """Logging Settings + """ + self.logger["package_logger"] = logging.getLogger("cloudbeds_pms_v1_3") + self.logger["urllib3_logger"] = logging.getLogger("urllib3") + self.logger_format = '%(asctime)s %(levelname)s %(message)s' + """Log format + """ + self.logger_stream_handler = None + """Log stream handler + """ + self.logger_file_handler: Optional[FileHandler] = None + """Log file handler + """ + self.logger_file = None + """Debug file location + """ + if debug is not None: + self.debug = debug + else: + self.__debug = False + """Debug switch + """ + + self.verify_ssl = True + """SSL/TLS verification + Set this to false to skip verifying SSL certificate when calling API + from https server. + """ + self.ssl_ca_cert = ssl_ca_cert + """Set this to customize the certificate file to verify the peer. + """ + self.cert_file = None + """client certificate file + """ + self.key_file = None + """client key file + """ + self.assert_hostname = None + """Set this to True/False to enable/disable SSL hostname verification. + """ + self.tls_server_name = None + """SSL/TLS Server Name Indication (SNI) + Set this to the SNI value expected by the server. + """ + + self.connection_pool_maxsize = multiprocessing.cpu_count() * 5 + """urllib3 connection pool's maximum number of connections saved + per pool. urllib3 uses 1 connection as default value, but this is + not the best value when you are making a lot of possibly parallel + requests to the same host, which is often the case here. + cpu_count * 5 is used as default value to increase performance. + """ + + self.proxy: Optional[str] = None + """Proxy URL + """ + self.proxy_headers = None + """Proxy headers + """ + self.safe_chars_for_path_param = '' + """Safe chars for path_param + """ + self.retries = retries + """Adding retries to override urllib3 default value 3 + """ + # Enable client side validation + self.client_side_validation = True + + self.socket_options = None + """Options to pass down to the underlying urllib3 socket + """ + + self.datetime_format = "%Y-%m-%dT%H:%M:%S.%f%z" + """datetime format + """ + + self.date_format = "%Y-%m-%d" + """date format + """ + + def __deepcopy__(self, memo: Dict[int, Any]) -> Self: + cls = self.__class__ + result = cls.__new__(cls) + memo[id(self)] = result + for k, v in self.__dict__.items(): + if k not in ('logger', 'logger_file_handler'): + setattr(result, k, copy.deepcopy(v, memo)) + # shallow copy of loggers + result.logger = copy.copy(self.logger) + # use setters to configure loggers + result.logger_file = self.logger_file + result.debug = self.debug + return result + + def __setattr__(self, name: str, value: Any) -> None: + object.__setattr__(self, name, value) + + @classmethod + def set_default(cls, default: Optional[Self]) -> None: + """Set default instance of configuration. + + It stores default configuration, which can be + returned by get_default_copy method. + + :param default: object of Configuration + """ + cls._default = default + + @classmethod + def get_default_copy(cls) -> Self: + """Deprecated. Please use `get_default` instead. + + Deprecated. Please use `get_default` instead. + + :return: The configuration object. + """ + return cls.get_default() + + @classmethod + def get_default(cls) -> Self: + """Return the default configuration. + + This method returns newly created, based on default constructor, + object of Configuration class or returns a copy of default + configuration. + + :return: The configuration object. + """ + if cls._default is None: + cls._default = cls() + return cls._default + + @property + def logger_file(self) -> Optional[str]: + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + return self.__logger_file + + @logger_file.setter + def logger_file(self, value: Optional[str]) -> None: + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + self.__logger_file = value + if self.__logger_file: + # If set logging file, + # then add file handler and remove stream handler. + self.logger_file_handler = logging.FileHandler(self.__logger_file) + self.logger_file_handler.setFormatter(self.logger_formatter) + for _, logger in self.logger.items(): + logger.addHandler(self.logger_file_handler) + + @property + def debug(self) -> bool: + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + return self.__debug + + @debug.setter + def debug(self, value: bool) -> None: + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + self.__debug = value + if self.__debug: + # if debug status is True, turn on debug logging + for _, logger in self.logger.items(): + logger.setLevel(logging.DEBUG) + # turn on httplib debug + httplib.HTTPConnection.debuglevel = 1 + else: + # if debug status is False, turn off debug logging, + # setting log level to default `logging.WARNING` + for _, logger in self.logger.items(): + logger.setLevel(logging.WARNING) + # turn off httplib debug + httplib.HTTPConnection.debuglevel = 0 + + @property + def logger_format(self) -> str: + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + return self.__logger_format + + @logger_format.setter + def logger_format(self, value: str) -> None: + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + self.__logger_format = value + self.logger_formatter = logging.Formatter(self.__logger_format) + + def get_api_key_with_prefix(self, identifier: str, alias: Optional[str]=None) -> Optional[str]: + """Gets API key (with prefix if set). + + :param identifier: The identifier of apiKey. + :param alias: The alternative identifier of apiKey. + :return: The token for api key authentication. + """ + if self.refresh_api_key_hook is not None: + self.refresh_api_key_hook(self) + key = self.api_key.get(identifier, self.api_key.get(alias) if alias is not None else None) + if key: + prefix = self.api_key_prefix.get(identifier) + if prefix: + return "%s %s" % (prefix, key) + else: + return key + + return None + + def get_basic_auth_token(self) -> Optional[str]: + """Gets HTTP basic authentication header (string). + + :return: The token for basic HTTP authentication. + """ + username = "" + if self.username is not None: + username = self.username + password = "" + if self.password is not None: + password = self.password + return urllib3.util.make_headers( + basic_auth=username + ':' + password + ).get('authorization') + + def auth_settings(self)-> AuthSettings: + """Gets Auth Settings dict for api client. + + :return: The Auth Settings information dict. + """ + auth: AuthSettings = {} + if 'api_key' in self.api_key: + auth['api_key'] = { + 'type': 'api_key', + 'in': 'header', + 'key': 'x-api-key', + 'value': self.get_api_key_with_prefix( + 'api_key', + ), + } + if self.access_token is not None: + auth['OAuth2'] = { + 'type': 'oauth2', + 'in': 'header', + 'key': 'Authorization', + 'value': 'Bearer ' + self.access_token + } + return auth + + def to_debug_report(self) -> str: + """Gets the essential information for debugging. + + :return: The report for debugging. + """ + return "Python SDK Debug Report:\n"\ + "OS: {env}\n"\ + "Python Version: {pyversion}\n"\ + "Version of the API: v1.3\n"\ + "SDK Package Version: 1.13.0".\ + format(env=sys.platform, pyversion=sys.version) + + def get_host_settings(self) -> List[HostSetting]: + """Gets an array of host settings + + :return: An array of host settings + """ + return [ + { + 'url': "https://api.cloudbeds.com/api/v1.3", + 'description': "No description provided", + } + ] + + def get_host_from_settings( + self, + index: Optional[int], + variables: Optional[ServerVariablesT]=None, + servers: Optional[List[HostSetting]]=None, + ) -> str: + """Gets host URL based on the index and variables + :param index: array index of the host settings + :param variables: hash of variable and the corresponding value + :param servers: an array of host settings or None + :return: URL based on host settings + """ + if index is None: + return self._base_path + + variables = {} if variables is None else variables + servers = self.get_host_settings() if servers is None else servers + + try: + server = servers[index] + except IndexError: + raise ValueError( + "Invalid index {0} when selecting the host settings. " + "Must be less than {1}".format(index, len(servers))) + + url = server['url'] + + # go through variables and replace placeholders + for variable_name, variable in server.get('variables', {}).items(): + used_value = variables.get( + variable_name, variable['default_value']) + + if 'enum_values' in variable \ + and used_value not in variable['enum_values']: + raise ValueError( + "The variable `{0}` in the host URL has invalid value " + "{1}. Must be {2}.".format( + variable_name, variables[variable_name], + variable['enum_values'])) + + url = url.replace("{" + variable_name + "}", used_value) + + return url + + @property + def host(self) -> str: + """Return generated host.""" + return self.get_host_from_settings(self.server_index, variables=self.server_variables) + + @host.setter + def host(self, value: str) -> None: + """Fix base path.""" + self._base_path = value + self.server_index = None diff --git a/cloudbeds_pms_v1_3/docs/AdjustmentApi.md b/cloudbeds_pms_v1_3/docs/AdjustmentApi.md new file mode 100644 index 0000000..471495e --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/AdjustmentApi.md @@ -0,0 +1,188 @@ +# cloudbeds_pms_v1_3.AdjustmentApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**delete_adjustment_delete**](AdjustmentApi.md#delete_adjustment_delete) | **DELETE** /deleteAdjustment | deleteAdjustment +[**post_adjustment_post**](AdjustmentApi.md#post_adjustment_post) | **POST** /postAdjustment | postAdjustment + + +# **delete_adjustment_delete** +> DeleteAdjustmentResponse delete_adjustment_delete(reservation_id, adjustment_id, property_id=property_id) + +deleteAdjustment + +Voids the AdjustmentID transaction on the specified reservationID + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.delete_adjustment_response import DeleteAdjustmentResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.AdjustmentApi(api_client) + reservation_id = 'reservation_id_example' # str | Reservation identifier + adjustment_id = 'adjustment_id_example' # str | Adjustment identifier + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # deleteAdjustment + api_response = api_instance.delete_adjustment_delete(reservation_id, adjustment_id, property_id=property_id) + print("The response of AdjustmentApi->delete_adjustment_delete:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AdjustmentApi->delete_adjustment_delete: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **reservation_id** | **str**| Reservation identifier | + **adjustment_id** | **str**| Adjustment identifier | + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**DeleteAdjustmentResponse**](DeleteAdjustmentResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_adjustment_post** +> PostAdjustmentResponse post_adjustment_post(property_id=property_id, reservation_id=reservation_id, type=type, amount=amount, notes=notes, item_id=item_id) + +postAdjustment + +Adds an adjustment to a reservation + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_adjustment_response import PostAdjustmentResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.AdjustmentApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + reservation_id = 'reservation_id_example' # str | Reservation identifier (optional) + type = 'type_example' # str | Apply Adjustment to (optional) + amount = 3.4 # float | Adjustment amount (optional) + notes = 'notes_example' # str | Adjustment notes (optional) + item_id = 'item_id_example' # str | Apply Adjustment to. Identifier for: product, tax, fee. Not for rate (optional) + + try: + # postAdjustment + api_response = api_instance.post_adjustment_post(property_id=property_id, reservation_id=reservation_id, type=type, amount=amount, notes=notes, item_id=item_id) + print("The response of AdjustmentApi->post_adjustment_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AdjustmentApi->post_adjustment_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **reservation_id** | **str**| Reservation identifier | [optional] + **type** | **str**| Apply Adjustment to | [optional] + **amount** | **float**| Adjustment amount | [optional] + **notes** | **str**| Adjustment notes | [optional] + **item_id** | **str**| Apply Adjustment to. Identifier for: product, tax, fee. Not for rate | [optional] + +### Return type + +[**PostAdjustmentResponse**](PostAdjustmentResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/AllotmentBlocksApi.md b/cloudbeds_pms_v1_3/docs/AllotmentBlocksApi.md new file mode 100644 index 0000000..b7db6bb --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/AllotmentBlocksApi.md @@ -0,0 +1,667 @@ +# cloudbeds_pms_v1_3.AllotmentBlocksApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_allotment_block_notes_post**](AllotmentBlocksApi.md#create_allotment_block_notes_post) | **POST** /createAllotmentBlockNotes | createAllotmentBlockNotes +[**create_allotment_block_post**](AllotmentBlocksApi.md#create_allotment_block_post) | **POST** /createAllotmentBlock | createAllotmentBlock +[**delete_allotment_block_post**](AllotmentBlocksApi.md#delete_allotment_block_post) | **POST** /deleteAllotmentBlock | deleteAllotmentBlock +[**get_allotment_blocks_get**](AllotmentBlocksApi.md#get_allotment_blocks_get) | **GET** /getAllotmentBlocks | getAllotmentBlocks +[**list_allotment_block_notes_get**](AllotmentBlocksApi.md#list_allotment_block_notes_get) | **GET** /listAllotmentBlockNotes | listAllotmentBlockNotes +[**update_allotment_block_notes_post**](AllotmentBlocksApi.md#update_allotment_block_notes_post) | **POST** /updateAllotmentBlockNotes | updateAllotmentBlockNotes +[**update_allotment_block_post**](AllotmentBlocksApi.md#update_allotment_block_post) | **POST** /updateAllotmentBlock | updateAllotmentBlock + + +# **create_allotment_block_notes_post** +> PostCreateAllotmentBlockNotesResponse create_allotment_block_notes_post(property_id=property_id, allotment_block_code=allotment_block_code, text=text) + +createAllotmentBlockNotes + +Add a note to an allotment block + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_create_allotment_block_notes_response import PostCreateAllotmentBlockNotesResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.AllotmentBlocksApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + allotment_block_code = 'allotment_block_code_example' # str | Allotment Block Code (optional) + text = 'text_example' # str | Note's text (optional) + + try: + # createAllotmentBlockNotes + api_response = api_instance.create_allotment_block_notes_post(property_id=property_id, allotment_block_code=allotment_block_code, text=text) + print("The response of AllotmentBlocksApi->create_allotment_block_notes_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AllotmentBlocksApi->create_allotment_block_notes_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **allotment_block_code** | **str**| Allotment Block Code | [optional] + **text** | **str**| Note's text | [optional] + +### Return type + +[**PostCreateAllotmentBlockNotesResponse**](PostCreateAllotmentBlockNotesResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **create_allotment_block_post** +> PostCreateAllotmentBlockResponse create_allotment_block_post(group_code=group_code, event_code=event_code, allotment_block_name=allotment_block_name, rate_type=rate_type, rate_plan_id=rate_plan_id, allotment_type=allotment_type, allotment_block_status=allotment_block_status, allow_overbooking=allow_overbooking, auto_release=auto_release, allotment_intervals=allotment_intervals) + +createAllotmentBlock + +Retreive allotment blocks @apiQuery {Integer} propertyID Property ID + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner import PostCreateAllotmentBlockRequestAllotmentIntervalsInner +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_auto_release import PostCreateAllotmentBlockRequestAutoRelease +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response import PostCreateAllotmentBlockResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.AllotmentBlocksApi(api_client) + group_code = 'group_code_example' # str | The unique identifier of the group profile the allotment block should be created (optional) + event_code = 'event_code_example' # str | The unique identifier of the event the allotment block should be created (optional) + allotment_block_name = 'allotment_block_name_example' # str | The name for the allotment block (optional) + rate_type = 'rate_type_example' # str | The rate type for the associated intervals (optional) + rate_plan_id = 'rate_plan_id_example' # str | The rate plan ID. Required if rateType is \\\"rate_plan\\\". (optional) + allotment_type = 'allotment_type_example' # str | The allotment type (optional) + allotment_block_status = 'allotment_block_status_example' # str | The status for the allotment block under (optional) + allow_overbooking = True # bool | If false, or omitted, then this command will fail if it would result in an overbooking. If true, then the update will succeed even if it results in an overbooking. (optional) + auto_release = cloudbeds_pms_v1_3.PostCreateAllotmentBlockRequestAutoRelease() # PostCreateAllotmentBlockRequestAutoRelease | (optional) + allotment_intervals = [cloudbeds_pms_v1_3.PostCreateAllotmentBlockRequestAllotmentIntervalsInner()] # List[PostCreateAllotmentBlockRequestAllotmentIntervalsInner] | The day-based data for the allotment block. (optional) + + try: + # createAllotmentBlock + api_response = api_instance.create_allotment_block_post(group_code=group_code, event_code=event_code, allotment_block_name=allotment_block_name, rate_type=rate_type, rate_plan_id=rate_plan_id, allotment_type=allotment_type, allotment_block_status=allotment_block_status, allow_overbooking=allow_overbooking, auto_release=auto_release, allotment_intervals=allotment_intervals) + print("The response of AllotmentBlocksApi->create_allotment_block_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AllotmentBlocksApi->create_allotment_block_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **group_code** | **str**| The unique identifier of the group profile the allotment block should be created | [optional] + **event_code** | **str**| The unique identifier of the event the allotment block should be created | [optional] + **allotment_block_name** | **str**| The name for the allotment block | [optional] + **rate_type** | **str**| The rate type for the associated intervals | [optional] + **rate_plan_id** | **str**| The rate plan ID. Required if rateType is \\\"rate_plan\\\". | [optional] + **allotment_type** | **str**| The allotment type | [optional] + **allotment_block_status** | **str**| The status for the allotment block under | [optional] + **allow_overbooking** | **bool**| If false, or omitted, then this command will fail if it would result in an overbooking. If true, then the update will succeed even if it results in an overbooking. | [optional] + **auto_release** | [**PostCreateAllotmentBlockRequestAutoRelease**](PostCreateAllotmentBlockRequestAutoRelease.md)| | [optional] + **allotment_intervals** | [**List[PostCreateAllotmentBlockRequestAllotmentIntervalsInner]**](PostCreateAllotmentBlockRequestAllotmentIntervalsInner.md)| The day-based data for the allotment block. | [optional] + +### Return type + +[**PostCreateAllotmentBlockResponse**](PostCreateAllotmentBlockResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_allotment_block_post** +> PostDeleteAllotmentBlockResponse delete_allotment_block_post(allotment_block_code=allotment_block_code) + +deleteAllotmentBlock + +Delete allotment blocks + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_delete_allotment_block_response import PostDeleteAllotmentBlockResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.AllotmentBlocksApi(api_client) + allotment_block_code = 'allotment_block_code_example' # str | The unique code of the allotment Block (optional) + + try: + # deleteAllotmentBlock + api_response = api_instance.delete_allotment_block_post(allotment_block_code=allotment_block_code) + print("The response of AllotmentBlocksApi->delete_allotment_block_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AllotmentBlocksApi->delete_allotment_block_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **allotment_block_code** | **str**| The unique code of the allotment Block | [optional] + +### Return type + +[**PostDeleteAllotmentBlockResponse**](PostDeleteAllotmentBlockResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_allotment_blocks_get** +> GetAllotmentBlocksResponse get_allotment_blocks_get(property_id, allotment_block_code=allotment_block_code, allotment_block_name=allotment_block_name, group_code=group_code, event_code=event_code, allotment_block_status=allotment_block_status, allotment_block_type=allotment_block_type, room_type_id=room_type_id, page_size=page_size, page_number=page_number, start_date=start_date, end_date=end_date, for_update=for_update) + +getAllotmentBlocks + +Retrieve allotment blocks + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response import GetAllotmentBlocksResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.AllotmentBlocksApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional, by default all authorized properties will be included) + allotment_block_code = 'allotment_block_code_example' # str | Allotment block code (optional) + allotment_block_name = 'allotment_block_name_example' # str | Allotment block name (optional) + group_code = 'group_code_example' # str | A group profile code (optional) + event_code = 'event_code_example' # str | An event code (optional) + allotment_block_status = 'allotment_block_status_example' # str | Allotment block status(es) (optional) + allotment_block_type = 'allotment_block_type_example' # str | The type of allotment block (optional) + room_type_id = 'room_type_id_example' # str | Filters allotment blocks with the supplied Room Type ID. (optional) + page_size = 56 # int | Number of allotment blocks to return per page (min: 1, max: 100) (optional) + page_number = 56 # int | Which page in the results to access (optional) + start_date = '2013-10-20' # date | Interval start date (optional) + end_date = '2013-10-20' # date | Interval end date (optional) + for_update = True # bool | If false (default) this will show the effective availability on each date. If true, will read raw availability from the allotment intervals. (optional) + + try: + # getAllotmentBlocks + api_response = api_instance.get_allotment_blocks_get(property_id, allotment_block_code=allotment_block_code, allotment_block_name=allotment_block_name, group_code=group_code, event_code=event_code, allotment_block_status=allotment_block_status, allotment_block_type=allotment_block_type, room_type_id=room_type_id, page_size=page_size, page_number=page_number, start_date=start_date, end_date=end_date, for_update=for_update) + print("The response of AllotmentBlocksApi->get_allotment_blocks_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AllotmentBlocksApi->get_allotment_blocks_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID (optional, by default all authorized properties will be included) | + **allotment_block_code** | **str**| Allotment block code | [optional] + **allotment_block_name** | **str**| Allotment block name | [optional] + **group_code** | **str**| A group profile code | [optional] + **event_code** | **str**| An event code | [optional] + **allotment_block_status** | **str**| Allotment block status(es) | [optional] + **allotment_block_type** | **str**| The type of allotment block | [optional] + **room_type_id** | **str**| Filters allotment blocks with the supplied Room Type ID. | [optional] + **page_size** | **int**| Number of allotment blocks to return per page (min: 1, max: 100) | [optional] + **page_number** | **int**| Which page in the results to access | [optional] + **start_date** | **date**| Interval start date | [optional] + **end_date** | **date**| Interval end date | [optional] + **for_update** | **bool**| If false (default) this will show the effective availability on each date. If true, will read raw availability from the allotment intervals. | [optional] + +### Return type + +[**GetAllotmentBlocksResponse**](GetAllotmentBlocksResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_allotment_block_notes_get** +> GetListAllotmentBlockNotesResponse list_allotment_block_notes_get(property_id, allotment_block_code, status=status, page_number=page_number, page_size=page_size) + +listAllotmentBlockNotes + +List notes added to an allotment block + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_list_allotment_block_notes_response import GetListAllotmentBlockNotesResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.AllotmentBlocksApi(api_client) + property_id = 'property_id_example' # str | Property ID + allotment_block_code = 'allotment_block_code_example' # str | Allotment block code + status = 'status_example' # str | Note status (optional) + page_number = 56 # int | Page (optional) + page_size = 56 # int | Number of Items per Page (min 1, max 100) (optional) + + try: + # listAllotmentBlockNotes + api_response = api_instance.list_allotment_block_notes_get(property_id, allotment_block_code, status=status, page_number=page_number, page_size=page_size) + print("The response of AllotmentBlocksApi->list_allotment_block_notes_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AllotmentBlocksApi->list_allotment_block_notes_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | + **allotment_block_code** | **str**| Allotment block code | + **status** | **str**| Note status | [optional] + **page_number** | **int**| Page | [optional] + **page_size** | **int**| Number of Items per Page (min 1, max 100) | [optional] + +### Return type + +[**GetListAllotmentBlockNotesResponse**](GetListAllotmentBlockNotesResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_allotment_block_notes_post** +> PostUpdateAllotmentBlockNotesResponse update_allotment_block_notes_post(property_id=property_id, allotment_block_code=allotment_block_code, note_id=note_id, text=text, status=status) + +updateAllotmentBlockNotes + +Update a note on an allotment block + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_update_allotment_block_notes_response import PostUpdateAllotmentBlockNotesResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.AllotmentBlocksApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + allotment_block_code = 'allotment_block_code_example' # str | Allotment Block Code (optional) + note_id = 'note_id_example' # str | Note's ID (optional) + text = 'text_example' # str | Note's text (null for no change) (optional) + status = 'status_example' # str | Note status (optional) + + try: + # updateAllotmentBlockNotes + api_response = api_instance.update_allotment_block_notes_post(property_id=property_id, allotment_block_code=allotment_block_code, note_id=note_id, text=text, status=status) + print("The response of AllotmentBlocksApi->update_allotment_block_notes_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AllotmentBlocksApi->update_allotment_block_notes_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **allotment_block_code** | **str**| Allotment Block Code | [optional] + **note_id** | **str**| Note's ID | [optional] + **text** | **str**| Note's text (null for no change) | [optional] + **status** | **str**| Note status | [optional] + +### Return type + +[**PostUpdateAllotmentBlockNotesResponse**](PostUpdateAllotmentBlockNotesResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_allotment_block_post** +> PostUpdateAllotmentBlockResponse update_allotment_block_post(allotment_block_code=allotment_block_code, allotment_block_name=allotment_block_name, allow_overbooking=allow_overbooking, allotment_type=allotment_type, allotment_block_status=allotment_block_status, auto_release=auto_release, allotment_intervals=allotment_intervals) + +updateAllotmentBlock + +Update an allotment block @apiQuery {Integer} propertyID Property ID + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner import PostUpdateAllotmentBlockRequestAllotmentIntervalsInner +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_auto_release import PostUpdateAllotmentBlockRequestAutoRelease +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response import PostUpdateAllotmentBlockResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.AllotmentBlocksApi(api_client) + allotment_block_code = 'allotment_block_code_example' # str | The allotment block code identifying the allotment block to update (optional) + allotment_block_name = 'allotment_block_name_example' # str | The name for the allotment block (optional) + allow_overbooking = True # bool | If false, or omitted, then this update will fail if it would result in an overbooking. If true, then the update will succeed even if it results in an overbooking. (optional) + allotment_type = 'allotment_type_example' # str | The allotment type (optional) + allotment_block_status = 'allotment_block_status_example' # str | The status for the allotment block under (optional) + auto_release = cloudbeds_pms_v1_3.PostUpdateAllotmentBlockRequestAutoRelease() # PostUpdateAllotmentBlockRequestAutoRelease | (optional) + allotment_intervals = [cloudbeds_pms_v1_3.PostUpdateAllotmentBlockRequestAllotmentIntervalsInner()] # List[PostUpdateAllotmentBlockRequestAllotmentIntervalsInner] | The day-based data for the allotment block. (optional) + + try: + # updateAllotmentBlock + api_response = api_instance.update_allotment_block_post(allotment_block_code=allotment_block_code, allotment_block_name=allotment_block_name, allow_overbooking=allow_overbooking, allotment_type=allotment_type, allotment_block_status=allotment_block_status, auto_release=auto_release, allotment_intervals=allotment_intervals) + print("The response of AllotmentBlocksApi->update_allotment_block_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AllotmentBlocksApi->update_allotment_block_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **allotment_block_code** | **str**| The allotment block code identifying the allotment block to update | [optional] + **allotment_block_name** | **str**| The name for the allotment block | [optional] + **allow_overbooking** | **bool**| If false, or omitted, then this update will fail if it would result in an overbooking. If true, then the update will succeed even if it results in an overbooking. | [optional] + **allotment_type** | **str**| The allotment type | [optional] + **allotment_block_status** | **str**| The status for the allotment block under | [optional] + **auto_release** | [**PostUpdateAllotmentBlockRequestAutoRelease**](PostUpdateAllotmentBlockRequestAutoRelease.md)| | [optional] + **allotment_intervals** | [**List[PostUpdateAllotmentBlockRequestAllotmentIntervalsInner]**](PostUpdateAllotmentBlockRequestAllotmentIntervalsInner.md)| The day-based data for the allotment block. | [optional] + +### Return type + +[**PostUpdateAllotmentBlockResponse**](PostUpdateAllotmentBlockResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/AppSettingsApi.md b/cloudbeds_pms_v1_3/docs/AppSettingsApi.md new file mode 100644 index 0000000..4456c94 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/AppSettingsApi.md @@ -0,0 +1,354 @@ +# cloudbeds_pms_v1_3.AppSettingsApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**delete_app_property_settings_post**](AppSettingsApi.md#delete_app_property_settings_post) | **POST** /deleteAppPropertySettings | deleteAppPropertySettings +[**get_app_property_settings_get**](AppSettingsApi.md#get_app_property_settings_get) | **GET** /getAppPropertySettings | getAppPropertySettings +[**post_app_property_settings_post**](AppSettingsApi.md#post_app_property_settings_post) | **POST** /postAppPropertySettings | postAppPropertySettings +[**put_app_property_settings_post**](AppSettingsApi.md#put_app_property_settings_post) | **POST** /putAppPropertySettings | putAppPropertySettings + + +# **delete_app_property_settings_post** +> PostDeleteAppPropertySettingsResponse delete_app_property_settings_post(property_id=property_id, key=key) + +deleteAppPropertySettings + + + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_delete_app_property_settings_response import PostDeleteAppPropertySettingsResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.AppSettingsApi(api_client) + property_id = 'property_id_example' # str | Key (optional) + key = 'key_example' # str | Key (optional) + + try: + # deleteAppPropertySettings + api_response = api_instance.delete_app_property_settings_post(property_id=property_id, key=key) + print("The response of AppSettingsApi->delete_app_property_settings_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AppSettingsApi->delete_app_property_settings_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Key | [optional] + **key** | **str**| Key | [optional] + +### Return type + +[**PostDeleteAppPropertySettingsResponse**](PostDeleteAppPropertySettingsResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_app_property_settings_get** +> GetAppPropertySettingsResponse get_app_property_settings_get(property_id, key=key) + +getAppPropertySettings + +Returns the app property settings + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_app_property_settings_response import GetAppPropertySettingsResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.AppSettingsApi(api_client) + property_id = 'property_id_example' # str | Property ID + key = 'key_example' # str | Key (optional) + + try: + # getAppPropertySettings + api_response = api_instance.get_app_property_settings_get(property_id, key=key) + print("The response of AppSettingsApi->get_app_property_settings_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AppSettingsApi->get_app_property_settings_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | + **key** | **str**| Key | [optional] + +### Return type + +[**GetAppPropertySettingsResponse**](GetAppPropertySettingsResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_app_property_settings_post** +> PostAppPropertySettingResponse post_app_property_settings_post(property_id=property_id, app_client_id=app_client_id, key=key, value=value) + +postAppPropertySettings + + + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_app_property_setting_response import PostAppPropertySettingResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.AppSettingsApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + app_client_id = 'app_client_id_example' # str | Application Client ID (optional) + key = 'key_example' # str | Key (optional) + value = 'value_example' # str | Value (optional) + + try: + # postAppPropertySettings + api_response = api_instance.post_app_property_settings_post(property_id=property_id, app_client_id=app_client_id, key=key, value=value) + print("The response of AppSettingsApi->post_app_property_settings_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AppSettingsApi->post_app_property_settings_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **app_client_id** | **str**| Application Client ID | [optional] + **key** | **str**| Key | [optional] + **value** | **str**| Value | [optional] + +### Return type + +[**PostAppPropertySettingResponse**](PostAppPropertySettingResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **put_app_property_settings_post** +> PostPutAppPropertySettingsResponse put_app_property_settings_post(property_id=property_id, key=key, value=value) + +putAppPropertySettings + + + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_put_app_property_settings_response import PostPutAppPropertySettingsResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.AppSettingsApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + key = 'key_example' # str | Key (optional) + value = 'value_example' # str | Value (optional) + + try: + # putAppPropertySettings + api_response = api_instance.put_app_property_settings_post(property_id=property_id, key=key, value=value) + print("The response of AppSettingsApi->put_app_property_settings_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AppSettingsApi->put_app_property_settings_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **key** | **str**| Key | [optional] + **value** | **str**| Value | [optional] + +### Return type + +[**PostPutAppPropertySettingsResponse**](PostPutAppPropertySettingsResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/AuthenticationApi.md b/cloudbeds_pms_v1_3/docs/AuthenticationApi.md new file mode 100644 index 0000000..9e3e54e --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/AuthenticationApi.md @@ -0,0 +1,237 @@ +# cloudbeds_pms_v1_3.AuthenticationApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**access_token_post**](AuthenticationApi.md#access_token_post) | **POST** /access_token | access_token +[**oauth_metadata_get**](AuthenticationApi.md#oauth_metadata_get) | **GET** /oauth/metadata | metadata +[**userinfo_get**](AuthenticationApi.md#userinfo_get) | **GET** /userinfo | userinfo + + +# **access_token_post** +> PostAccessTokenResponse access_token_post(grant_type=grant_type, client_id=client_id, client_secret=client_secret, redirect_uri=redirect_uri, code=code, refresh_token=refresh_token) + +access_token + +Query the authorization server for an access token used to access property resources.
If the automatic delivery method for API keys is used, the grant type `urn:ietf:params:oauth:grant-type:api-key` needs to be used to request an API key. This grant type requires `grant_type=urn:ietf:params:oauth:grant-type:api-key`, `client_id`, `client_secret`, `redirect_uri` and `code`.
For OAuth 2.0., two different grant types (`authorization_code`, `refresh_token`) are supported. Authorization code grant type requires `grant_type=authorization_code`, `client_id`, `client_secret`, `redirect_uri`, `code`. Refresh token grant type requires `grant_type=refresh_token`, `client_id`, `client_secret`, `refresh_token`.
Read the [Authentication guide](https://integrations.cloudbeds.com/hc/en-us/sections/14731510501915-Authentication) for implementation tips, user flows and testing advice. + +### Example + + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_access_token_response import PostAccessTokenResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.AuthenticationApi(api_client) + grant_type = 'grant_type_example' # str | The OAuth2 grant type. (optional) + client_id = 'client_id_example' # str | The client identifier. Each client must be provisioned an identifier. (optional) + client_secret = 'client_secret_example' # str | The client secret. Each client must be provisioned a secret. (optional) + redirect_uri = 'redirect_uri_example' # str | The client pre-configured redirect URI. (Required for grant type 'authorization_code' and 'urn:ietf:params:oauth:grant-type:api-key'). (optional) + code = 'code_example' # str | An authorization code provisioned by /oauth (Required for grant type 'authorization_code' and 'urn:ietf:params:oauth:grant-type:api-key'). (optional) + refresh_token = 'refresh_token_example' # str | A refresh token to renew an access_token (Required for grant type 'refresh_token' only). (optional) + + try: + # access_token + api_response = api_instance.access_token_post(grant_type=grant_type, client_id=client_id, client_secret=client_secret, redirect_uri=redirect_uri, code=code, refresh_token=refresh_token) + print("The response of AuthenticationApi->access_token_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AuthenticationApi->access_token_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **grant_type** | **str**| The OAuth2 grant type. | [optional] + **client_id** | **str**| The client identifier. Each client must be provisioned an identifier. | [optional] + **client_secret** | **str**| The client secret. Each client must be provisioned a secret. | [optional] + **redirect_uri** | **str**| The client pre-configured redirect URI. (Required for grant type 'authorization_code' and 'urn:ietf:params:oauth:grant-type:api-key'). | [optional] + **code** | **str**| An authorization code provisioned by /oauth (Required for grant type 'authorization_code' and 'urn:ietf:params:oauth:grant-type:api-key'). | [optional] + **refresh_token** | **str**| A refresh token to renew an access_token (Required for grant type 'refresh_token' only). | [optional] + +### Return type + +[**PostAccessTokenResponse**](PostAccessTokenResponse.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **oauth_metadata_get** +> GetMetadataResponse oauth_metadata_get() + +metadata + +In the context of properties being distributed across multiple localizations, this endpoint serves to retrieve the precise location of the property associated with the provided access token. Further information can be found in the [Authentication guide](https://integrations.cloudbeds.com/hc/en-us/sections/14731510501915-Authentication). + +### Example + + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_metadata_response import GetMetadataResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.AuthenticationApi(api_client) + + try: + # metadata + api_response = api_instance.oauth_metadata_get() + print("The response of AuthenticationApi->oauth_metadata_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AuthenticationApi->oauth_metadata_get: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**GetMetadataResponse**](GetMetadataResponse.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **userinfo_get** +> GetUserinfoResponse userinfo_get(property_id=property_id, role_details=role_details) + +userinfo + +Returns information on user who authorized connection + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_userinfo_response import GetUserinfoResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.AuthenticationApi(api_client) + property_id = 'property_id_example' # str | Specify a property ID when using role_details (optional) + role_details = True # bool | Specify whether to include role and acl details of the user. (optional) + + try: + # userinfo + api_response = api_instance.userinfo_get(property_id=property_id, role_details=role_details) + print("The response of AuthenticationApi->userinfo_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AuthenticationApi->userinfo_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Specify a property ID when using role_details | [optional] + **role_details** | **bool**| Specify whether to include role and acl details of the user. | [optional] + +### Return type + +[**GetUserinfoResponse**](GetUserinfoResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/CurrencyApi.md b/cloudbeds_pms_v1_3/docs/CurrencyApi.md new file mode 100644 index 0000000..8c4e1d4 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/CurrencyApi.md @@ -0,0 +1,91 @@ +# cloudbeds_pms_v1_3.CurrencyApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_currency_settings_get**](CurrencyApi.md#get_currency_settings_get) | **GET** /getCurrencySettings | getCurrencySettings + + +# **get_currency_settings_get** +> GetCurrencySettingsResponse get_currency_settings_get(property_id=property_id) + +getCurrencySettings + +Get currency settings + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_currency_settings_response import GetCurrencySettingsResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.CurrencyApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # getCurrencySettings + api_response = api_instance.get_currency_settings_get(property_id=property_id) + print("The response of CurrencyApi->get_currency_settings_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CurrencyApi->get_currency_settings_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**GetCurrencySettingsResponse**](GetCurrencySettingsResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/CustomFieldsApi.md b/cloudbeds_pms_v1_3/docs/CustomFieldsApi.md new file mode 100644 index 0000000..876e7bd --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/CustomFieldsApi.md @@ -0,0 +1,194 @@ +# cloudbeds_pms_v1_3.CustomFieldsApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_custom_fields_get**](CustomFieldsApi.md#get_custom_fields_get) | **GET** /getCustomFields | getCustomFields +[**post_custom_field_post**](CustomFieldsApi.md#post_custom_field_post) | **POST** /postCustomField | postCustomField + + +# **get_custom_fields_get** +> GetCustomFieldsResponse get_custom_fields_get(property_id=property_id, custom_field_id=custom_field_id, shortcode=shortcode) + +getCustomFields + +Gets custom fields list
¹ data.displayed = \"booking\" - Display this field to guests on the booking engine.
¹ data.displayed = \"reservation\" - Add this field to the reservation folio for use by staff.
¹ data.displayed = \"card\" - Make this field available for registration cards.
+ +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_custom_fields_response import GetCustomFieldsResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.CustomFieldsApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + custom_field_id = 'custom_field_id_example' # str | Field identifier (optional) + shortcode = 'shortcode_example' # str | Internal reference and is used for integration purposes such as custom links and the API (optional) + + try: + # getCustomFields + api_response = api_instance.get_custom_fields_get(property_id=property_id, custom_field_id=custom_field_id, shortcode=shortcode) + print("The response of CustomFieldsApi->get_custom_fields_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CustomFieldsApi->get_custom_fields_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **custom_field_id** | **str**| Field identifier | [optional] + **shortcode** | **str**| Internal reference and is used for integration purposes such as custom links and the API | [optional] + +### Return type + +[**GetCustomFieldsResponse**](GetCustomFieldsResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_custom_field_post** +> PostCustomFieldResponse post_custom_field_post(property_id=property_id, name=name, shortcode=shortcode, apply_to=apply_to, required=required, max_characters=max_characters, type=type, displayed=displayed, is_personal=is_personal) + +postCustomField + +Sets custom fields. The call should only be made once to add the field to the system. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_custom_field_response import PostCustomFieldResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.CustomFieldsApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + name = 'name_example' # str | Field name (optional) + shortcode = 'shortcode_example' # str | Internal reference and is used for integration purposes such as custom links and the API (optional) + apply_to = reservation # str | Where put this field in reservation or guest section of the booking. reservation - applies the custom field to reservations in myfrontdesk guest - applies the custom field to guest interface in myfrontdesk (optional) (default to reservation) + required = False # bool | Specify whether this field is required to be filled out. (optional) (default to False) + max_characters = 40 # int | Maximum number of characters allowed to be entered in this field. (optional) (default to 40) + type = input # str | The field's input type. (optional) (default to input) + displayed = ['displayed_example'] # List[str] | ¹ Specify where this custom field to show up. reservation - applies the custom field to reservation interface in myfrontdesk booking - applies the custom field to the booking engine card - applies the custom field to Registration cards (optional) + is_personal = True # bool | Specifies if the contents of this field may contain personal information. User's personal information may be removed upon request according to GDPR rules. (optional) + + try: + # postCustomField + api_response = api_instance.post_custom_field_post(property_id=property_id, name=name, shortcode=shortcode, apply_to=apply_to, required=required, max_characters=max_characters, type=type, displayed=displayed, is_personal=is_personal) + print("The response of CustomFieldsApi->post_custom_field_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CustomFieldsApi->post_custom_field_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **name** | **str**| Field name | [optional] + **shortcode** | **str**| Internal reference and is used for integration purposes such as custom links and the API | [optional] + **apply_to** | **str**| Where put this field in reservation or guest section of the booking. reservation - applies the custom field to reservations in myfrontdesk guest - applies the custom field to guest interface in myfrontdesk | [optional] [default to reservation] + **required** | **bool**| Specify whether this field is required to be filled out. | [optional] [default to False] + **max_characters** | **int**| Maximum number of characters allowed to be entered in this field. | [optional] [default to 40] + **type** | **str**| The field's input type. | [optional] [default to input] + **displayed** | [**List[str]**](str.md)| ¹ Specify where this custom field to show up. reservation - applies the custom field to reservation interface in myfrontdesk booking - applies the custom field to the booking engine card - applies the custom field to Registration cards | [optional] + **is_personal** | **bool**| Specifies if the contents of this field may contain personal information. User's personal information may be removed upon request according to GDPR rules. | [optional] + +### Return type + +[**PostCustomFieldResponse**](PostCustomFieldResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/DashboardApi.md b/cloudbeds_pms_v1_3/docs/DashboardApi.md new file mode 100644 index 0000000..f9ef6f6 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/DashboardApi.md @@ -0,0 +1,93 @@ +# cloudbeds_pms_v1_3.DashboardApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_dashboard_get**](DashboardApi.md#get_dashboard_get) | **GET** /getDashboard | getDashboard + + +# **get_dashboard_get** +> GetDashboardResponse get_dashboard_get(property_id=property_id, var_date=var_date) + +getDashboard + +Returns basic information about the current state of the hotel + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_dashboard_response import GetDashboardResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.DashboardApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + var_date = '2013-10-20' # date | Return data for this date. Format: YYYY-MM-DD (optional) + + try: + # getDashboard + api_response = api_instance.get_dashboard_get(property_id=property_id, var_date=var_date) + print("The response of DashboardApi->get_dashboard_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DashboardApi->get_dashboard_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **var_date** | **date**| Return data for this date. Format: YYYY-MM-DD | [optional] + +### Return type + +[**GetDashboardResponse**](GetDashboardResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/DeleteAdjustmentResponse.md b/cloudbeds_pms_v1_3/docs/DeleteAdjustmentResponse.md new file mode 100644 index 0000000..ca9f4bb --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/DeleteAdjustmentResponse.md @@ -0,0 +1,30 @@ +# DeleteAdjustmentResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.delete_adjustment_response import DeleteAdjustmentResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of DeleteAdjustmentResponse from a JSON string +delete_adjustment_response_instance = DeleteAdjustmentResponse.from_json(json) +# print the JSON string representation of the object +print(DeleteAdjustmentResponse.to_json()) + +# convert the object into a dict +delete_adjustment_response_dict = delete_adjustment_response_instance.to_dict() +# create an instance of DeleteAdjustmentResponse from a dict +delete_adjustment_response_from_dict = DeleteAdjustmentResponse.from_dict(delete_adjustment_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/DeleteGuestNoteResponse.md b/cloudbeds_pms_v1_3/docs/DeleteGuestNoteResponse.md new file mode 100644 index 0000000..eb99715 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/DeleteGuestNoteResponse.md @@ -0,0 +1,30 @@ +# DeleteGuestNoteResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.delete_guest_note_response import DeleteGuestNoteResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of DeleteGuestNoteResponse from a JSON string +delete_guest_note_response_instance = DeleteGuestNoteResponse.from_json(json) +# print the JSON string representation of the object +print(DeleteGuestNoteResponse.to_json()) + +# convert the object into a dict +delete_guest_note_response_dict = delete_guest_note_response_instance.to_dict() +# create an instance of DeleteGuestNoteResponse from a dict +delete_guest_note_response_from_dict = DeleteGuestNoteResponse.from_dict(delete_guest_note_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/DeleteReservationNoteResponse.md b/cloudbeds_pms_v1_3/docs/DeleteReservationNoteResponse.md new file mode 100644 index 0000000..9757037 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/DeleteReservationNoteResponse.md @@ -0,0 +1,30 @@ +# DeleteReservationNoteResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.delete_reservation_note_response import DeleteReservationNoteResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of DeleteReservationNoteResponse from a JSON string +delete_reservation_note_response_instance = DeleteReservationNoteResponse.from_json(json) +# print the JSON string representation of the object +print(DeleteReservationNoteResponse.to_json()) + +# convert the object into a dict +delete_reservation_note_response_dict = delete_reservation_note_response_instance.to_dict() +# create an instance of DeleteReservationNoteResponse from a dict +delete_reservation_note_response_from_dict = DeleteReservationNoteResponse.from_dict(delete_reservation_note_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/DeleteRoomBlockResponse.md b/cloudbeds_pms_v1_3/docs/DeleteRoomBlockResponse.md new file mode 100644 index 0000000..4703204 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/DeleteRoomBlockResponse.md @@ -0,0 +1,30 @@ +# DeleteRoomBlockResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.delete_room_block_response import DeleteRoomBlockResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of DeleteRoomBlockResponse from a JSON string +delete_room_block_response_instance = DeleteRoomBlockResponse.from_json(json) +# print the JSON string representation of the object +print(DeleteRoomBlockResponse.to_json()) + +# convert the object into a dict +delete_room_block_response_dict = delete_room_block_response_instance.to_dict() +# create an instance of DeleteRoomBlockResponse from a dict +delete_room_block_response_from_dict = DeleteRoomBlockResponse.from_dict(delete_room_block_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/DeleteWebhookResponse.md b/cloudbeds_pms_v1_3/docs/DeleteWebhookResponse.md new file mode 100644 index 0000000..0ae0350 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/DeleteWebhookResponse.md @@ -0,0 +1,29 @@ +# DeleteWebhookResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.delete_webhook_response import DeleteWebhookResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of DeleteWebhookResponse from a JSON string +delete_webhook_response_instance = DeleteWebhookResponse.from_json(json) +# print the JSON string representation of the object +print(DeleteWebhookResponse.to_json()) + +# convert the object into a dict +delete_webhook_response_dict = delete_webhook_response_instance.to_dict() +# create an instance of DeleteWebhookResponse from a dict +delete_webhook_response_from_dict = DeleteWebhookResponse.from_dict(delete_webhook_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/EmailsApi.md b/cloudbeds_pms_v1_3/docs/EmailsApi.md new file mode 100644 index 0000000..5c3ce07 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/EmailsApi.md @@ -0,0 +1,371 @@ +# cloudbeds_pms_v1_3.EmailsApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_email_schedule_get**](EmailsApi.md#get_email_schedule_get) | **GET** /getEmailSchedule | getEmailSchedule +[**get_email_templates_get**](EmailsApi.md#get_email_templates_get) | **GET** /getEmailTemplates | getEmailTemplates +[**post_email_schedule_post**](EmailsApi.md#post_email_schedule_post) | **POST** /postEmailSchedule | postEmailSchedule +[**post_email_template_post**](EmailsApi.md#post_email_template_post) | **POST** /postEmailTemplate | postEmailTemplate + + +# **get_email_schedule_get** +> GetEmailScheduleResponse get_email_schedule_get(property_id=property_id) + +getEmailSchedule + +Returns a list of all existing email scheduling. This call is only available for third-party integration partners, and not for property client IDs. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_email_schedule_response import GetEmailScheduleResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.EmailsApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # getEmailSchedule + api_response = api_instance.get_email_schedule_get(property_id=property_id) + print("The response of EmailsApi->get_email_schedule_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EmailsApi->get_email_schedule_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**GetEmailScheduleResponse**](GetEmailScheduleResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_email_templates_get** +> GetEmailTemplatesResponse get_email_templates_get(property_id=property_id) + +getEmailTemplates + +Returns a list of all existing email templates. This call is only available for third-party integration partners, and not for property client IDs. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_email_templates_response import GetEmailTemplatesResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.EmailsApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # getEmailTemplates + api_response = api_instance.get_email_templates_get(property_id=property_id) + print("The response of EmailsApi->get_email_templates_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EmailsApi->get_email_templates_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**GetEmailTemplatesResponse**](GetEmailTemplatesResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_email_schedule_post** +> PostEmailScheduleResponse post_email_schedule_post(property_id=property_id, email_template_id=email_template_id, schedule_name=schedule_name, schedule=schedule) + +postEmailSchedule + +Creates a new email schedule for existing email template. Email template can be scheduled based on two parameters: reservationStatusChange and reservationEvent. Only one of the parameters can be used. *reservationStatusChange* schedules email to be sent when reservation status transitions to a specific one, for instance: `confirmed`. *reservationEvent* schedules email to be sent number of days prior or after a specific event, for instance: `after_check_out` at a given time This call is only available for third-party integration partners, and not for property client IDs. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule import PostEmailScheduleRequestSchedule +from cloudbeds_pms_v1_3.models.post_email_schedule_response import PostEmailScheduleResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.EmailsApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + email_template_id = 'email_template_id_example' # str | ID of the email template that will be used when sending an email. (optional) + schedule_name = 'schedule_name_example' # str | User friendly schedule name that appears in the list. Should contain app name. (optional) + schedule = cloudbeds_pms_v1_3.PostEmailScheduleRequestSchedule() # PostEmailScheduleRequestSchedule | (optional) + + try: + # postEmailSchedule + api_response = api_instance.post_email_schedule_post(property_id=property_id, email_template_id=email_template_id, schedule_name=schedule_name, schedule=schedule) + print("The response of EmailsApi->post_email_schedule_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EmailsApi->post_email_schedule_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **email_template_id** | **str**| ID of the email template that will be used when sending an email. | [optional] + **schedule_name** | **str**| User friendly schedule name that appears in the list. Should contain app name. | [optional] + **schedule** | [**PostEmailScheduleRequestSchedule**](PostEmailScheduleRequestSchedule.md)| | [optional] + +### Return type + +[**PostEmailScheduleResponse**](PostEmailScheduleResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_email_template_post** +> PostEmailTemplateResponse post_email_template_post(property_id=property_id, email_type=email_type, name=name, var_from=var_from, from_name=from_name, subject=subject, body=body, reply_to=reply_to, reply_to_name=reply_to_name, autofill_all_languages=autofill_all_languages, cc=cc, bcc=bcc) + +postEmailTemplate + +Creates a new email template. See the full list of available language parameters here. This call is only available for third-party integration partners, and not for property client IDs. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_email_template_request_body import PostEmailTemplateRequestBody +from cloudbeds_pms_v1_3.models.post_email_template_request_subject import PostEmailTemplateRequestSubject +from cloudbeds_pms_v1_3.models.post_email_template_response import PostEmailTemplateResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.EmailsApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + email_type = nonMarketing # str | Type of the email template: Marketing or Non-Marketing. Only applicable to GDPR-compliant properties. (optional) (default to nonMarketing) + name = 'name_example' # str | Template name (optional) + var_from = 'var_from_example' # str | Email address from which the email message may be sent (optional) + from_name = 'from_name_example' # str | from which the email message may be sent. If empty email will be used (optional) + subject = cloudbeds_pms_v1_3.PostEmailTemplateRequestSubject() # PostEmailTemplateRequestSubject | (optional) + body = cloudbeds_pms_v1_3.PostEmailTemplateRequestBody() # PostEmailTemplateRequestBody | (optional) + reply_to = 'reply_to_example' # str | Email address to which the email message may be replied. If empty, the value on from parameter will be used. (optional) + reply_to_name = 'reply_to_name_example' # str | Name to which the email message may be replied. If empty, email will be used. (optional) + autofill_all_languages = True # bool | If set, all languages will be set with the value for the property language. If not informed and only one language is sent, it's considered true, if more than one language is sent, it'll be considered false. (optional) + cc = 'cc_example' # str | Email address to which the email message may be sent as a Carbon Copy (optional) + bcc = 'bcc_example' # str | Email address to which the email message may be sent as a Blind Carbon Copy (optional) + + try: + # postEmailTemplate + api_response = api_instance.post_email_template_post(property_id=property_id, email_type=email_type, name=name, var_from=var_from, from_name=from_name, subject=subject, body=body, reply_to=reply_to, reply_to_name=reply_to_name, autofill_all_languages=autofill_all_languages, cc=cc, bcc=bcc) + print("The response of EmailsApi->post_email_template_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EmailsApi->post_email_template_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **email_type** | **str**| Type of the email template: Marketing or Non-Marketing. Only applicable to GDPR-compliant properties. | [optional] [default to nonMarketing] + **name** | **str**| Template name | [optional] + **var_from** | **str**| Email address from which the email message may be sent | [optional] + **from_name** | **str**| from which the email message may be sent. If empty email will be used | [optional] + **subject** | [**PostEmailTemplateRequestSubject**](PostEmailTemplateRequestSubject.md)| | [optional] + **body** | [**PostEmailTemplateRequestBody**](PostEmailTemplateRequestBody.md)| | [optional] + **reply_to** | **str**| Email address to which the email message may be replied. If empty, the value on from parameter will be used. | [optional] + **reply_to_name** | **str**| Name to which the email message may be replied. If empty, email will be used. | [optional] + **autofill_all_languages** | **bool**| If set, all languages will be set with the value for the property language. If not informed and only one language is sent, it's considered true, if more than one language is sent, it'll be considered false. | [optional] + **cc** | **str**| Email address to which the email message may be sent as a Carbon Copy | [optional] + **bcc** | **str**| Email address to which the email message may be sent as a Blind Carbon Copy | [optional] + +### Return type + +[**PostEmailTemplateResponse**](PostEmailTemplateResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponse.md b/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponse.md new file mode 100644 index 0000000..2d94282 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponse.md @@ -0,0 +1,32 @@ +# GetAllotmentBlocksResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**count** | **int** | Number of allotment blocks returned | [optional] +**total** | **int** | Total number of allotment blocks | [optional] +**data** | [**List[GetAllotmentBlocksResponseDataInner]**](GetAllotmentBlocksResponseDataInner.md) | Allotment Blocks | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response import GetAllotmentBlocksResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAllotmentBlocksResponse from a JSON string +get_allotment_blocks_response_instance = GetAllotmentBlocksResponse.from_json(json) +# print the JSON string representation of the object +print(GetAllotmentBlocksResponse.to_json()) + +# convert the object into a dict +get_allotment_blocks_response_dict = get_allotment_blocks_response_instance.to_dict() +# create an instance of GetAllotmentBlocksResponse from a dict +get_allotment_blocks_response_from_dict = GetAllotmentBlocksResponse.from_dict(get_allotment_blocks_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInner.md new file mode 100644 index 0000000..b116fd2 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInner.md @@ -0,0 +1,53 @@ +# GetAllotmentBlocksResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_id** | **str** | Property ID associated to the allotment block | [optional] +**allotment_block_code** | **str** | Allotment block code | [optional] +**allotment_block_status** | **str** | Allotment block status | [optional] +**allotment_block_name** | **str** | Allotment block name | [optional] +**allotment_block_id** | **str** | Allotment block ID | [optional] +**rate_type** | **str** | Rate type for the allotment block | [optional] +**rate_plan_id** | **str** | Rate plan ID if applicable | [optional] +**rate_plan** | **str** | Rate plan name if applicable | [optional] +**allotment_type** | **str** | the type of allotment block | [optional] +**group_id** | **str** | Group profile ID associated to the allotment block | [optional] +**group_code** | **str** | Group profile code associated to the allotment block | [optional] +**event_id** | **str** | Event ID associated to the allotment block | [optional] +**event_code** | **str** | Event code associated to the allotment block | [optional] +**booking_code_url** | **str** | URL for the booking engine with the allotment block code pre-filled | [optional] +**is_auto_release** | **bool** | If the allotment block is configured for auto-release | [optional] +**auto_release** | [**List[GetAllotmentBlocksResponseDataInnerAutoReleaseInner]**](GetAllotmentBlocksResponseDataInnerAutoReleaseInner.md) | auto-release data if applicable | [optional] +**release_status** | **str** | Current status of the inventory release process | [optional] +**release_schedule_status** | **str** | Human-readable description of release schedule | [optional] +**release_schedule_type** | **str** | The release scheduling method for inventory release | [optional] +**release_date** | **str** | Release date | [optional] +**reservations_count** | **int** | Number of linked reservations | [optional] +**rooms_held** | **int** | Total rooms held | [optional] +**rooms_picked_up** | **int** | Rooms picked up | [optional] +**rooms_remaining** | **int** | Rooms remaining | [optional] +**allotment_intervals** | [**List[GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner]**](GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner.md) | array of interval data by room type | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner import GetAllotmentBlocksResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAllotmentBlocksResponseDataInner from a JSON string +get_allotment_blocks_response_data_inner_instance = GetAllotmentBlocksResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetAllotmentBlocksResponseDataInner.to_json()) + +# convert the object into a dict +get_allotment_blocks_response_data_inner_dict = get_allotment_blocks_response_data_inner_instance.to_dict() +# create an instance of GetAllotmentBlocksResponseDataInner from a dict +get_allotment_blocks_response_data_inner_from_dict = GetAllotmentBlocksResponseDataInner.from_dict(get_allotment_blocks_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner.md b/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner.md new file mode 100644 index 0000000..f7648b2 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner.md @@ -0,0 +1,34 @@ +# GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**policy_id** | **str** | Policy ID associated with the interval | [optional] +**room_type_id** | **str** | Room type ID | [optional] +**start_date** | **date** | Interval start date | [optional] +**end_date** | **date** | Interval end date | [optional] +**availability** | [**List[GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner]**](GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner.md) | Interval availability data by day in interval | [optional] +**restrictions** | [**GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions**](GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner import GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner from a JSON string +get_allotment_blocks_response_data_inner_allotment_intervals_inner_instance = GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner.from_json(json) +# print the JSON string representation of the object +print(GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner.to_json()) + +# convert the object into a dict +get_allotment_blocks_response_data_inner_allotment_intervals_inner_dict = get_allotment_blocks_response_data_inner_allotment_intervals_inner_instance.to_dict() +# create an instance of GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner from a dict +get_allotment_blocks_response_data_inner_allotment_intervals_inner_from_dict = GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner.from_dict(get_allotment_blocks_response_data_inner_allotment_intervals_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner.md b/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner.md new file mode 100644 index 0000000..edc7a6a --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner.md @@ -0,0 +1,36 @@ +# GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_date** | **date** | Day within interval | [optional] +**block_remaining** | **int** | Number of units remaining for the room type for this day | [optional] +**block_allotted** | **int** | Total number of units available for the room type for this day | [optional] +**block_confirmed** | **int** | Number of units booked for the room type for this day | [optional] +**rate** | **str** | the price | [optional] +**guest_pricing** | [**PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing**](PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing.md) | | [optional] +**split_block_allotted** | **int** | Number of split units available for the room type this day | [optional] +**split_block_confirmed** | **int** | Number of split units blocked for the room type this day | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner import GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner from a JSON string +get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner_instance = GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner.from_json(json) +# print the JSON string representation of the object +print(GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner.to_json()) + +# convert the object into a dict +get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner_dict = get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner_instance.to_dict() +# create an instance of GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner from a dict +get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner_from_dict = GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner.from_dict(get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions.md b/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions.md new file mode 100644 index 0000000..a37efe5 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions.md @@ -0,0 +1,35 @@ +# GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions + +Interval restrictions if applicable + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**min_los** | **int** | Minimum length of stay requirement | [optional] +**max_los** | **int** | Maximum length of stay requirement | [optional] +**cut_off_days** | **int** | How many days before arrival should guests be required to book | [optional] +**last_minute_booking_days** | **int** | How many days before the arrival guests are allowed to book | [optional] +**closed_to_arrival** | **int** | If the interval dates are closed for arrival | [optional] +**closed_to_departure** | **int** | If the interval dates are closed for departure | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions import GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions from a JSON string +get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions_instance = GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions.from_json(json) +# print the JSON string representation of the object +print(GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions.to_json()) + +# convert the object into a dict +get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions_dict = get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions_instance.to_dict() +# create an instance of GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions from a dict +get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions_from_dict = GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions.from_dict(get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAutoReleaseInner.md b/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAutoReleaseInner.md new file mode 100644 index 0000000..c575ea3 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAllotmentBlocksResponseDataInnerAutoReleaseInner.md @@ -0,0 +1,31 @@ +# GetAllotmentBlocksResponseDataInnerAutoReleaseInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**release_type** | **str** | The type of auto-release | [optional] +**days** | **int** | The number of days prior to the end of the allotment block to begin releasing dates from the allotment block | [optional] +**release_time** | **str** | The hour to being the auto-release in HH:00 format, e.g. '00:00', '01:00'... | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_auto_release_inner import GetAllotmentBlocksResponseDataInnerAutoReleaseInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAllotmentBlocksResponseDataInnerAutoReleaseInner from a JSON string +get_allotment_blocks_response_data_inner_auto_release_inner_instance = GetAllotmentBlocksResponseDataInnerAutoReleaseInner.from_json(json) +# print the JSON string representation of the object +print(GetAllotmentBlocksResponseDataInnerAutoReleaseInner.to_json()) + +# convert the object into a dict +get_allotment_blocks_response_data_inner_auto_release_inner_dict = get_allotment_blocks_response_data_inner_auto_release_inner_instance.to_dict() +# create an instance of GetAllotmentBlocksResponseDataInnerAutoReleaseInner from a dict +get_allotment_blocks_response_data_inner_auto_release_inner_from_dict = GetAllotmentBlocksResponseDataInnerAutoReleaseInner.from_dict(get_allotment_blocks_response_data_inner_auto_release_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAppPropertySettingsResponse.md b/cloudbeds_pms_v1_3/docs/GetAppPropertySettingsResponse.md new file mode 100644 index 0000000..c6e59c5 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAppPropertySettingsResponse.md @@ -0,0 +1,30 @@ +# GetAppPropertySettingsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Success | [optional] +**data** | [**GetAppPropertySettingsResponseData**](GetAppPropertySettingsResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_app_property_settings_response import GetAppPropertySettingsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAppPropertySettingsResponse from a JSON string +get_app_property_settings_response_instance = GetAppPropertySettingsResponse.from_json(json) +# print the JSON string representation of the object +print(GetAppPropertySettingsResponse.to_json()) + +# convert the object into a dict +get_app_property_settings_response_dict = get_app_property_settings_response_instance.to_dict() +# create an instance of GetAppPropertySettingsResponse from a dict +get_app_property_settings_response_from_dict = GetAppPropertySettingsResponse.from_dict(get_app_property_settings_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAppPropertySettingsResponseData.md b/cloudbeds_pms_v1_3/docs/GetAppPropertySettingsResponseData.md new file mode 100644 index 0000000..e12fc42 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAppPropertySettingsResponseData.md @@ -0,0 +1,32 @@ +# GetAppPropertySettingsResponseData + +Data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | ID | [optional] +**key** | **str** | Key | [optional] +**value** | **str** | Value | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_app_property_settings_response_data import GetAppPropertySettingsResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAppPropertySettingsResponseData from a JSON string +get_app_property_settings_response_data_instance = GetAppPropertySettingsResponseData.from_json(json) +# print the JSON string representation of the object +print(GetAppPropertySettingsResponseData.to_json()) + +# convert the object into a dict +get_app_property_settings_response_data_dict = get_app_property_settings_response_data_instance.to_dict() +# create an instance of GetAppPropertySettingsResponseData from a dict +get_app_property_settings_response_data_from_dict = GetAppPropertySettingsResponseData.from_dict(get_app_property_settings_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAppPropertySettingsResponseDataOneOf.md b/cloudbeds_pms_v1_3/docs/GetAppPropertySettingsResponseDataOneOf.md new file mode 100644 index 0000000..b11acd1 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAppPropertySettingsResponseDataOneOf.md @@ -0,0 +1,31 @@ +# GetAppPropertySettingsResponseDataOneOf + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | ID | [optional] +**key** | **str** | Key | [optional] +**value** | **str** | Value | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_app_property_settings_response_data_one_of import GetAppPropertySettingsResponseDataOneOf + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAppPropertySettingsResponseDataOneOf from a JSON string +get_app_property_settings_response_data_one_of_instance = GetAppPropertySettingsResponseDataOneOf.from_json(json) +# print the JSON string representation of the object +print(GetAppPropertySettingsResponseDataOneOf.to_json()) + +# convert the object into a dict +get_app_property_settings_response_data_one_of_dict = get_app_property_settings_response_data_one_of_instance.to_dict() +# create an instance of GetAppPropertySettingsResponseDataOneOf from a dict +get_app_property_settings_response_data_one_of_from_dict = GetAppPropertySettingsResponseDataOneOf.from_dict(get_app_property_settings_response_data_one_of_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAppSettingsResponse.md b/cloudbeds_pms_v1_3/docs/GetAppSettingsResponse.md new file mode 100644 index 0000000..b023ef0 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAppSettingsResponse.md @@ -0,0 +1,30 @@ +# GetAppSettingsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**GetAppSettingsResponseData**](GetAppSettingsResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_app_settings_response import GetAppSettingsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAppSettingsResponse from a JSON string +get_app_settings_response_instance = GetAppSettingsResponse.from_json(json) +# print the JSON string representation of the object +print(GetAppSettingsResponse.to_json()) + +# convert the object into a dict +get_app_settings_response_dict = get_app_settings_response_instance.to_dict() +# create an instance of GetAppSettingsResponse from a dict +get_app_settings_response_from_dict = GetAppSettingsResponse.from_dict(get_app_settings_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAppSettingsResponseData.md b/cloudbeds_pms_v1_3/docs/GetAppSettingsResponseData.md new file mode 100644 index 0000000..0c38a3c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAppSettingsResponseData.md @@ -0,0 +1,30 @@ +# GetAppSettingsResponseData + +Application settings details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**full_revenue_sync** | **bool** | Full Revenue Sync | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_app_settings_response_data import GetAppSettingsResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAppSettingsResponseData from a JSON string +get_app_settings_response_data_instance = GetAppSettingsResponseData.from_json(json) +# print the JSON string representation of the object +print(GetAppSettingsResponseData.to_json()) + +# convert the object into a dict +get_app_settings_response_data_dict = get_app_settings_response_data_instance.to_dict() +# create an instance of GetAppSettingsResponseData from a dict +get_app_settings_response_data_from_dict = GetAppSettingsResponseData.from_dict(get_app_settings_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAppStateResponse.md b/cloudbeds_pms_v1_3/docs/GetAppStateResponse.md new file mode 100644 index 0000000..16dbbf8 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAppStateResponse.md @@ -0,0 +1,30 @@ +# GetAppStateResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**GetAppStateResponseData**](GetAppStateResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_app_state_response import GetAppStateResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAppStateResponse from a JSON string +get_app_state_response_instance = GetAppStateResponse.from_json(json) +# print the JSON string representation of the object +print(GetAppStateResponse.to_json()) + +# convert the object into a dict +get_app_state_response_dict = get_app_state_response_instance.to_dict() +# create an instance of GetAppStateResponse from a dict +get_app_state_response_from_dict = GetAppStateResponse.from_dict(get_app_state_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAppStateResponseData.md b/cloudbeds_pms_v1_3/docs/GetAppStateResponseData.md new file mode 100644 index 0000000..0a29036 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAppStateResponseData.md @@ -0,0 +1,30 @@ +# GetAppStateResponseData + +Integration state details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**app_state** | **str** | Integration state | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_app_state_response_data import GetAppStateResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAppStateResponseData from a JSON string +get_app_state_response_data_instance = GetAppStateResponseData.from_json(json) +# print the JSON string representation of the object +print(GetAppStateResponseData.to_json()) + +# convert the object into a dict +get_app_state_response_data_dict = get_app_state_response_data_instance.to_dict() +# create an instance of GetAppStateResponseData from a dict +get_app_state_response_data_from_dict = GetAppStateResponseData.from_dict(get_app_state_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponse.md b/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponse.md new file mode 100644 index 0000000..f677fe4 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponse.md @@ -0,0 +1,34 @@ +# GetAvailableRoomTypesResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetAvailableRoomTypesResponseDataInner]**](GetAvailableRoomTypesResponseDataInner.md) | Room Types details | [optional] +**room_count** | **int** | Number of results (room types) returned | [optional] +**count** | **int** | Number of results (properties) returned | [optional] +**total** | **int** | Total number of results (properties) | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_available_room_types_response import GetAvailableRoomTypesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAvailableRoomTypesResponse from a JSON string +get_available_room_types_response_instance = GetAvailableRoomTypesResponse.from_json(json) +# print the JSON string representation of the object +print(GetAvailableRoomTypesResponse.to_json()) + +# convert the object into a dict +get_available_room_types_response_dict = get_available_room_types_response_instance.to_dict() +# create an instance of GetAvailableRoomTypesResponse from a dict +get_available_room_types_response_from_dict = GetAvailableRoomTypesResponse.from_dict(get_available_room_types_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInner.md new file mode 100644 index 0000000..610768d --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInner.md @@ -0,0 +1,31 @@ +# GetAvailableRoomTypesResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_id** | **str** | Property ID | [optional] +**property_currency** | [**List[GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner]**](GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner.md) | Currency used by the property | [optional] +**property_rooms** | [**List[GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner]**](GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner.md) | List of room types for the property | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner import GetAvailableRoomTypesResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAvailableRoomTypesResponseDataInner from a JSON string +get_available_room_types_response_data_inner_instance = GetAvailableRoomTypesResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetAvailableRoomTypesResponseDataInner.to_json()) + +# convert the object into a dict +get_available_room_types_response_data_inner_dict = get_available_room_types_response_data_inner_instance.to_dict() +# create an instance of GetAvailableRoomTypesResponseDataInner from a dict +get_available_room_types_response_data_inner_from_dict = GetAvailableRoomTypesResponseDataInner.from_dict(get_available_room_types_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner.md b/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner.md new file mode 100644 index 0000000..891fa1c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner.md @@ -0,0 +1,31 @@ +# GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**currency_code** | **str** | Currency identifier code | [optional] +**currency_symbol** | **str** | Currency symbol | [optional] +**currency_position** | **str** | Currency position | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_currency_inner import GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner from a JSON string +get_available_room_types_response_data_inner_property_currency_inner_instance = GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner.from_json(json) +# print the JSON string representation of the object +print(GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner.to_json()) + +# convert the object into a dict +get_available_room_types_response_data_inner_property_currency_inner_dict = get_available_room_types_response_data_inner_property_currency_inner_instance.to_dict() +# create an instance of GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner from a dict +get_available_room_types_response_data_inner_property_currency_inner_from_dict = GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner.from_dict(get_available_room_types_response_data_inner_property_currency_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner.md b/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner.md new file mode 100644 index 0000000..3bba861 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner.md @@ -0,0 +1,48 @@ +# GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**room_type_id** | **str** | Room type ID | [optional] +**room_type_name** | **str** | Room type name | [optional] +**room_type_name_short** | **str** | Room type short name | [optional] +**room_type_description** | **str** | Room Type Description | [optional] +**max_guests** | **int** | Max number of guests allowed in the room type | [optional] +**adults_included** | **int** | Number of adults included on the basic room rate | [optional] +**children_included** | **int** | Number of children included on the basic room rate | [optional] +**room_type_photos** | [**List[GetHotelDetailsResponseDataPropertyImageInner]**](GetHotelDetailsResponseDataPropertyImageInner.md) | List of photos for the room type | [optional] +**room_type_features** | **List[str]** | List of features for the room type | [optional] +**room_rate** | **float** | Basic rate for the room, based on the parameters provided | [optional] +**room_rate_id** | **str** | Specific Rate ID used for the room type ID | [optional] +**rate_plan_name_public** | **str** | Rate plan public name | [optional] +**rate_plan_name_private** | **str** | Rate plan private name | [optional] +**rooms_available** | **int** | Number of rooms available, based on the parameters provided | [optional] +**adults_extra_charge** | **List[object]** | Total extra charge for number of adults, depending on room settings (see \"adultsIncluded\" field). It is an associative array, where the key is the number of adults, and the value is the total extra charge when the number of adults is selected. | [optional] +**children_extra_charge** | **List[object]** | Total extra charge for number of children, depending on room settings (see \"childrenIncluded\" field). It is an associative array, where the key is the number of children, and the value is the total extra charge when the number of children is selected. | [optional] +**room_rate_detailed** | [**List[GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner]**](GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner.md) | Detailed information on the rates, if requested | [optional] +**derived_type** | **str** | type of deriving (only if current rate was derived from other one). | [optional] +**derived_value** | **float** | Can be positive or negative (only if current rate was derived from other one). | [optional] +**individual_rooms** | [**List[GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner]**](GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner.md) | Individual rooms available to be booked (if set on backend) | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner import GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner from a JSON string +get_available_room_types_response_data_inner_property_rooms_inner_instance = GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner.from_json(json) +# print the JSON string representation of the object +print(GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner.to_json()) + +# convert the object into a dict +get_available_room_types_response_data_inner_property_rooms_inner_dict = get_available_room_types_response_data_inner_property_rooms_inner_instance.to_dict() +# create an instance of GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner from a dict +get_available_room_types_response_data_inner_property_rooms_inner_from_dict = GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner.from_dict(get_available_room_types_response_data_inner_property_rooms_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner.md b/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner.md new file mode 100644 index 0000000..b5dc184 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner.md @@ -0,0 +1,31 @@ +# GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**room_id** | **str** | | [optional] +**room_name** | **float** | | [optional] +**dorm_room_name** | **str** | Name of the dorm room. Used for the shared dorm beds that are organized into rooms within the same room type. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner import GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner from a JSON string +get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner_instance = GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner.from_json(json) +# print the JSON string representation of the object +print(GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner.to_json()) + +# convert the object into a dict +get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner_dict = get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner_instance.to_dict() +# create an instance of GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner from a dict +get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner_from_dict = GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner.from_dict(get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner.md b/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner.md new file mode 100644 index 0000000..0dc9653 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner.md @@ -0,0 +1,30 @@ +# GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_date** | **date** | | [optional] +**rate** | **float** | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner import GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner from a JSON string +get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner_instance = GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner.from_json(json) +# print the JSON string representation of the object +print(GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner.to_json()) + +# convert the object into a dict +get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner_dict = get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner_instance.to_dict() +# create an instance of GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner from a dict +get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner_from_dict = GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner.from_dict(get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponse.md b/cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponse.md new file mode 100644 index 0000000..82f1688 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponse.md @@ -0,0 +1,31 @@ +# GetCurrencySettingsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**GetCurrencySettingsResponseData**](GetCurrencySettingsResponseData.md) | | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_currency_settings_response import GetCurrencySettingsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetCurrencySettingsResponse from a JSON string +get_currency_settings_response_instance = GetCurrencySettingsResponse.from_json(json) +# print the JSON string representation of the object +print(GetCurrencySettingsResponse.to_json()) + +# convert the object into a dict +get_currency_settings_response_dict = get_currency_settings_response_instance.to_dict() +# create an instance of GetCurrencySettingsResponse from a dict +get_currency_settings_response_from_dict = GetCurrencySettingsResponse.from_dict(get_currency_settings_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseData.md b/cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseData.md new file mode 100644 index 0000000..ba38572 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseData.md @@ -0,0 +1,33 @@ +# GetCurrencySettingsResponseData + +Currency Settings + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**default** | **str** | Default Currency ISO CODE | [optional] +**acceptable** | **List[str]** | Acceptable Currency ISO CODEs | [optional] +**format** | [**GetCurrencySettingsResponseDataFormat**](GetCurrencySettingsResponseDataFormat.md) | | [optional] +**rates** | [**GetCurrencySettingsResponseDataRates**](GetCurrencySettingsResponseDataRates.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data import GetCurrencySettingsResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of GetCurrencySettingsResponseData from a JSON string +get_currency_settings_response_data_instance = GetCurrencySettingsResponseData.from_json(json) +# print the JSON string representation of the object +print(GetCurrencySettingsResponseData.to_json()) + +# convert the object into a dict +get_currency_settings_response_data_dict = get_currency_settings_response_data_instance.to_dict() +# create an instance of GetCurrencySettingsResponseData from a dict +get_currency_settings_response_data_from_dict = GetCurrencySettingsResponseData.from_dict(get_currency_settings_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseDataFormat.md b/cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseDataFormat.md new file mode 100644 index 0000000..f90118c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseDataFormat.md @@ -0,0 +1,31 @@ +# GetCurrencySettingsResponseDataFormat + +Currency Format + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**decimal** | **str** | Decimal separator | [optional] +**thousand** | **str** | Thousand separator | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data_format import GetCurrencySettingsResponseDataFormat + +# TODO update the JSON string below +json = "{}" +# create an instance of GetCurrencySettingsResponseDataFormat from a JSON string +get_currency_settings_response_data_format_instance = GetCurrencySettingsResponseDataFormat.from_json(json) +# print the JSON string representation of the object +print(GetCurrencySettingsResponseDataFormat.to_json()) + +# convert the object into a dict +get_currency_settings_response_data_format_dict = get_currency_settings_response_data_format_instance.to_dict() +# create an instance of GetCurrencySettingsResponseDataFormat from a dict +get_currency_settings_response_data_format_from_dict = GetCurrencySettingsResponseDataFormat.from_dict(get_currency_settings_response_data_format_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseDataRates.md b/cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseDataRates.md new file mode 100644 index 0000000..18b7062 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseDataRates.md @@ -0,0 +1,30 @@ +# GetCurrencySettingsResponseDataRates + +Currency rates + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**fixed** | [**List[GetCurrencySettingsResponseDataRatesFixedInner]**](GetCurrencySettingsResponseDataRatesFixedInner.md) | Fixed currency rates (configured by the property) | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data_rates import GetCurrencySettingsResponseDataRates + +# TODO update the JSON string below +json = "{}" +# create an instance of GetCurrencySettingsResponseDataRates from a JSON string +get_currency_settings_response_data_rates_instance = GetCurrencySettingsResponseDataRates.from_json(json) +# print the JSON string representation of the object +print(GetCurrencySettingsResponseDataRates.to_json()) + +# convert the object into a dict +get_currency_settings_response_data_rates_dict = get_currency_settings_response_data_rates_instance.to_dict() +# create an instance of GetCurrencySettingsResponseDataRates from a dict +get_currency_settings_response_data_rates_from_dict = GetCurrencySettingsResponseDataRates.from_dict(get_currency_settings_response_data_rates_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseDataRatesFixedInner.md b/cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseDataRatesFixedInner.md new file mode 100644 index 0000000..fc1354b --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetCurrencySettingsResponseDataRatesFixedInner.md @@ -0,0 +1,30 @@ +# GetCurrencySettingsResponseDataRatesFixedInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**currency** | **str** | Currency ISO CODE | [optional] +**rate** | **float** | Currency rate | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data_rates_fixed_inner import GetCurrencySettingsResponseDataRatesFixedInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetCurrencySettingsResponseDataRatesFixedInner from a JSON string +get_currency_settings_response_data_rates_fixed_inner_instance = GetCurrencySettingsResponseDataRatesFixedInner.from_json(json) +# print the JSON string representation of the object +print(GetCurrencySettingsResponseDataRatesFixedInner.to_json()) + +# convert the object into a dict +get_currency_settings_response_data_rates_fixed_inner_dict = get_currency_settings_response_data_rates_fixed_inner_instance.to_dict() +# create an instance of GetCurrencySettingsResponseDataRatesFixedInner from a dict +get_currency_settings_response_data_rates_fixed_inner_from_dict = GetCurrencySettingsResponseDataRatesFixedInner.from_dict(get_currency_settings_response_data_rates_fixed_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetCustomFieldsResponse.md b/cloudbeds_pms_v1_3/docs/GetCustomFieldsResponse.md new file mode 100644 index 0000000..5bb17db --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetCustomFieldsResponse.md @@ -0,0 +1,31 @@ +# GetCustomFieldsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetCustomFieldsResponseDataInner]**](GetCustomFieldsResponseDataInner.md) | Field details | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_custom_fields_response import GetCustomFieldsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetCustomFieldsResponse from a JSON string +get_custom_fields_response_instance = GetCustomFieldsResponse.from_json(json) +# print the JSON string representation of the object +print(GetCustomFieldsResponse.to_json()) + +# convert the object into a dict +get_custom_fields_response_dict = get_custom_fields_response_instance.to_dict() +# create an instance of GetCustomFieldsResponse from a dict +get_custom_fields_response_from_dict = GetCustomFieldsResponse.from_dict(get_custom_fields_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetCustomFieldsResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetCustomFieldsResponseDataInner.md new file mode 100644 index 0000000..0ace04b --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetCustomFieldsResponseDataInner.md @@ -0,0 +1,37 @@ +# GetCustomFieldsResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_id** | **str** | Unique hotel identifier | [optional] +**name** | **str** | Field name | [optional] +**shortcode** | **str** | Internal reference and is used for integration purposes such as custom links and the API | [optional] +**apply_to** | **str** | Where put this field in reservation or guest section of the booking. | [optional] +**required** | **bool** | Specify whether this field is required to be filled out. | [optional] +**is_personal** | **bool** | Specifies if the contents of this field may contain personal information (GDPR). | [optional] +**max_characters** | **int** | Maximum number of characters allowed to be entered in this field. | [optional] +**type** | **str** | The field's input type. | [optional] +**displayed** | **List[str]** | ¹ Specify where this custom field to show up. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_custom_fields_response_data_inner import GetCustomFieldsResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetCustomFieldsResponseDataInner from a JSON string +get_custom_fields_response_data_inner_instance = GetCustomFieldsResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetCustomFieldsResponseDataInner.to_json()) + +# convert the object into a dict +get_custom_fields_response_data_inner_dict = get_custom_fields_response_data_inner_instance.to_dict() +# create an instance of GetCustomFieldsResponseDataInner from a dict +get_custom_fields_response_data_inner_from_dict = GetCustomFieldsResponseDataInner.from_dict(get_custom_fields_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetDashboardResponse.md b/cloudbeds_pms_v1_3/docs/GetDashboardResponse.md new file mode 100644 index 0000000..f4d8caa --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetDashboardResponse.md @@ -0,0 +1,31 @@ +# GetDashboardResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] [default to True] +**data** | [**GetDashboardResponseData**](GetDashboardResponseData.md) | | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_dashboard_response import GetDashboardResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetDashboardResponse from a JSON string +get_dashboard_response_instance = GetDashboardResponse.from_json(json) +# print the JSON string representation of the object +print(GetDashboardResponse.to_json()) + +# convert the object into a dict +get_dashboard_response_dict = get_dashboard_response_instance.to_dict() +# create an instance of GetDashboardResponse from a dict +get_dashboard_response_from_dict = GetDashboardResponse.from_dict(get_dashboard_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetDashboardResponseData.md b/cloudbeds_pms_v1_3/docs/GetDashboardResponseData.md new file mode 100644 index 0000000..ffa80ce --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetDashboardResponseData.md @@ -0,0 +1,34 @@ +# GetDashboardResponseData + +Data to be displayed on dashboard + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**rooms_occupied** | **int** | Number of rooms occupied at the moment | [optional] +**percentage_occupied** | **int** | Percentage of rooms occupied (rooms occupied/rooms total) for the current day | [optional] +**arrivals** | **int** | Number of arrivals (check-ins) expected for the current day | [optional] +**departures** | **int** | Number of departures (check-outs) expected for the current day | [optional] +**in_house** | **int** | Number of rooms occupied, and not expected to have a check-out for the current day | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_dashboard_response_data import GetDashboardResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of GetDashboardResponseData from a JSON string +get_dashboard_response_data_instance = GetDashboardResponseData.from_json(json) +# print the JSON string representation of the object +print(GetDashboardResponseData.to_json()) + +# convert the object into a dict +get_dashboard_response_data_dict = get_dashboard_response_data_instance.to_dict() +# create an instance of GetDashboardResponseData from a dict +get_dashboard_response_data_from_dict = GetDashboardResponseData.from_dict(get_dashboard_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetEmailScheduleResponse.md b/cloudbeds_pms_v1_3/docs/GetEmailScheduleResponse.md new file mode 100644 index 0000000..748fee0 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetEmailScheduleResponse.md @@ -0,0 +1,30 @@ +# GetEmailScheduleResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetEmailScheduleResponseDataInner]**](GetEmailScheduleResponseDataInner.md) | List of existing email schedules | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_email_schedule_response import GetEmailScheduleResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetEmailScheduleResponse from a JSON string +get_email_schedule_response_instance = GetEmailScheduleResponse.from_json(json) +# print the JSON string representation of the object +print(GetEmailScheduleResponse.to_json()) + +# convert the object into a dict +get_email_schedule_response_dict = get_email_schedule_response_instance.to_dict() +# create an instance of GetEmailScheduleResponse from a dict +get_email_schedule_response_from_dict = GetEmailScheduleResponse.from_dict(get_email_schedule_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetEmailScheduleResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetEmailScheduleResponseDataInner.md new file mode 100644 index 0000000..f4f691b --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetEmailScheduleResponseDataInner.md @@ -0,0 +1,33 @@ +# GetEmailScheduleResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**email_schedule_id** | **str** | ID of the email schedule | [optional] +**name** | **str** | Name of the email schedule | [optional] +**email_template_id** | **str** | ID of the email template used in this schedule | [optional] +**template_name** | **str** | Name of the email template used in this schedule | [optional] +**is_active** | **bool** | True if email template is active; false if not | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_email_schedule_response_data_inner import GetEmailScheduleResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetEmailScheduleResponseDataInner from a JSON string +get_email_schedule_response_data_inner_instance = GetEmailScheduleResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetEmailScheduleResponseDataInner.to_json()) + +# convert the object into a dict +get_email_schedule_response_data_inner_dict = get_email_schedule_response_data_inner_instance.to_dict() +# create an instance of GetEmailScheduleResponseDataInner from a dict +get_email_schedule_response_data_inner_from_dict = GetEmailScheduleResponseDataInner.from_dict(get_email_schedule_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetEmailTemplatesResponse.md b/cloudbeds_pms_v1_3/docs/GetEmailTemplatesResponse.md new file mode 100644 index 0000000..3ff5541 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetEmailTemplatesResponse.md @@ -0,0 +1,30 @@ +# GetEmailTemplatesResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetEmailTemplatesResponseDataInner]**](GetEmailTemplatesResponseDataInner.md) | List of existing email templates | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_email_templates_response import GetEmailTemplatesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetEmailTemplatesResponse from a JSON string +get_email_templates_response_instance = GetEmailTemplatesResponse.from_json(json) +# print the JSON string representation of the object +print(GetEmailTemplatesResponse.to_json()) + +# convert the object into a dict +get_email_templates_response_dict = get_email_templates_response_instance.to_dict() +# create an instance of GetEmailTemplatesResponse from a dict +get_email_templates_response_from_dict = GetEmailTemplatesResponse.from_dict(get_email_templates_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetEmailTemplatesResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetEmailTemplatesResponseDataInner.md new file mode 100644 index 0000000..198096e --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetEmailTemplatesResponseDataInner.md @@ -0,0 +1,32 @@ +# GetEmailTemplatesResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**email_template_id** | **str** | ID of the email template | [optional] +**name** | **str** | Name | [optional] +**subject** | **str** | Subject | [optional] +**is_active** | **bool** | True if email template is active; false if not | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_email_templates_response_data_inner import GetEmailTemplatesResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetEmailTemplatesResponseDataInner from a JSON string +get_email_templates_response_data_inner_instance = GetEmailTemplatesResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetEmailTemplatesResponseDataInner.to_json()) + +# convert the object into a dict +get_email_templates_response_data_inner_dict = get_email_templates_response_data_inner_instance.to_dict() +# create an instance of GetEmailTemplatesResponseDataInner from a dict +get_email_templates_response_data_inner_from_dict = GetEmailTemplatesResponseDataInner.from_dict(get_email_templates_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetFilesResponse.md b/cloudbeds_pms_v1_3/docs/GetFilesResponse.md new file mode 100644 index 0000000..b88dc19 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetFilesResponse.md @@ -0,0 +1,33 @@ +# GetFilesResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetFilesResponseDataInner]**](GetFilesResponseDataInner.md) | Files linked to the property | [optional] +**count** | **int** | Number of results returned | [optional] +**total** | **int** | Total number of results for supplied parameters | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_files_response import GetFilesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetFilesResponse from a JSON string +get_files_response_instance = GetFilesResponse.from_json(json) +# print the JSON string representation of the object +print(GetFilesResponse.to_json()) + +# convert the object into a dict +get_files_response_dict = get_files_response_instance.to_dict() +# create an instance of GetFilesResponse from a dict +get_files_response_from_dict = GetFilesResponse.from_dict(get_files_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetFilesResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetFilesResponseDataInner.md new file mode 100644 index 0000000..b8c24bf --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetFilesResponseDataInner.md @@ -0,0 +1,34 @@ +# GetFilesResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**file_id** | **str** | File's unique identifier | [optional] +**name** | **str** | File Name | [optional] +**type** | **str** | File Type | [optional] +**source** | **str** | File Source | [optional] +**date_created** | **datetime** | File creation date | [optional] +**url** | **str** | File's URL to download | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_files_response_data_inner import GetFilesResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetFilesResponseDataInner from a JSON string +get_files_response_data_inner_instance = GetFilesResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetFilesResponseDataInner.to_json()) + +# convert the object into a dict +get_files_response_data_inner_dict = get_files_response_data_inner_instance.to_dict() +# create an instance of GetFilesResponseDataInner from a dict +get_files_response_data_inner_from_dict = GetFilesResponseDataInner.from_dict(get_files_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGroupNotesResponse.md b/cloudbeds_pms_v1_3/docs/GetGroupNotesResponse.md new file mode 100644 index 0000000..c45352f --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGroupNotesResponse.md @@ -0,0 +1,31 @@ +# GetGroupNotesResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Success | [optional] +**code** | **int** | HTTP status code | [optional] +**data** | [**GetGroupNotesResponseData**](GetGroupNotesResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_group_notes_response import GetGroupNotesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGroupNotesResponse from a JSON string +get_group_notes_response_instance = GetGroupNotesResponse.from_json(json) +# print the JSON string representation of the object +print(GetGroupNotesResponse.to_json()) + +# convert the object into a dict +get_group_notes_response_dict = get_group_notes_response_instance.to_dict() +# create an instance of GetGroupNotesResponse from a dict +get_group_notes_response_from_dict = GetGroupNotesResponse.from_dict(get_group_notes_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGroupNotesResponseData.md b/cloudbeds_pms_v1_3/docs/GetGroupNotesResponseData.md new file mode 100644 index 0000000..b8909df --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGroupNotesResponseData.md @@ -0,0 +1,37 @@ +# GetGroupNotesResponseData + +Data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | ID for the note | [optional] +**group_profile_id** | **str** | Group profile ID | [optional] +**text** | **str** | Note text | [optional] +**created_by** | **str** | Created by | [optional] +**created_at** | **str** | Created at | [optional] +**updated_at** | **str** | Updated at | [optional] +**archived** | **bool** | Note archived | [optional] +**archived_at** | **str** | Note archived at | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_group_notes_response_data import GetGroupNotesResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGroupNotesResponseData from a JSON string +get_group_notes_response_data_instance = GetGroupNotesResponseData.from_json(json) +# print the JSON string representation of the object +print(GetGroupNotesResponseData.to_json()) + +# convert the object into a dict +get_group_notes_response_data_dict = get_group_notes_response_data_instance.to_dict() +# create an instance of GetGroupNotesResponseData from a dict +get_group_notes_response_data_from_dict = GetGroupNotesResponseData.from_dict(get_group_notes_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGroupsResponse.md b/cloudbeds_pms_v1_3/docs/GetGroupsResponse.md new file mode 100644 index 0000000..e54af0d --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGroupsResponse.md @@ -0,0 +1,30 @@ +# GetGroupsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Success | [optional] +**data** | [**List[GetGroupsResponseDataInner]**](GetGroupsResponseDataInner.md) | Data | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_groups_response import GetGroupsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGroupsResponse from a JSON string +get_groups_response_instance = GetGroupsResponse.from_json(json) +# print the JSON string representation of the object +print(GetGroupsResponse.to_json()) + +# convert the object into a dict +get_groups_response_dict = get_groups_response_instance.to_dict() +# create an instance of GetGroupsResponse from a dict +get_groups_response_from_dict = GetGroupsResponse.from_dict(get_groups_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInner.md new file mode 100644 index 0000000..bc265b9 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInner.md @@ -0,0 +1,46 @@ +# GetGroupsResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**group_code** | **str** | Unique ID for a group | [optional] +**name** | **str** | The name of the group | [optional] +**type** | **str** | The type of the group | [optional] +**status** | **str** | Group status | [optional] +**created** | **datetime** | Group created time | [optional] +**source_id** | **str** | The third-party source ID for this group, can be empty | [optional] +**source_name** | **str** | The third-party source name for this group, can be empty | [optional] +**address1** | **str** | Address | [optional] +**address2** | **str** | Address2 | [optional] +**city** | **str** | City | [optional] +**zip** | **str** | Zip | [optional] +**state** | **str** | State | [optional] +**country_code** | **str** | Country code | [optional] +**commission_type** | **str** | Commission type | [optional] +**tax_document_type** | **str** | Tax document type | [optional] +**tax_id_number** | **str** | Tax ID number | [optional] +**legal_name** | **str** | Legal name | [optional] +**contacts** | [**List[GetGroupsResponseDataInnerContactsInner]**](GetGroupsResponseDataInnerContactsInner.md) | Group contacts | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner import GetGroupsResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGroupsResponseDataInner from a JSON string +get_groups_response_data_inner_instance = GetGroupsResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetGroupsResponseDataInner.to_json()) + +# convert the object into a dict +get_groups_response_data_inner_dict = get_groups_response_data_inner_instance.to_dict() +# create an instance of GetGroupsResponseDataInner from a dict +get_groups_response_data_inner_from_dict = GetGroupsResponseDataInner.from_dict(get_groups_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInnerContactsInner.md b/cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInnerContactsInner.md new file mode 100644 index 0000000..d5fe0c8 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInnerContactsInner.md @@ -0,0 +1,50 @@ +# GetGroupsResponseDataInnerContactsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | Unique ID for a contact | [optional] +**group_profile_id** | **str** | The group profile ID this contact belongs to | [optional] +**primary** | **bool** | Whether this is the primary contact | [optional] +**anonymized** | **bool** | Whether the contact is anonymized | [optional] +**first_name** | **str** | Contact first name | [optional] +**last_name** | **str** | Contact last name | [optional] +**role** | **str** | Contact role | [optional] +**status** | **str** | Contact status | [optional] +**created_at** | **datetime** | Contact creation time | [optional] +**updated_at** | **datetime** | Contact last update time | [optional] +**emails** | [**List[GetGroupsResponseDataInnerContactsInnerEmailsInner]**](GetGroupsResponseDataInnerContactsInnerEmailsInner.md) | Contact email addresses | [optional] +**phones** | [**List[GetGroupsResponseDataInnerContactsInnerPhonesInner]**](GetGroupsResponseDataInnerContactsInnerPhonesInner.md) | Contact phone numbers | [optional] +**is_billing_recipient** | **bool** | Whether this contact is a billing recipient | [optional] +**tax_id_number** | **str** | Contact tax ID number | [optional] +**tax_document_type** | **str** | Contact tax document type | [optional] +**legal_name** | **str** | Contact legal name | [optional] +**address_1** | **str** | Contact address line 1 | [optional] +**address_2** | **str** | Contact address line 2 | [optional] +**city** | **str** | Contact city | [optional] +**state** | **str** | Contact state | [optional] +**country_code** | **str** | Contact country code | [optional] +**zip** | **str** | Contact zip code | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner import GetGroupsResponseDataInnerContactsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGroupsResponseDataInnerContactsInner from a JSON string +get_groups_response_data_inner_contacts_inner_instance = GetGroupsResponseDataInnerContactsInner.from_json(json) +# print the JSON string representation of the object +print(GetGroupsResponseDataInnerContactsInner.to_json()) + +# convert the object into a dict +get_groups_response_data_inner_contacts_inner_dict = get_groups_response_data_inner_contacts_inner_instance.to_dict() +# create an instance of GetGroupsResponseDataInnerContactsInner from a dict +get_groups_response_data_inner_contacts_inner_from_dict = GetGroupsResponseDataInnerContactsInner.from_dict(get_groups_response_data_inner_contacts_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInnerContactsInnerEmailsInner.md b/cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInnerContactsInnerEmailsInner.md new file mode 100644 index 0000000..2e15999 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInnerContactsInnerEmailsInner.md @@ -0,0 +1,30 @@ +# GetGroupsResponseDataInnerContactsInnerEmailsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | Email type | [optional] +**value** | **str** | Email address value | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner_emails_inner import GetGroupsResponseDataInnerContactsInnerEmailsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGroupsResponseDataInnerContactsInnerEmailsInner from a JSON string +get_groups_response_data_inner_contacts_inner_emails_inner_instance = GetGroupsResponseDataInnerContactsInnerEmailsInner.from_json(json) +# print the JSON string representation of the object +print(GetGroupsResponseDataInnerContactsInnerEmailsInner.to_json()) + +# convert the object into a dict +get_groups_response_data_inner_contacts_inner_emails_inner_dict = get_groups_response_data_inner_contacts_inner_emails_inner_instance.to_dict() +# create an instance of GetGroupsResponseDataInnerContactsInnerEmailsInner from a dict +get_groups_response_data_inner_contacts_inner_emails_inner_from_dict = GetGroupsResponseDataInnerContactsInnerEmailsInner.from_dict(get_groups_response_data_inner_contacts_inner_emails_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInnerContactsInnerPhonesInner.md b/cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInnerContactsInnerPhonesInner.md new file mode 100644 index 0000000..88c6c75 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGroupsResponseDataInnerContactsInnerPhonesInner.md @@ -0,0 +1,30 @@ +# GetGroupsResponseDataInnerContactsInnerPhonesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | Phone type | [optional] +**value** | **str** | Phone number value | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner_phones_inner import GetGroupsResponseDataInnerContactsInnerPhonesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGroupsResponseDataInnerContactsInnerPhonesInner from a JSON string +get_groups_response_data_inner_contacts_inner_phones_inner_instance = GetGroupsResponseDataInnerContactsInnerPhonesInner.from_json(json) +# print the JSON string representation of the object +print(GetGroupsResponseDataInnerContactsInnerPhonesInner.to_json()) + +# convert the object into a dict +get_groups_response_data_inner_contacts_inner_phones_inner_dict = get_groups_response_data_inner_contacts_inner_phones_inner_instance.to_dict() +# create an instance of GetGroupsResponseDataInnerContactsInnerPhonesInner from a dict +get_groups_response_data_inner_contacts_inner_phones_inner_from_dict = GetGroupsResponseDataInnerContactsInnerPhonesInner.from_dict(get_groups_response_data_inner_contacts_inner_phones_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestListResponse.md b/cloudbeds_pms_v1_3/docs/GetGuestListResponse.md new file mode 100644 index 0000000..ef5dafc --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestListResponse.md @@ -0,0 +1,33 @@ +# GetGuestListResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**Dict[str, GetGuestListResponseDataValue]**](GetGuestListResponseDataValue.md) | Details for the guest linked to the property (key is the Guest ID) | [optional] +**count** | **int** | Number of results returned | [optional] +**total** | **int** | Total number of results | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guest_list_response import GetGuestListResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestListResponse from a JSON string +get_guest_list_response_instance = GetGuestListResponse.from_json(json) +# print the JSON string representation of the object +print(GetGuestListResponse.to_json()) + +# convert the object into a dict +get_guest_list_response_dict = get_guest_list_response_instance.to_dict() +# create an instance of GetGuestListResponse from a dict +get_guest_list_response_from_dict = GetGuestListResponse.from_dict(get_guest_list_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestListResponseDataValue.md b/cloudbeds_pms_v1_3/docs/GetGuestListResponseDataValue.md new file mode 100644 index 0000000..066b08c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestListResponseDataValue.md @@ -0,0 +1,62 @@ +# GetGuestListResponseDataValue + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reservation_id** | **str** | Reservation's unique identifier | [optional] +**guest_name** | **str** | Guest Name | [optional] +**guest_email** | **str** | Guest Email | [optional] +**guest_id** | **str** | Guest ID | [optional] +**date_created** | **datetime** | Reservation creation date | [optional] +**date_modified** | **datetime** | Reservation modification date | [optional] +**is_main_guest** | **bool** | If the guest is the main guest of its reservation | [optional] +**is_anonymized** | **bool** | Flag indicating the guest data was removed upon request | [optional] +**guest_first_name** | **str** | Guest First Name | [optional] +**guest_last_name** | **str** | Guest Last Name | [optional] +**guest_gender** | **str** | Guest Gender | [optional] +**guest_phone** | **str** | Guest Phone | [optional] +**guest_cell_phone** | **str** | Guest Cell Phone | [optional] +**guest_address1** | **str** | Guest Address (line 1) | [optional] +**guest_address2** | **str** | Guest Address (line 2) | [optional] +**guest_city** | **str** | Guest City | [optional] +**guest_state** | **str** | Guest State | [optional] +**guest_country** | **str** | Guest Country | [optional] +**guest_zip** | **str** | Guest Zip code | [optional] +**guest_birth_date** | **date** | Guest Birth Date | [optional] +**guest_document_type** | **str** | Guest Document Type | [optional] +**guest_document_number** | **str** | Guest Document Number | [optional] +**guest_document_issue_date** | **date** | Guest Document Issue Date | [optional] +**guest_document_issuing_country** | **str** | Guest Document Issuing Country | [optional] +**guest_document_expiration_date** | **date** | Guest Document Expiration Date | [optional] +**tax_id** | **str** | Tax ID | [optional] +**company_tax_id** | **str** | Company tax ID | [optional] +**company_name** | **str** | Company name | [optional] +**guest_opt_in** | **bool** | If guest has opted-in to marketing communication or not | [optional] +**guest_requirements** | **object** | Guest requirements data. Only included if `includeGuestRequirements=true`. | [optional] +**guest_notes** | [**List[GetGuestListResponseDataValueGuestNotesInner]**](GetGuestListResponseDataValueGuestNotesInner.md) | Guest Notes | [optional] +**status** | **str** | Reservation status<br /> in_progress - Reservation is pending confirmation<br /> confirmed - Reservation is confirmed<br /> not_confirmed - Reservation not passed confirmation<br /> canceled - Reservation is canceled<br /> checked_in - Guest is in hotel<br /> checked_out - Guest already left hotel<br /> no_show - Guest didn't showed up on check-in date | [optional] +**is_merged** | **bool** | Flag indicating that guest was merged | [optional] +**new_guest_id** | **str** | Merged guest ID | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guest_list_response_data_value import GetGuestListResponseDataValue + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestListResponseDataValue from a JSON string +get_guest_list_response_data_value_instance = GetGuestListResponseDataValue.from_json(json) +# print the JSON string representation of the object +print(GetGuestListResponseDataValue.to_json()) + +# convert the object into a dict +get_guest_list_response_data_value_dict = get_guest_list_response_data_value_instance.to_dict() +# create an instance of GetGuestListResponseDataValue from a dict +get_guest_list_response_data_value_from_dict = GetGuestListResponseDataValue.from_dict(get_guest_list_response_data_value_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestListResponseDataValueGuestNotesInner.md b/cloudbeds_pms_v1_3/docs/GetGuestListResponseDataValueGuestNotesInner.md new file mode 100644 index 0000000..245d0f1 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestListResponseDataValueGuestNotesInner.md @@ -0,0 +1,30 @@ +# GetGuestListResponseDataValueGuestNotesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | Guest Notes ID | [optional] +**note** | **str** | Guest Notes \"note\" | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guest_list_response_data_value_guest_notes_inner import GetGuestListResponseDataValueGuestNotesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestListResponseDataValueGuestNotesInner from a JSON string +get_guest_list_response_data_value_guest_notes_inner_instance = GetGuestListResponseDataValueGuestNotesInner.from_json(json) +# print the JSON string representation of the object +print(GetGuestListResponseDataValueGuestNotesInner.to_json()) + +# convert the object into a dict +get_guest_list_response_data_value_guest_notes_inner_dict = get_guest_list_response_data_value_guest_notes_inner_instance.to_dict() +# create an instance of GetGuestListResponseDataValueGuestNotesInner from a dict +get_guest_list_response_data_value_guest_notes_inner_from_dict = GetGuestListResponseDataValueGuestNotesInner.from_dict(get_guest_list_response_data_value_guest_notes_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestNotesResponse.md b/cloudbeds_pms_v1_3/docs/GetGuestNotesResponse.md new file mode 100644 index 0000000..a5cdf25 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestNotesResponse.md @@ -0,0 +1,31 @@ +# GetGuestNotesResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetGuestNotesResponseDataInner]**](GetGuestNotesResponseDataInner.md) | Details for the notes on that reservation | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guest_notes_response import GetGuestNotesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestNotesResponse from a JSON string +get_guest_notes_response_instance = GetGuestNotesResponse.from_json(json) +# print the JSON string representation of the object +print(GetGuestNotesResponse.to_json()) + +# convert the object into a dict +get_guest_notes_response_dict = get_guest_notes_response_instance.to_dict() +# create an instance of GetGuestNotesResponse from a dict +get_guest_notes_response_from_dict = GetGuestNotesResponse.from_dict(get_guest_notes_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestNotesResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetGuestNotesResponseDataInner.md new file mode 100644 index 0000000..82fb88c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestNotesResponseDataInner.md @@ -0,0 +1,33 @@ +# GetGuestNotesResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**guest_note_id** | **str** | Guest note ID | [optional] +**user_name** | **str** | User Name | [optional] +**date_created** | **datetime** | Creation datetime | [optional] +**date_modified** | **datetime** | Last modification datetime | [optional] +**guest_note** | **str** | Note content | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guest_notes_response_data_inner import GetGuestNotesResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestNotesResponseDataInner from a JSON string +get_guest_notes_response_data_inner_instance = GetGuestNotesResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetGuestNotesResponseDataInner.to_json()) + +# convert the object into a dict +get_guest_notes_response_data_inner_dict = get_guest_notes_response_data_inner_instance.to_dict() +# create an instance of GetGuestNotesResponseDataInner from a dict +get_guest_notes_response_data_inner_from_dict = GetGuestNotesResponseDataInner.from_dict(get_guest_notes_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestResponse.md b/cloudbeds_pms_v1_3/docs/GetGuestResponse.md new file mode 100644 index 0000000..1d836af --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestResponse.md @@ -0,0 +1,30 @@ +# GetGuestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**GetGuestResponseData**](GetGuestResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guest_response import GetGuestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestResponse from a JSON string +get_guest_response_instance = GetGuestResponse.from_json(json) +# print the JSON string representation of the object +print(GetGuestResponse.to_json()) + +# convert the object into a dict +get_guest_response_dict = get_guest_response_instance.to_dict() +# create an instance of GetGuestResponse from a dict +get_guest_response_from_dict = GetGuestResponse.from_dict(get_guest_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestResponseData.md b/cloudbeds_pms_v1_3/docs/GetGuestResponseData.md new file mode 100644 index 0000000..7ddcebc --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestResponseData.md @@ -0,0 +1,57 @@ +# GetGuestResponseData + +Details for the guest queried + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**first_name** | **str** | First Name | [optional] +**last_name** | **str** | Last Name | [optional] +**gender** | **str** | Gender | [optional] +**email** | **str** | Email | [optional] +**phone** | **str** | Phone number | [optional] +**cell_phone** | **str** | Cell phone number | [optional] +**country** | **str** | Country (2 digit code) | [optional] +**address** | **str** | Address | [optional] +**address2** | **str** | Address 2 | [optional] +**city** | **str** | City | [optional] +**zip** | **str** | Zip | [optional] +**state** | **str** | State | [optional] +**birth_date** | [**GetGuestResponseDataBirthDate**](GetGuestResponseDataBirthDate.md) | | [optional] +**document_type** | **str** | Document Type | [optional] +**document_number** | **str** | Document number | [optional] +**document_issue_date** | [**GetGuestResponseDataDocumentIssueDate**](GetGuestResponseDataDocumentIssueDate.md) | | [optional] +**document_issuing_country** | **str** | Document Issuing Country (2-digits code) | [optional] +**document_expiration_date** | [**GetGuestResponseDataDocumentExpirationDate**](GetGuestResponseDataDocumentExpirationDate.md) | | [optional] +**custom_fields** | [**List[GetGuestResponseDataCustomFieldsInner]**](GetGuestResponseDataCustomFieldsInner.md) | | [optional] +**guest_requirements** | **object** | Guest requirements data. Only included if `includeGuestRequirements=true`. | [optional] +**special_requests** | **str** | Special requests made by the guest at the time of the booking | [optional] +**tax_id** | **str** | Tax ID | [optional] +**company_tax_id** | **str** | Company tax ID | [optional] +**company_name** | **str** | Company name | [optional] +**is_anonymized** | **bool** | Flag indicating the guest data was removed upon request | [optional] +**guest_opt_in** | **bool** | If guest has opted-in to marketing communication or not | [optional] +**is_merged** | **bool** | Flag indicating that guest was merged | [optional] +**new_guest_id** | **str** | Merged guest ID | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guest_response_data import GetGuestResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestResponseData from a JSON string +get_guest_response_data_instance = GetGuestResponseData.from_json(json) +# print the JSON string representation of the object +print(GetGuestResponseData.to_json()) + +# convert the object into a dict +get_guest_response_data_dict = get_guest_response_data_instance.to_dict() +# create an instance of GetGuestResponseData from a dict +get_guest_response_data_from_dict = GetGuestResponseData.from_dict(get_guest_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestResponseDataBirthDate.md b/cloudbeds_pms_v1_3/docs/GetGuestResponseDataBirthDate.md new file mode 100644 index 0000000..4708dd0 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestResponseDataBirthDate.md @@ -0,0 +1,29 @@ +# GetGuestResponseDataBirthDate + +Birth date + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guest_response_data_birth_date import GetGuestResponseDataBirthDate + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestResponseDataBirthDate from a JSON string +get_guest_response_data_birth_date_instance = GetGuestResponseDataBirthDate.from_json(json) +# print the JSON string representation of the object +print(GetGuestResponseDataBirthDate.to_json()) + +# convert the object into a dict +get_guest_response_data_birth_date_dict = get_guest_response_data_birth_date_instance.to_dict() +# create an instance of GetGuestResponseDataBirthDate from a dict +get_guest_response_data_birth_date_from_dict = GetGuestResponseDataBirthDate.from_dict(get_guest_response_data_birth_date_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestResponseDataCustomFieldsInner.md b/cloudbeds_pms_v1_3/docs/GetGuestResponseDataCustomFieldsInner.md new file mode 100644 index 0000000..73e0473 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestResponseDataCustomFieldsInner.md @@ -0,0 +1,30 @@ +# GetGuestResponseDataCustomFieldsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**custom_field_name** | **str** | | [optional] +**custom_field_value** | **str** | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guest_response_data_custom_fields_inner import GetGuestResponseDataCustomFieldsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestResponseDataCustomFieldsInner from a JSON string +get_guest_response_data_custom_fields_inner_instance = GetGuestResponseDataCustomFieldsInner.from_json(json) +# print the JSON string representation of the object +print(GetGuestResponseDataCustomFieldsInner.to_json()) + +# convert the object into a dict +get_guest_response_data_custom_fields_inner_dict = get_guest_response_data_custom_fields_inner_instance.to_dict() +# create an instance of GetGuestResponseDataCustomFieldsInner from a dict +get_guest_response_data_custom_fields_inner_from_dict = GetGuestResponseDataCustomFieldsInner.from_dict(get_guest_response_data_custom_fields_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestResponseDataDocumentExpirationDate.md b/cloudbeds_pms_v1_3/docs/GetGuestResponseDataDocumentExpirationDate.md new file mode 100644 index 0000000..18763c7 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestResponseDataDocumentExpirationDate.md @@ -0,0 +1,29 @@ +# GetGuestResponseDataDocumentExpirationDate + +Document Expiration Date, can be null + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guest_response_data_document_expiration_date import GetGuestResponseDataDocumentExpirationDate + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestResponseDataDocumentExpirationDate from a JSON string +get_guest_response_data_document_expiration_date_instance = GetGuestResponseDataDocumentExpirationDate.from_json(json) +# print the JSON string representation of the object +print(GetGuestResponseDataDocumentExpirationDate.to_json()) + +# convert the object into a dict +get_guest_response_data_document_expiration_date_dict = get_guest_response_data_document_expiration_date_instance.to_dict() +# create an instance of GetGuestResponseDataDocumentExpirationDate from a dict +get_guest_response_data_document_expiration_date_from_dict = GetGuestResponseDataDocumentExpirationDate.from_dict(get_guest_response_data_document_expiration_date_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestResponseDataDocumentIssueDate.md b/cloudbeds_pms_v1_3/docs/GetGuestResponseDataDocumentIssueDate.md new file mode 100644 index 0000000..b2e422f --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestResponseDataDocumentIssueDate.md @@ -0,0 +1,29 @@ +# GetGuestResponseDataDocumentIssueDate + +Document Issue Date, can be null + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guest_response_data_document_issue_date import GetGuestResponseDataDocumentIssueDate + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestResponseDataDocumentIssueDate from a JSON string +get_guest_response_data_document_issue_date_instance = GetGuestResponseDataDocumentIssueDate.from_json(json) +# print the JSON string representation of the object +print(GetGuestResponseDataDocumentIssueDate.to_json()) + +# convert the object into a dict +get_guest_response_data_document_issue_date_dict = get_guest_response_data_document_issue_date_instance.to_dict() +# create an instance of GetGuestResponseDataDocumentIssueDate from a dict +get_guest_response_data_document_issue_date_from_dict = GetGuestResponseDataDocumentIssueDate.from_dict(get_guest_response_data_document_issue_date_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestsByFilterResponse.md b/cloudbeds_pms_v1_3/docs/GetGuestsByFilterResponse.md new file mode 100644 index 0000000..e286e8e --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestsByFilterResponse.md @@ -0,0 +1,33 @@ +# GetGuestsByFilterResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetGuestsByFilterResponseDataInner]**](GetGuestsByFilterResponseDataInner.md) | Details for the guest | [optional] +**count** | **int** | Number of results returned | [optional] +**total** | **int** | Total number of results | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guests_by_filter_response import GetGuestsByFilterResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestsByFilterResponse from a JSON string +get_guests_by_filter_response_instance = GetGuestsByFilterResponse.from_json(json) +# print the JSON string representation of the object +print(GetGuestsByFilterResponse.to_json()) + +# convert the object into a dict +get_guests_by_filter_response_dict = get_guests_by_filter_response_instance.to_dict() +# create an instance of GetGuestsByFilterResponse from a dict +get_guests_by_filter_response_from_dict = GetGuestsByFilterResponse.from_dict(get_guests_by_filter_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestsByFilterResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetGuestsByFilterResponseDataInner.md new file mode 100644 index 0000000..5923f7c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestsByFilterResponseDataInner.md @@ -0,0 +1,38 @@ +# GetGuestsByFilterResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reservation_id** | **str** | Reservation's unique identifier | [optional] +**guest_name** | **str** | | [optional] +**guest_id** | **str** | Guest ID | [optional] +**room_id** | **str** | Room ID that the guest is assigned | [optional] +**room_name** | **str** | Name of the room where guest is assigned | [optional] +**is_main_guest** | **bool** | True if the main guest of the reservation | [optional] +**is_anonymized** | **bool** | Flag indicating the guest data was removed upon request | [optional] +**guest_opt_in** | **bool** | If guest has opted-in to marketing communication or not | [optional] +**is_merged** | **bool** | Flag indicating that guest was merged | [optional] +**new_guest_id** | **str** | Merged guest ID | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guests_by_filter_response_data_inner import GetGuestsByFilterResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestsByFilterResponseDataInner from a JSON string +get_guests_by_filter_response_data_inner_instance = GetGuestsByFilterResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetGuestsByFilterResponseDataInner.to_json()) + +# convert the object into a dict +get_guests_by_filter_response_data_inner_dict = get_guests_by_filter_response_data_inner_instance.to_dict() +# create an instance of GetGuestsByFilterResponseDataInner from a dict +get_guests_by_filter_response_data_inner_from_dict = GetGuestsByFilterResponseDataInner.from_dict(get_guests_by_filter_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestsByStatusResponse.md b/cloudbeds_pms_v1_3/docs/GetGuestsByStatusResponse.md new file mode 100644 index 0000000..15c2dc0 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestsByStatusResponse.md @@ -0,0 +1,33 @@ +# GetGuestsByStatusResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetGuestsByStatusResponseDataInner]**](GetGuestsByStatusResponseDataInner.md) | Details for the guest | [optional] +**count** | **int** | Number of results returned | [optional] +**total** | **int** | Total number of results | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guests_by_status_response import GetGuestsByStatusResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestsByStatusResponse from a JSON string +get_guests_by_status_response_instance = GetGuestsByStatusResponse.from_json(json) +# print the JSON string representation of the object +print(GetGuestsByStatusResponse.to_json()) + +# convert the object into a dict +get_guests_by_status_response_dict = get_guests_by_status_response_instance.to_dict() +# create an instance of GetGuestsByStatusResponse from a dict +get_guests_by_status_response_from_dict = GetGuestsByStatusResponse.from_dict(get_guests_by_status_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestsByStatusResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetGuestsByStatusResponseDataInner.md new file mode 100644 index 0000000..0a3a572 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestsByStatusResponseDataInner.md @@ -0,0 +1,67 @@ +# GetGuestsByStatusResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**guest_id** | **str** | Guest ID | [optional] +**reservation_id** | **str** | Reservation's unique identifier | [optional] +**sub_reservation_id** | **str** | | [optional] +**reservation_created_date_time** | **datetime** | Reservation creation datetime | [optional] +**room_type_id** | **str** | Room Type ID that the guest is assigned | [optional] +**room_id** | **str** | Room ID that the guest is assigned | [optional] +**room_name** | **str** | Name of the room where guest is assigned | [optional] +**guest_first_name** | **str** | First Name | [optional] +**guest_last_name** | **str** | Last Name | [optional] +**guest_gender** | **str** | Gender | [optional] +**guest_email** | **str** | Email Address | [optional] +**guest_phone** | **str** | Phone Number | [optional] +**guest_cell_phone** | **str** | Cell Phone Number | [optional] +**guest_address1** | **str** | Address | [optional] +**guest_address2** | **str** | Address line 2 | [optional] +**guest_city** | **str** | Address city | [optional] +**guest_state** | **str** | Address state | [optional] +**guest_country** | **str** | Address country | [optional] +**guest_zip** | **str** | Address zip code | [optional] +**guest_birth_date** | **date** | Guests Date of Birth | [optional] +**guest_document_type** | **str** | Document Type | [optional] +**guest_document_number** | **str** | Document Number | [optional] +**guest_document_issue_date** | **date** | Document Issue Date | [optional] +**guest_document_issuing_country** | **str** | Document Issuing Country | [optional] +**guest_document_expiration_date** | **date** | Document Expiration Date | [optional] +**start_date** | **datetime** | Check-in date | [optional] +**end_date** | **datetime** | Check-out date | [optional] +**custom_fields** | [**List[GetGuestsModifiedResponseDataInnerCustomFieldsInner]**](GetGuestsModifiedResponseDataInnerCustomFieldsInner.md) | List of custom fields | [optional] +**date_modified** | **datetime** | Guest modification date | [optional] +**current_status** | **str** | Current Status of the guest. Does not need to be equal to the status looked for (it may have had a status change outside of the filtered date range). | [optional] +**status_date** | **datetime** | DateTime when the last status modification occurred. | [optional] +**tax_id** | **str** | Tax ID | [optional] +**company_tax_id** | **str** | Company tax ID | [optional] +**company_name** | **str** | Company name | [optional] +**is_anonymized** | **bool** | Flag indicating the guest data was removed upon request | [optional] +**is_deleted** | **bool** | Flag indicating the guest's reservation was removed | [optional] +**guest_opt_in** | **bool** | If guest has opted-in to marketing communication or not | [optional] +**is_merged** | **bool** | Flag indicating that guest was merged | [optional] +**new_guest_id** | **str** | Merged guest ID | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guests_by_status_response_data_inner import GetGuestsByStatusResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestsByStatusResponseDataInner from a JSON string +get_guests_by_status_response_data_inner_instance = GetGuestsByStatusResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetGuestsByStatusResponseDataInner.to_json()) + +# convert the object into a dict +get_guests_by_status_response_data_inner_dict = get_guests_by_status_response_data_inner_instance.to_dict() +# create an instance of GetGuestsByStatusResponseDataInner from a dict +get_guests_by_status_response_data_inner_from_dict = GetGuestsByStatusResponseDataInner.from_dict(get_guests_by_status_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestsModifiedResponse.md b/cloudbeds_pms_v1_3/docs/GetGuestsModifiedResponse.md new file mode 100644 index 0000000..ac4b7b5 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestsModifiedResponse.md @@ -0,0 +1,33 @@ +# GetGuestsModifiedResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetGuestsModifiedResponseDataInner]**](GetGuestsModifiedResponseDataInner.md) | Details for the guest linked to the property | [optional] +**count** | **int** | Number of results returned | [optional] +**total** | **int** | Total number of results | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guests_modified_response import GetGuestsModifiedResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestsModifiedResponse from a JSON string +get_guests_modified_response_instance = GetGuestsModifiedResponse.from_json(json) +# print the JSON string representation of the object +print(GetGuestsModifiedResponse.to_json()) + +# convert the object into a dict +get_guests_modified_response_dict = get_guests_modified_response_instance.to_dict() +# create an instance of GetGuestsModifiedResponse from a dict +get_guests_modified_response_from_dict = GetGuestsModifiedResponse.from_dict(get_guests_modified_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestsModifiedResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetGuestsModifiedResponseDataInner.md new file mode 100644 index 0000000..dc8a119 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestsModifiedResponseDataInner.md @@ -0,0 +1,63 @@ +# GetGuestsModifiedResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**guest_id** | **str** | Guest ID | [optional] +**reservation_id** | **str** | Reservation's unique identifier | [optional] +**room_type_id** | **str** | Room Type ID that the guest is assigned | [optional] +**room_id** | **str** | Room ID that the guest is assigned | [optional] +**room_name** | **str** | Name of the room where guest is assigned | [optional] +**guest_first_name** | **str** | First Name | [optional] +**guest_last_name** | **str** | Last Name | [optional] +**guest_gender** | **str** | | [optional] +**guest_email** | **str** | Email Address | [optional] +**guest_phone** | **str** | Phone Number | [optional] +**guest_cell_phone** | **str** | Cell Phone Number | [optional] +**guest_address1** | **str** | Address | [optional] +**guest_address2** | **str** | Address line 2 | [optional] +**guest_city** | **str** | Address city | [optional] +**guest_state** | **str** | Address state | [optional] +**guest_country** | **str** | Address country | [optional] +**guest_zip** | **str** | Address zip code | [optional] +**guest_birth_date** | **date** | Guests Date of Birth | [optional] +**guest_document_type** | **str** | Document Type | [optional] +**guest_document_number** | **str** | Document Number | [optional] +**guest_document_issue_date** | **date** | Document Issue Date | [optional] +**guest_document_issuing_country** | **str** | Document Issuing Country | [optional] +**guest_document_expiration_date** | **date** | Document Expiration Date | [optional] +**start_date** | **datetime** | Check-in date | [optional] +**end_date** | **datetime** | Check-out date | [optional] +**guest_requirements** | **object** | Guest requirements data. Only included if `includeGuestRequirements=true`. | [optional] +**custom_fields** | [**List[GetGuestsModifiedResponseDataInnerCustomFieldsInner]**](GetGuestsModifiedResponseDataInnerCustomFieldsInner.md) | List of custom fields | [optional] +**date_modified** | **datetime** | Guest modification date | [optional] +**tax_id** | **str** | Tax ID | [optional] +**company_tax_id** | **str** | Company tax ID | [optional] +**company_name** | **str** | Company name | [optional] +**is_anonymized** | **bool** | Flag indicating the guest data was removed upon request | [optional] +**guest_opt_in** | **bool** | If guest has opted-in to marketing communication or not | [optional] +**is_merged** | **bool** | Flag indicating that guest was merged | [optional] +**new_guest_id** | **str** | Merged guest ID | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner import GetGuestsModifiedResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestsModifiedResponseDataInner from a JSON string +get_guests_modified_response_data_inner_instance = GetGuestsModifiedResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetGuestsModifiedResponseDataInner.to_json()) + +# convert the object into a dict +get_guests_modified_response_data_inner_dict = get_guests_modified_response_data_inner_instance.to_dict() +# create an instance of GetGuestsModifiedResponseDataInner from a dict +get_guests_modified_response_data_inner_from_dict = GetGuestsModifiedResponseDataInner.from_dict(get_guests_modified_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetGuestsModifiedResponseDataInnerCustomFieldsInner.md b/cloudbeds_pms_v1_3/docs/GetGuestsModifiedResponseDataInnerCustomFieldsInner.md new file mode 100644 index 0000000..5d3bd66 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetGuestsModifiedResponseDataInnerCustomFieldsInner.md @@ -0,0 +1,30 @@ +# GetGuestsModifiedResponseDataInnerCustomFieldsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**custom_field_name** | **str** | Custom Field Name | [optional] +**custom_field_value** | **str** | Custom Field Value | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner import GetGuestsModifiedResponseDataInnerCustomFieldsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGuestsModifiedResponseDataInnerCustomFieldsInner from a JSON string +get_guests_modified_response_data_inner_custom_fields_inner_instance = GetGuestsModifiedResponseDataInnerCustomFieldsInner.from_json(json) +# print the JSON string representation of the object +print(GetGuestsModifiedResponseDataInnerCustomFieldsInner.to_json()) + +# convert the object into a dict +get_guests_modified_response_data_inner_custom_fields_inner_dict = get_guests_modified_response_data_inner_custom_fields_inner_instance.to_dict() +# create an instance of GetGuestsModifiedResponseDataInnerCustomFieldsInner from a dict +get_guests_modified_response_data_inner_custom_fields_inner_from_dict = GetGuestsModifiedResponseDataInnerCustomFieldsInner.from_dict(get_guests_modified_response_data_inner_custom_fields_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponse.md b/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponse.md new file mode 100644 index 0000000..14d42b2 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponse.md @@ -0,0 +1,30 @@ +# GetHotelDetailsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**GetHotelDetailsResponseData**](GetHotelDetailsResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_hotel_details_response import GetHotelDetailsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetHotelDetailsResponse from a JSON string +get_hotel_details_response_instance = GetHotelDetailsResponse.from_json(json) +# print the JSON string representation of the object +print(GetHotelDetailsResponse.to_json()) + +# convert the object into a dict +get_hotel_details_response_dict = get_hotel_details_response_instance.to_dict() +# create an instance of GetHotelDetailsResponse from a dict +get_hotel_details_response_from_dict = GetHotelDetailsResponse.from_dict(get_hotel_details_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseData.md b/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseData.md new file mode 100644 index 0000000..6286cde --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseData.md @@ -0,0 +1,46 @@ +# GetHotelDetailsResponseData + +Information about the hotel + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_id** | **str** | Property ID | [optional] +**organization_id** | **str** | Organization ID | [optional] +**property_name** | **str** | Property name | [optional] +**property_type** | **str** | The type of property | [optional] +**property_image** | [**List[GetHotelDetailsResponseDataPropertyImageInner]**](GetHotelDetailsResponseDataPropertyImageInner.md) | Property images details | [optional] +**property_description** | **str** | Property description | [optional] +**property_currency** | [**GetHotelDetailsResponseDataPropertyCurrency**](GetHotelDetailsResponseDataPropertyCurrency.md) | | [optional] +**property_primary_language** | **str** | Property primary language | [optional] +**property_additional_photos** | [**List[GetHotelDetailsResponseDataPropertyImageInner]**](GetHotelDetailsResponseDataPropertyImageInner.md) | Property additional photos | [optional] +**property_phone** | **str** | Property phone number | [optional] +**property_email** | **str** | Property main email address | [optional] +**property_address** | [**GetHotelDetailsResponseDataPropertyAddress**](GetHotelDetailsResponseDataPropertyAddress.md) | | [optional] +**property_policy** | [**GetHotelDetailsResponseDataPropertyPolicy**](GetHotelDetailsResponseDataPropertyPolicy.md) | | [optional] +**property_amenities** | **List[str]** | List of property amenities | [optional] +**tax_id** | **str** | Tax ID number | [optional] +**tax_id2** | **str** | Second Tax ID number | [optional] +**company_legal_name** | **str** | Legal company name | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data import GetHotelDetailsResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of GetHotelDetailsResponseData from a JSON string +get_hotel_details_response_data_instance = GetHotelDetailsResponseData.from_json(json) +# print the JSON string representation of the object +print(GetHotelDetailsResponseData.to_json()) + +# convert the object into a dict +get_hotel_details_response_data_dict = get_hotel_details_response_data_instance.to_dict() +# create an instance of GetHotelDetailsResponseData from a dict +get_hotel_details_response_data_from_dict = GetHotelDetailsResponseData.from_dict(get_hotel_details_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyAddress.md b/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyAddress.md new file mode 100644 index 0000000..b3dde96 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyAddress.md @@ -0,0 +1,37 @@ +# GetHotelDetailsResponseDataPropertyAddress + + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_address1** | **str** | | [optional] +**property_address2** | **str** | | [optional] +**property_city** | **str** | | [optional] +**property_state** | **str** | | [optional] +**property_zip** | **str** | | [optional] +**property_country** | **str** | | [optional] +**property_latitude** | **str** | | [optional] +**property_longitude** | **str** | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_address import GetHotelDetailsResponseDataPropertyAddress + +# TODO update the JSON string below +json = "{}" +# create an instance of GetHotelDetailsResponseDataPropertyAddress from a JSON string +get_hotel_details_response_data_property_address_instance = GetHotelDetailsResponseDataPropertyAddress.from_json(json) +# print the JSON string representation of the object +print(GetHotelDetailsResponseDataPropertyAddress.to_json()) + +# convert the object into a dict +get_hotel_details_response_data_property_address_dict = get_hotel_details_response_data_property_address_instance.to_dict() +# create an instance of GetHotelDetailsResponseDataPropertyAddress from a dict +get_hotel_details_response_data_property_address_from_dict = GetHotelDetailsResponseDataPropertyAddress.from_dict(get_hotel_details_response_data_property_address_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyCurrency.md b/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyCurrency.md new file mode 100644 index 0000000..7bf8b1c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyCurrency.md @@ -0,0 +1,34 @@ +# GetHotelDetailsResponseDataPropertyCurrency + +Currency used by the property + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**currency_code** | **str** | Currency code | [optional] +**currency_symbol** | **str** | Currency symbol | [optional] +**currency_position** | **str** | Currency position | [optional] +**currency_decimal_separator** | **str** | Currency decimal separator | [optional] +**currency_thousands_separator** | **str** | Currency thousands separator | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_currency import GetHotelDetailsResponseDataPropertyCurrency + +# TODO update the JSON string below +json = "{}" +# create an instance of GetHotelDetailsResponseDataPropertyCurrency from a JSON string +get_hotel_details_response_data_property_currency_instance = GetHotelDetailsResponseDataPropertyCurrency.from_json(json) +# print the JSON string representation of the object +print(GetHotelDetailsResponseDataPropertyCurrency.to_json()) + +# convert the object into a dict +get_hotel_details_response_data_property_currency_dict = get_hotel_details_response_data_property_currency_instance.to_dict() +# create an instance of GetHotelDetailsResponseDataPropertyCurrency from a dict +get_hotel_details_response_data_property_currency_from_dict = GetHotelDetailsResponseDataPropertyCurrency.from_dict(get_hotel_details_response_data_property_currency_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyImageInner.md b/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyImageInner.md new file mode 100644 index 0000000..b5b6b99 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyImageInner.md @@ -0,0 +1,30 @@ +# GetHotelDetailsResponseDataPropertyImageInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**thumb** | **str** | Thumbnail URL | [optional] +**image** | **str** | Full Image URL | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_image_inner import GetHotelDetailsResponseDataPropertyImageInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetHotelDetailsResponseDataPropertyImageInner from a JSON string +get_hotel_details_response_data_property_image_inner_instance = GetHotelDetailsResponseDataPropertyImageInner.from_json(json) +# print the JSON string representation of the object +print(GetHotelDetailsResponseDataPropertyImageInner.to_json()) + +# convert the object into a dict +get_hotel_details_response_data_property_image_inner_dict = get_hotel_details_response_data_property_image_inner_instance.to_dict() +# create an instance of GetHotelDetailsResponseDataPropertyImageInner from a dict +get_hotel_details_response_data_property_image_inner_from_dict = GetHotelDetailsResponseDataPropertyImageInner.from_dict(get_hotel_details_response_data_property_image_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyPolicy.md b/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyPolicy.md new file mode 100644 index 0000000..8bedfaa --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetHotelDetailsResponseDataPropertyPolicy.md @@ -0,0 +1,36 @@ +# GetHotelDetailsResponseDataPropertyPolicy + + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_check_in_time** | **str** | | [optional] +**property_check_out_time** | **str** | | [optional] +**property_late_check_out_allowed** | **bool** | | [optional] +**property_late_check_out_type** | **str** | If the property accepts late check-out, defines if the value is fixed, or a percentage of the daily rate | [optional] +**property_late_check_out_value** | **str** | The fixed value, or percentage of the daily rate, to be charged on a late check-out | [optional] +**property_terms_and_conditions** | **str** | Text describing the terms and conditions to be displayed to guest | [optional] +**property_full_payment_before_checkin** | **bool** | If the property requires the full payment amount of the reservation to be collected prior to check-in | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_policy import GetHotelDetailsResponseDataPropertyPolicy + +# TODO update the JSON string below +json = "{}" +# create an instance of GetHotelDetailsResponseDataPropertyPolicy from a JSON string +get_hotel_details_response_data_property_policy_instance = GetHotelDetailsResponseDataPropertyPolicy.from_json(json) +# print the JSON string representation of the object +print(GetHotelDetailsResponseDataPropertyPolicy.to_json()) + +# convert the object into a dict +get_hotel_details_response_data_property_policy_dict = get_hotel_details_response_data_property_policy_instance.to_dict() +# create an instance of GetHotelDetailsResponseDataPropertyPolicy from a dict +get_hotel_details_response_data_property_policy_from_dict = GetHotelDetailsResponseDataPropertyPolicy.from_dict(get_hotel_details_response_data_property_policy_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetHotelsResponse.md b/cloudbeds_pms_v1_3/docs/GetHotelsResponse.md new file mode 100644 index 0000000..9a2ca9b --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetHotelsResponse.md @@ -0,0 +1,32 @@ +# GetHotelsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetHotelsResponseDataInner]**](GetHotelsResponseDataInner.md) | Information about the hotels | [optional] +**count** | **int** | Number of results in this page | [optional] +**total** | **int** | Total number of results | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_hotels_response import GetHotelsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetHotelsResponse from a JSON string +get_hotels_response_instance = GetHotelsResponse.from_json(json) +# print the JSON string representation of the object +print(GetHotelsResponse.to_json()) + +# convert the object into a dict +get_hotels_response_dict = get_hotels_response_instance.to_dict() +# create an instance of GetHotelsResponse from a dict +get_hotels_response_from_dict = GetHotelsResponse.from_dict(get_hotels_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetHotelsResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetHotelsResponseDataInner.md new file mode 100644 index 0000000..799c963 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetHotelsResponseDataInner.md @@ -0,0 +1,35 @@ +# GetHotelsResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_id** | **str** | Property ID | [optional] +**organization_id** | **str** | Organization ID | [optional] +**property_name** | **str** | Property name | [optional] +**property_image** | **str** | Property image URL | [optional] +**property_description** | **str** | Property description | [optional] +**property_timezone** | **str** | Property Timezone | [optional] +**property_currency** | [**List[GetHotelsResponseDataInnerPropertyCurrencyInner]**](GetHotelsResponseDataInnerPropertyCurrencyInner.md) | Currency used by the property | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_hotels_response_data_inner import GetHotelsResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetHotelsResponseDataInner from a JSON string +get_hotels_response_data_inner_instance = GetHotelsResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetHotelsResponseDataInner.to_json()) + +# convert the object into a dict +get_hotels_response_data_inner_dict = get_hotels_response_data_inner_instance.to_dict() +# create an instance of GetHotelsResponseDataInner from a dict +get_hotels_response_data_inner_from_dict = GetHotelsResponseDataInner.from_dict(get_hotels_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetHotelsResponseDataInnerPropertyCurrencyInner.md b/cloudbeds_pms_v1_3/docs/GetHotelsResponseDataInnerPropertyCurrencyInner.md new file mode 100644 index 0000000..80c8d46 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetHotelsResponseDataInnerPropertyCurrencyInner.md @@ -0,0 +1,31 @@ +# GetHotelsResponseDataInnerPropertyCurrencyInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**currency_code** | **str** | Currency code | [optional] +**currency_symbol** | **str** | Currency symbol | [optional] +**currency_position** | **str** | Currency position | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_hotels_response_data_inner_property_currency_inner import GetHotelsResponseDataInnerPropertyCurrencyInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetHotelsResponseDataInnerPropertyCurrencyInner from a JSON string +get_hotels_response_data_inner_property_currency_inner_instance = GetHotelsResponseDataInnerPropertyCurrencyInner.from_json(json) +# print the JSON string representation of the object +print(GetHotelsResponseDataInnerPropertyCurrencyInner.to_json()) + +# convert the object into a dict +get_hotels_response_data_inner_property_currency_inner_dict = get_hotels_response_data_inner_property_currency_inner_instance.to_dict() +# create an instance of GetHotelsResponseDataInnerPropertyCurrencyInner from a dict +get_hotels_response_data_inner_property_currency_inner_from_dict = GetHotelsResponseDataInnerPropertyCurrencyInner.from_dict(get_hotels_response_data_inner_property_currency_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetHouseAccountListResponse.md b/cloudbeds_pms_v1_3/docs/GetHouseAccountListResponse.md new file mode 100644 index 0000000..a351c0b --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetHouseAccountListResponse.md @@ -0,0 +1,30 @@ +# GetHouseAccountListResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetHouseAccountListResponseDataInner]**](GetHouseAccountListResponseDataInner.md) | Details for the house accounts | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_house_account_list_response import GetHouseAccountListResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetHouseAccountListResponse from a JSON string +get_house_account_list_response_instance = GetHouseAccountListResponse.from_json(json) +# print the JSON string representation of the object +print(GetHouseAccountListResponse.to_json()) + +# convert the object into a dict +get_house_account_list_response_dict = get_house_account_list_response_instance.to_dict() +# create an instance of GetHouseAccountListResponse from a dict +get_house_account_list_response_from_dict = GetHouseAccountListResponse.from_dict(get_house_account_list_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetHouseAccountListResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetHouseAccountListResponseDataInner.md new file mode 100644 index 0000000..f06393a --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetHouseAccountListResponseDataInner.md @@ -0,0 +1,34 @@ +# GetHouseAccountListResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_id** | **str** | House Account ID | [optional] +**property_id** | **str** | Property ID | [optional] +**account_name** | **str** | House Account name | [optional] +**account_status** | **str** | House Account status | [optional] +**is_private** | **bool** | Whether House Account is set to private or not (if true \"userName\" will be specified) | [optional] +**user_name** | **str** | Owner Name of private House Account | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_house_account_list_response_data_inner import GetHouseAccountListResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetHouseAccountListResponseDataInner from a JSON string +get_house_account_list_response_data_inner_instance = GetHouseAccountListResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetHouseAccountListResponseDataInner.to_json()) + +# convert the object into a dict +get_house_account_list_response_data_inner_dict = get_house_account_list_response_data_inner_instance.to_dict() +# create an instance of GetHouseAccountListResponseDataInner from a dict +get_house_account_list_response_data_inner_from_dict = GetHouseAccountListResponseDataInner.from_dict(get_house_account_list_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetHousekeepersResponse.md b/cloudbeds_pms_v1_3/docs/GetHousekeepersResponse.md new file mode 100644 index 0000000..9a59eac --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetHousekeepersResponse.md @@ -0,0 +1,31 @@ +# GetHousekeepersResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetHousekeepersResponseDataInner]**](GetHousekeepersResponseDataInner.md) | | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_housekeepers_response import GetHousekeepersResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetHousekeepersResponse from a JSON string +get_housekeepers_response_instance = GetHousekeepersResponse.from_json(json) +# print the JSON string representation of the object +print(GetHousekeepersResponse.to_json()) + +# convert the object into a dict +get_housekeepers_response_dict = get_housekeepers_response_instance.to_dict() +# create an instance of GetHousekeepersResponse from a dict +get_housekeepers_response_from_dict = GetHousekeepersResponse.from_dict(get_housekeepers_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetHousekeepersResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetHousekeepersResponseDataInner.md new file mode 100644 index 0000000..09581da --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetHousekeepersResponseDataInner.md @@ -0,0 +1,31 @@ +# GetHousekeepersResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_id** | **str** | Property ID | [optional] +**housekeeper_id** | **str** | Housekeeper ID | [optional] +**name** | **str** | Housekeeper Name | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_housekeepers_response_data_inner import GetHousekeepersResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetHousekeepersResponseDataInner from a JSON string +get_housekeepers_response_data_inner_instance = GetHousekeepersResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetHousekeepersResponseDataInner.to_json()) + +# convert the object into a dict +get_housekeepers_response_data_inner_dict = get_housekeepers_response_data_inner_instance.to_dict() +# create an instance of GetHousekeepersResponseDataInner from a dict +get_housekeepers_response_data_inner_from_dict = GetHousekeepersResponseDataInner.from_dict(get_housekeepers_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetHousekeepingStatusResponse.md b/cloudbeds_pms_v1_3/docs/GetHousekeepingStatusResponse.md new file mode 100644 index 0000000..205ea32 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetHousekeepingStatusResponse.md @@ -0,0 +1,33 @@ +# GetHousekeepingStatusResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetHousekeepingStatusResponseDataInner]**](GetHousekeepingStatusResponseDataInner.md) | | [optional] +**count** | **int** | Results in current request | [optional] +**total** | **int** | Total number of results for supplied parameters | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_housekeeping_status_response import GetHousekeepingStatusResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetHousekeepingStatusResponse from a JSON string +get_housekeeping_status_response_instance = GetHousekeepingStatusResponse.from_json(json) +# print the JSON string representation of the object +print(GetHousekeepingStatusResponse.to_json()) + +# convert the object into a dict +get_housekeeping_status_response_dict = get_housekeeping_status_response_instance.to_dict() +# create an instance of GetHousekeepingStatusResponse from a dict +get_housekeeping_status_response_from_dict = GetHousekeepingStatusResponse.from_dict(get_housekeeping_status_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetHousekeepingStatusResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetHousekeepingStatusResponseDataInner.md new file mode 100644 index 0000000..8db0f6a --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetHousekeepingStatusResponseDataInner.md @@ -0,0 +1,43 @@ +# GetHousekeepingStatusResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_date** | **date** | Date for last date/time that the room condition changed | [optional] +**room_type_id** | **str** | ID of the room type | [optional] +**room_type_name** | **str** | Name of the room type | [optional] +**room_id** | **str** | ID of room | [optional] +**room_name** | **str** | Name of room | [optional] +**room_condition** | **str** | Room cleaning condition | [optional] +**room_occupied** | **bool** | Flag if room currently occupied | [optional] +**room_blocked** | **bool** | Flag if room is blocked | [optional] +**frontdesk_status** | **str** | The following frontdesk statuses exist:<br /><br /> 'check-in' - There is no guest checking out, but there is a guest checking in.<br /> 'check-out' - Guest checking out today, but no guest checking in.<br /> 'stayover' - Guest is in-house, not checking out today and is staying for another night<br /> 'turnover' - Guest checking out today and another guest checking in today<br /> 'unused' - Room is not being used. There is no one there now due to check out, and no one arriving. | [optional] +**housekeeper_id** | **str** | ID of Housekeeper | [optional] +**housekeeper** | **str** | Housekeeper name | [optional] +**do_not_disturb** | **bool** | Flag if room as set as \"Do Not Disturb\" | [optional] +**refused_service** | **bool** | Flag if room as set as \"Refused Service\" | [optional] +**vacant_pickup** | **bool** | Flag if room as set as \"Vacant Pickup\" | [optional] +**room_comments** | **str** | Room comments | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_housekeeping_status_response_data_inner import GetHousekeepingStatusResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetHousekeepingStatusResponseDataInner from a JSON string +get_housekeeping_status_response_data_inner_instance = GetHousekeepingStatusResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetHousekeepingStatusResponseDataInner.to_json()) + +# convert the object into a dict +get_housekeeping_status_response_data_inner_dict = get_housekeeping_status_response_data_inner_instance.to_dict() +# create an instance of GetHousekeepingStatusResponseDataInner from a dict +get_housekeeping_status_response_data_inner_from_dict = GetHousekeepingStatusResponseDataInner.from_dict(get_housekeeping_status_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetItemCategoriesResponse.md b/cloudbeds_pms_v1_3/docs/GetItemCategoriesResponse.md new file mode 100644 index 0000000..91eba54 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetItemCategoriesResponse.md @@ -0,0 +1,31 @@ +# GetItemCategoriesResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetItemCategoriesResponseDataInner]**](GetItemCategoriesResponseDataInner.md) | Categories details | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_item_categories_response import GetItemCategoriesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetItemCategoriesResponse from a JSON string +get_item_categories_response_instance = GetItemCategoriesResponse.from_json(json) +# print the JSON string representation of the object +print(GetItemCategoriesResponse.to_json()) + +# convert the object into a dict +get_item_categories_response_dict = get_item_categories_response_instance.to_dict() +# create an instance of GetItemCategoriesResponse from a dict +get_item_categories_response_from_dict = GetItemCategoriesResponse.from_dict(get_item_categories_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetItemCategoriesResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetItemCategoriesResponseDataInner.md new file mode 100644 index 0000000..82de320 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetItemCategoriesResponseDataInner.md @@ -0,0 +1,32 @@ +# GetItemCategoriesResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**category_id** | **str** | Category unique identifier | [optional] +**category_name** | **str** | Category name | [optional] +**category_code** | **str** | Category code | [optional] +**category_color** | **str** | Category color (like #3b7be7) | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_item_categories_response_data_inner import GetItemCategoriesResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetItemCategoriesResponseDataInner from a JSON string +get_item_categories_response_data_inner_instance = GetItemCategoriesResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetItemCategoriesResponseDataInner.to_json()) + +# convert the object into a dict +get_item_categories_response_data_inner_dict = get_item_categories_response_data_inner_instance.to_dict() +# create an instance of GetItemCategoriesResponseDataInner from a dict +get_item_categories_response_data_inner_from_dict = GetItemCategoriesResponseDataInner.from_dict(get_item_categories_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetItemResponse.md b/cloudbeds_pms_v1_3/docs/GetItemResponse.md new file mode 100644 index 0000000..338014d --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetItemResponse.md @@ -0,0 +1,31 @@ +# GetItemResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**GetItemResponseData**](GetItemResponseData.md) | | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_item_response import GetItemResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetItemResponse from a JSON string +get_item_response_instance = GetItemResponse.from_json(json) +# print the JSON string representation of the object +print(GetItemResponse.to_json()) + +# convert the object into a dict +get_item_response_dict = get_item_response_instance.to_dict() +# create an instance of GetItemResponse from a dict +get_item_response_from_dict = GetItemResponse.from_dict(get_item_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetItemResponseData.md b/cloudbeds_pms_v1_3/docs/GetItemResponseData.md new file mode 100644 index 0000000..221b509 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetItemResponseData.md @@ -0,0 +1,50 @@ +# GetItemResponseData + +Item details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**item_id** | **str** | Item unique identifier | [optional] +**item_type** | **str** | Item type | [optional] +**sku** | **str** | Item SKU | [optional] +**item_code** | **str** | Item code | [optional] +**name** | **str** | Item name | [optional] +**category_id** | **str** | Item category identifier. Null if unset | [optional] +**category_name** | **str** | Item category name. Empty if unset | [optional] +**description** | **str** | Item description | [optional] +**price** | **float** | Item price | [optional] +**stock_inventory** | **bool** | Track stock inventory for this item | [optional] +**item_quantity** | **int** | <sup>1</sup> Current amount of item available | [optional] +**reorder_threshold** | **int** | <sup>1</sup> Quantity at which to reorder item | [optional] +**reorder_needed** | **bool** | <sup>1</sup> true - Whether item is at or below value set for reorder threshold. | [optional] +**stop_sell** | **int** | <sup>1</sup> Quantity at which to stop selling product. | [optional] +**stop_sell_met** | **bool** | <sup>1</sup> true - Whether item is at or below value set for stop-sell threshold. | [optional] +**taxes** | [**List[GetItemResponseDataTaxesInner]**](GetItemResponseDataTaxesInner.md) | <sup>2</sup> Details of the taxes applicable | [optional] +**total_taxes** | **float** | <sup>2</sup> Total value of the taxes | [optional] +**fees** | [**List[GetItemResponseDataFeesInner]**](GetItemResponseDataFeesInner.md) | <sup>2</sup> Details of the fees applicable | [optional] +**total_fees** | **float** | <sup>2</sup> Total value of the fees | [optional] +**price_without_fees_and_taxes** | **float** | <sup>2</sup> item price subtracting the included taxes | [optional] +**grand_total** | **float** | <sup>2</sup> item price with fees and taxes | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_item_response_data import GetItemResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of GetItemResponseData from a JSON string +get_item_response_data_instance = GetItemResponseData.from_json(json) +# print the JSON string representation of the object +print(GetItemResponseData.to_json()) + +# convert the object into a dict +get_item_response_data_dict = get_item_response_data_instance.to_dict() +# create an instance of GetItemResponseData from a dict +get_item_response_data_from_dict = GetItemResponseData.from_dict(get_item_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetItemResponseDataFeesInner.md b/cloudbeds_pms_v1_3/docs/GetItemResponseDataFeesInner.md new file mode 100644 index 0000000..efffbb1 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetItemResponseDataFeesInner.md @@ -0,0 +1,30 @@ +# GetItemResponseDataFeesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**fee_name** | **str** | <sup>2</sup> Name of the fee | [optional] +**fee_value** | **float** | <sup>2</sup> Value of the fee | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_item_response_data_fees_inner import GetItemResponseDataFeesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetItemResponseDataFeesInner from a JSON string +get_item_response_data_fees_inner_instance = GetItemResponseDataFeesInner.from_json(json) +# print the JSON string representation of the object +print(GetItemResponseDataFeesInner.to_json()) + +# convert the object into a dict +get_item_response_data_fees_inner_dict = get_item_response_data_fees_inner_instance.to_dict() +# create an instance of GetItemResponseDataFeesInner from a dict +get_item_response_data_fees_inner_from_dict = GetItemResponseDataFeesInner.from_dict(get_item_response_data_fees_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetItemResponseDataTaxesInner.md b/cloudbeds_pms_v1_3/docs/GetItemResponseDataTaxesInner.md new file mode 100644 index 0000000..b6b4f3c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetItemResponseDataTaxesInner.md @@ -0,0 +1,30 @@ +# GetItemResponseDataTaxesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tax_name** | **str** | <sup>2</sup> Name of the tax | [optional] +**tax_value** | **float** | <sup>2</sup> Value of the tax | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_item_response_data_taxes_inner import GetItemResponseDataTaxesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetItemResponseDataTaxesInner from a JSON string +get_item_response_data_taxes_inner_instance = GetItemResponseDataTaxesInner.from_json(json) +# print the JSON string representation of the object +print(GetItemResponseDataTaxesInner.to_json()) + +# convert the object into a dict +get_item_response_data_taxes_inner_dict = get_item_response_data_taxes_inner_instance.to_dict() +# create an instance of GetItemResponseDataTaxesInner from a dict +get_item_response_data_taxes_inner_from_dict = GetItemResponseDataTaxesInner.from_dict(get_item_response_data_taxes_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetItemsResponse.md b/cloudbeds_pms_v1_3/docs/GetItemsResponse.md new file mode 100644 index 0000000..1fcaf17 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetItemsResponse.md @@ -0,0 +1,31 @@ +# GetItemsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetItemsResponseDataInner]**](GetItemsResponseDataInner.md) | Item details | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_items_response import GetItemsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetItemsResponse from a JSON string +get_items_response_instance = GetItemsResponse.from_json(json) +# print the JSON string representation of the object +print(GetItemsResponse.to_json()) + +# convert the object into a dict +get_items_response_dict = get_items_response_instance.to_dict() +# create an instance of GetItemsResponse from a dict +get_items_response_from_dict = GetItemsResponse.from_dict(get_items_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetItemsResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetItemsResponseDataInner.md new file mode 100644 index 0000000..0d83f32 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetItemsResponseDataInner.md @@ -0,0 +1,49 @@ +# GetItemsResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**item_id** | **str** | Item unique identifier | [optional] +**item_type** | **str** | Item type | [optional] +**sku** | **str** | Item SKU | [optional] +**item_code** | **str** | Item code | [optional] +**name** | **str** | Item name | [optional] +**category_id** | **str** | Item category identifier. Null if unset | [optional] +**category_name** | **str** | Item category name. Empty if unset | [optional] +**description** | **str** | Item description | [optional] +**price** | **float** | Item price | [optional] +**stock_inventory** | **bool** | Track stock inventory for this item | [optional] +**item_quantity** | **int** | <sup>1</sup> Current amount of item available | [optional] +**reorder_threshold** | **int** | <sup>1</sup> Quantity at which to reorder item | [optional] +**reorder_needed** | **bool** | <sup>1</sup> true - Whether item is at or below value set for reorder threshold. | [optional] +**stop_sell** | **int** | <sup>1</sup> Quantity at which to stop selling product. | [optional] +**stop_sell_met** | **bool** | <sup>1</sup> true - Whether item is at or below value set for stop-sell threshold. | [optional] +**taxes** | [**List[GetItemResponseDataTaxesInner]**](GetItemResponseDataTaxesInner.md) | <sup>2</sup> Details of the taxes applicable | [optional] +**total_taxes** | **float** | <sup>2</sup> Total value of the taxes | [optional] +**fees** | [**List[GetItemResponseDataFeesInner]**](GetItemResponseDataFeesInner.md) | <sup>2</sup> Details of the fees applicable | [optional] +**total_fees** | **float** | <sup>2</sup> Total value of the fees | [optional] +**price_without_fees_and_taxes** | **float** | <sup>2</sup> item price subtracting the included taxes | [optional] +**grand_total** | **float** | <sup>2</sup> item price with fees and taxes | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_items_response_data_inner import GetItemsResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetItemsResponseDataInner from a JSON string +get_items_response_data_inner_instance = GetItemsResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetItemsResponseDataInner.to_json()) + +# convert the object into a dict +get_items_response_data_inner_dict = get_items_response_data_inner_instance.to_dict() +# create an instance of GetItemsResponseDataInner from a dict +get_items_response_data_inner_from_dict = GetItemsResponseDataInner.from_dict(get_items_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetListAllotmentBlockNotesResponse.md b/cloudbeds_pms_v1_3/docs/GetListAllotmentBlockNotesResponse.md new file mode 100644 index 0000000..5f67fc4 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetListAllotmentBlockNotesResponse.md @@ -0,0 +1,33 @@ +# GetListAllotmentBlockNotesResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetListAllotmentBlockNotesResponseDataInner]**](GetListAllotmentBlockNotesResponseDataInner.md) | List of notes | [optional] +**page_size** | **int** | Number of Notes per Page | [optional] +**page_number** | **int** | Current page | [optional] +**total** | **int** | Total number of Notes | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_list_allotment_block_notes_response import GetListAllotmentBlockNotesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetListAllotmentBlockNotesResponse from a JSON string +get_list_allotment_block_notes_response_instance = GetListAllotmentBlockNotesResponse.from_json(json) +# print the JSON string representation of the object +print(GetListAllotmentBlockNotesResponse.to_json()) + +# convert the object into a dict +get_list_allotment_block_notes_response_dict = get_list_allotment_block_notes_response_instance.to_dict() +# create an instance of GetListAllotmentBlockNotesResponse from a dict +get_list_allotment_block_notes_response_from_dict = GetListAllotmentBlockNotesResponse.from_dict(get_list_allotment_block_notes_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetListAllotmentBlockNotesResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetListAllotmentBlockNotesResponseDataInner.md new file mode 100644 index 0000000..8101ee7 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetListAllotmentBlockNotesResponseDataInner.md @@ -0,0 +1,35 @@ +# GetListAllotmentBlockNotesResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | Note ID | [optional] +**message** | **str** | Note contents | [optional] +**created_by** | **str** | User Name | [optional] +**created_at** | **datetime** | Creation datetime (format: Y-m-d H:i:s) | [optional] +**updated_at** | **datetime** | Last modification datetime (format: Y-m-d H:i:s) | [optional] +**archived_at** | **datetime** | Archival datetime (format: Y-m-d H:i:s) | [optional] +**status** | **str** | Note status | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_list_allotment_block_notes_response_data_inner import GetListAllotmentBlockNotesResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetListAllotmentBlockNotesResponseDataInner from a JSON string +get_list_allotment_block_notes_response_data_inner_instance = GetListAllotmentBlockNotesResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetListAllotmentBlockNotesResponseDataInner.to_json()) + +# convert the object into a dict +get_list_allotment_block_notes_response_data_inner_dict = get_list_allotment_block_notes_response_data_inner_instance.to_dict() +# create an instance of GetListAllotmentBlockNotesResponseDataInner from a dict +get_list_allotment_block_notes_response_data_inner_from_dict = GetListAllotmentBlockNotesResponseDataInner.from_dict(get_list_allotment_block_notes_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetMetadataResponse.md b/cloudbeds_pms_v1_3/docs/GetMetadataResponse.md new file mode 100644 index 0000000..0da123b --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetMetadataResponse.md @@ -0,0 +1,31 @@ +# GetMetadataResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **str** | True if property can be found | [optional] +**data** | [**GetMetadataResponseData**](GetMetadataResponseData.md) | | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_metadata_response import GetMetadataResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetMetadataResponse from a JSON string +get_metadata_response_instance = GetMetadataResponse.from_json(json) +# print the JSON string representation of the object +print(GetMetadataResponse.to_json()) + +# convert the object into a dict +get_metadata_response_dict = get_metadata_response_instance.to_dict() +# create an instance of GetMetadataResponse from a dict +get_metadata_response_from_dict = GetMetadataResponse.from_dict(get_metadata_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetMetadataResponseData.md b/cloudbeds_pms_v1_3/docs/GetMetadataResponseData.md new file mode 100644 index 0000000..b616f06 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetMetadataResponseData.md @@ -0,0 +1,30 @@ +# GetMetadataResponseData + + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api** | [**GetMetadataResponseDataApi**](GetMetadataResponseDataApi.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_metadata_response_data import GetMetadataResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of GetMetadataResponseData from a JSON string +get_metadata_response_data_instance = GetMetadataResponseData.from_json(json) +# print the JSON string representation of the object +print(GetMetadataResponseData.to_json()) + +# convert the object into a dict +get_metadata_response_data_dict = get_metadata_response_data_instance.to_dict() +# create an instance of GetMetadataResponseData from a dict +get_metadata_response_data_from_dict = GetMetadataResponseData.from_dict(get_metadata_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetMetadataResponseDataApi.md b/cloudbeds_pms_v1_3/docs/GetMetadataResponseDataApi.md new file mode 100644 index 0000000..5dc79cc --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetMetadataResponseDataApi.md @@ -0,0 +1,30 @@ +# GetMetadataResponseDataApi + +The api details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**url** | **str** | The API URL for the given property | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_metadata_response_data_api import GetMetadataResponseDataApi + +# TODO update the JSON string below +json = "{}" +# create an instance of GetMetadataResponseDataApi from a JSON string +get_metadata_response_data_api_instance = GetMetadataResponseDataApi.from_json(json) +# print the JSON string representation of the object +print(GetMetadataResponseDataApi.to_json()) + +# convert the object into a dict +get_metadata_response_data_api_dict = get_metadata_response_data_api_instance.to_dict() +# create an instance of GetMetadataResponseDataApi from a dict +get_metadata_response_data_api_from_dict = GetMetadataResponseDataApi.from_dict(get_metadata_response_data_api_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetPackagesResponse.md b/cloudbeds_pms_v1_3/docs/GetPackagesResponse.md new file mode 100644 index 0000000..0a5d68f --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetPackagesResponse.md @@ -0,0 +1,31 @@ +# GetPackagesResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**GetPackagesResponseData**](GetPackagesResponseData.md) | | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_packages_response import GetPackagesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetPackagesResponse from a JSON string +get_packages_response_instance = GetPackagesResponse.from_json(json) +# print the JSON string representation of the object +print(GetPackagesResponse.to_json()) + +# convert the object into a dict +get_packages_response_dict = get_packages_response_instance.to_dict() +# create an instance of GetPackagesResponse from a dict +get_packages_response_from_dict = GetPackagesResponse.from_dict(get_packages_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetPackagesResponseData.md b/cloudbeds_pms_v1_3/docs/GetPackagesResponseData.md new file mode 100644 index 0000000..3771226 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetPackagesResponseData.md @@ -0,0 +1,30 @@ +# GetPackagesResponseData + + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**package_names** | **List[str]** | Array of package names | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_packages_response_data import GetPackagesResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of GetPackagesResponseData from a JSON string +get_packages_response_data_instance = GetPackagesResponseData.from_json(json) +# print the JSON string representation of the object +print(GetPackagesResponseData.to_json()) + +# convert the object into a dict +get_packages_response_data_dict = get_packages_response_data_instance.to_dict() +# create an instance of GetPackagesResponseData from a dict +get_packages_response_data_from_dict = GetPackagesResponseData.from_dict(get_packages_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponse.md b/cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponse.md new file mode 100644 index 0000000..54e6175 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponse.md @@ -0,0 +1,30 @@ +# GetPaymentMethodsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**GetPaymentMethodsResponseData**](GetPaymentMethodsResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_payment_methods_response import GetPaymentMethodsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetPaymentMethodsResponse from a JSON string +get_payment_methods_response_instance = GetPaymentMethodsResponse.from_json(json) +# print the JSON string representation of the object +print(GetPaymentMethodsResponse.to_json()) + +# convert the object into a dict +get_payment_methods_response_dict = get_payment_methods_response_instance.to_dict() +# create an instance of GetPaymentMethodsResponse from a dict +get_payment_methods_response_from_dict = GetPaymentMethodsResponse.from_dict(get_payment_methods_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseData.md b/cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseData.md new file mode 100644 index 0000000..f70b504 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseData.md @@ -0,0 +1,32 @@ +# GetPaymentMethodsResponseData + + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_id** | **str** | Property ID | [optional] +**methods** | [**List[GetPaymentMethodsResponseDataMethodsInner]**](GetPaymentMethodsResponseDataMethodsInner.md) | List of active methods enabled | [optional] +**gateway** | [**GetPaymentMethodsResponseDataGateway**](GetPaymentMethodsResponseDataGateway.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data import GetPaymentMethodsResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of GetPaymentMethodsResponseData from a JSON string +get_payment_methods_response_data_instance = GetPaymentMethodsResponseData.from_json(json) +# print the JSON string representation of the object +print(GetPaymentMethodsResponseData.to_json()) + +# convert the object into a dict +get_payment_methods_response_data_dict = get_payment_methods_response_data_instance.to_dict() +# create an instance of GetPaymentMethodsResponseData from a dict +get_payment_methods_response_data_from_dict = GetPaymentMethodsResponseData.from_dict(get_payment_methods_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseDataGateway.md b/cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseDataGateway.md new file mode 100644 index 0000000..d1d99c3 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseDataGateway.md @@ -0,0 +1,31 @@ +# GetPaymentMethodsResponseDataGateway + +Payment Gateway used by property + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | Gateway name | [optional] +**currency** | **str** | 3 letters iso code | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data_gateway import GetPaymentMethodsResponseDataGateway + +# TODO update the JSON string below +json = "{}" +# create an instance of GetPaymentMethodsResponseDataGateway from a JSON string +get_payment_methods_response_data_gateway_instance = GetPaymentMethodsResponseDataGateway.from_json(json) +# print the JSON string representation of the object +print(GetPaymentMethodsResponseDataGateway.to_json()) + +# convert the object into a dict +get_payment_methods_response_data_gateway_dict = get_payment_methods_response_data_gateway_instance.to_dict() +# create an instance of GetPaymentMethodsResponseDataGateway from a dict +get_payment_methods_response_data_gateway_from_dict = GetPaymentMethodsResponseDataGateway.from_dict(get_payment_methods_response_data_gateway_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseDataMethodsInner.md b/cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseDataMethodsInner.md new file mode 100644 index 0000000..c30ef00 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseDataMethodsInner.md @@ -0,0 +1,32 @@ +# GetPaymentMethodsResponseDataMethodsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**method** | **str** | Payment Method | [optional] +**code** | **str** | Payment Code | [optional] +**name** | **str** | Payment Name (in given lang) | [optional] +**card_types** | [**List[GetPaymentMethodsResponseDataMethodsInnerCardTypesInner]**](GetPaymentMethodsResponseDataMethodsInnerCardTypesInner.md) | IF type = 'credit' the enabled card types. Having the array's keys as its type and the value as its name. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data_methods_inner import GetPaymentMethodsResponseDataMethodsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetPaymentMethodsResponseDataMethodsInner from a JSON string +get_payment_methods_response_data_methods_inner_instance = GetPaymentMethodsResponseDataMethodsInner.from_json(json) +# print the JSON string representation of the object +print(GetPaymentMethodsResponseDataMethodsInner.to_json()) + +# convert the object into a dict +get_payment_methods_response_data_methods_inner_dict = get_payment_methods_response_data_methods_inner_instance.to_dict() +# create an instance of GetPaymentMethodsResponseDataMethodsInner from a dict +get_payment_methods_response_data_methods_inner_from_dict = GetPaymentMethodsResponseDataMethodsInner.from_dict(get_payment_methods_response_data_methods_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseDataMethodsInnerCardTypesInner.md b/cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseDataMethodsInnerCardTypesInner.md new file mode 100644 index 0000000..b999e1e --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetPaymentMethodsResponseDataMethodsInnerCardTypesInner.md @@ -0,0 +1,30 @@ +# GetPaymentMethodsResponseDataMethodsInnerCardTypesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**card_code** | **str** | | [optional] +**card_name** | **str** | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data_methods_inner_card_types_inner import GetPaymentMethodsResponseDataMethodsInnerCardTypesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetPaymentMethodsResponseDataMethodsInnerCardTypesInner from a JSON string +get_payment_methods_response_data_methods_inner_card_types_inner_instance = GetPaymentMethodsResponseDataMethodsInnerCardTypesInner.from_json(json) +# print the JSON string representation of the object +print(GetPaymentMethodsResponseDataMethodsInnerCardTypesInner.to_json()) + +# convert the object into a dict +get_payment_methods_response_data_methods_inner_card_types_inner_dict = get_payment_methods_response_data_methods_inner_card_types_inner_instance.to_dict() +# create an instance of GetPaymentMethodsResponseDataMethodsInnerCardTypesInner from a dict +get_payment_methods_response_data_methods_inner_card_types_inner_from_dict = GetPaymentMethodsResponseDataMethodsInnerCardTypesInner.from_dict(get_payment_methods_response_data_methods_inner_card_types_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetPaymentsCapabilitiesResponse.md b/cloudbeds_pms_v1_3/docs/GetPaymentsCapabilitiesResponse.md new file mode 100644 index 0000000..b62d106 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetPaymentsCapabilitiesResponse.md @@ -0,0 +1,30 @@ +# GetPaymentsCapabilitiesResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetPaymentsCapabilitiesResponseDataInner]**](GetPaymentsCapabilitiesResponseDataInner.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_payments_capabilities_response import GetPaymentsCapabilitiesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetPaymentsCapabilitiesResponse from a JSON string +get_payments_capabilities_response_instance = GetPaymentsCapabilitiesResponse.from_json(json) +# print the JSON string representation of the object +print(GetPaymentsCapabilitiesResponse.to_json()) + +# convert the object into a dict +get_payments_capabilities_response_dict = get_payments_capabilities_response_instance.to_dict() +# create an instance of GetPaymentsCapabilitiesResponse from a dict +get_payments_capabilities_response_from_dict = GetPaymentsCapabilitiesResponse.from_dict(get_payments_capabilities_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetPaymentsCapabilitiesResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetPaymentsCapabilitiesResponseDataInner.md new file mode 100644 index 0000000..cf70f5d --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetPaymentsCapabilitiesResponseDataInner.md @@ -0,0 +1,33 @@ +# GetPaymentsCapabilitiesResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cloudbeds_payments** | **bool** | If Cloudbeds Payments is enabled for this property | [optional] +**terminal** | **bool** | If the property has an active terminal | [optional] +**tap_to_pay** | **bool** | If tap-to-pay is enabled for the property in the backend gateway | [optional] +**gateway** | **str** | The backend gateway in use for this property | [optional] +**pay_by_link** | **bool** | If Pay-by-Link is enabled for the property | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_payments_capabilities_response_data_inner import GetPaymentsCapabilitiesResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetPaymentsCapabilitiesResponseDataInner from a JSON string +get_payments_capabilities_response_data_inner_instance = GetPaymentsCapabilitiesResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetPaymentsCapabilitiesResponseDataInner.to_json()) + +# convert the object into a dict +get_payments_capabilities_response_data_inner_dict = get_payments_capabilities_response_data_inner_instance.to_dict() +# create an instance of GetPaymentsCapabilitiesResponseDataInner from a dict +get_payments_capabilities_response_data_inner_from_dict = GetPaymentsCapabilitiesResponseDataInner.from_dict(get_payments_capabilities_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRateJobsResponse.md b/cloudbeds_pms_v1_3/docs/GetRateJobsResponse.md new file mode 100644 index 0000000..8174447 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRateJobsResponse.md @@ -0,0 +1,32 @@ +# GetRateJobsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**has_next_page** | **bool** | Returns true if there is another page of results after this one | [optional] +**next_page** | **str** | The URL of the next page of results if there is one | [optional] +**data** | [**List[GetRateJobsResponseDataInner]**](GetRateJobsResponseDataInner.md) | Job details | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rate_jobs_response import GetRateJobsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRateJobsResponse from a JSON string +get_rate_jobs_response_instance = GetRateJobsResponse.from_json(json) +# print the JSON string representation of the object +print(GetRateJobsResponse.to_json()) + +# convert the object into a dict +get_rate_jobs_response_dict = get_rate_jobs_response_instance.to_dict() +# create an instance of GetRateJobsResponse from a dict +get_rate_jobs_response_from_dict = GetRateJobsResponse.from_dict(get_rate_jobs_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRateJobsResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetRateJobsResponseDataInner.md new file mode 100644 index 0000000..a4fc16e --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRateJobsResponseDataInner.md @@ -0,0 +1,32 @@ +# GetRateJobsResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**job_reference_id** | **str** | Reference ID for the job created for this update. This can be used to track success of the batch for this rate update. See getRateJobs or the rate:batch_job | [optional] +**date_created** | **date** | Rate Job creation datetime | [optional] +**status** | **str** | Status of the Rate Job. in_progress - job is processing. completed - job has completed successfully. error - there was an error with 1 or more updates requested in this job. Allowed values: in_progressgu, completed, error | [optional] +**updates** | [**List[GetRateJobsResponseDataInnerUpdatesInner]**](GetRateJobsResponseDataInnerUpdatesInner.md) | Array of actions produced from this job | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rate_jobs_response_data_inner import GetRateJobsResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRateJobsResponseDataInner from a JSON string +get_rate_jobs_response_data_inner_instance = GetRateJobsResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetRateJobsResponseDataInner.to_json()) + +# convert the object into a dict +get_rate_jobs_response_data_inner_dict = get_rate_jobs_response_data_inner_instance.to_dict() +# create an instance of GetRateJobsResponseDataInner from a dict +get_rate_jobs_response_data_inner_from_dict = GetRateJobsResponseDataInner.from_dict(get_rate_jobs_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRateJobsResponseDataInnerUpdatesInner.md b/cloudbeds_pms_v1_3/docs/GetRateJobsResponseDataInnerUpdatesInner.md new file mode 100644 index 0000000..6d486c3 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRateJobsResponseDataInnerUpdatesInner.md @@ -0,0 +1,40 @@ +# GetRateJobsResponseDataInnerUpdatesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**rate_id** | **str** | Rate ID for which action was taken | [optional] +**action** | **str** | Action taken for this interval as part of this job. in_progress - interval wait for it turn. updated - interval was updated. created - new interval was created with the new date range. error - there was an error when attempting this update. Allowed values: in_progress, updated, created, error | [optional] +**start_date** | **date** | Interval start date | [optional] +**end_date** | **date** | Interval end date | [optional] +**rate** | **float** | Value of rate which was updated | [optional] +**max_los** | **int** | Maximum length of stay for this rate | [optional] +**min_los** | **int** | Minimum length of stay for this rate | [optional] +**closed_to_arrival** | **bool** | If this rate is closed to arrival | [optional] +**closed_to_departure** | **bool** | If this rate is closed to departure | [optional] +**cut_off** | **int** | Cutoff for this rate | [optional] +**last_minute_booking** | **int** | Last minute booking for this rate | [optional] +**message** | **str** | Error message | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rate_jobs_response_data_inner_updates_inner import GetRateJobsResponseDataInnerUpdatesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRateJobsResponseDataInnerUpdatesInner from a JSON string +get_rate_jobs_response_data_inner_updates_inner_instance = GetRateJobsResponseDataInnerUpdatesInner.from_json(json) +# print the JSON string representation of the object +print(GetRateJobsResponseDataInnerUpdatesInner.to_json()) + +# convert the object into a dict +get_rate_jobs_response_data_inner_updates_inner_dict = get_rate_jobs_response_data_inner_updates_inner_instance.to_dict() +# create an instance of GetRateJobsResponseDataInnerUpdatesInner from a dict +get_rate_jobs_response_data_inner_updates_inner_from_dict = GetRateJobsResponseDataInnerUpdatesInner.from_dict(get_rate_jobs_response_data_inner_updates_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRatePlansResponse.md b/cloudbeds_pms_v1_3/docs/GetRatePlansResponse.md new file mode 100644 index 0000000..da2cc80 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRatePlansResponse.md @@ -0,0 +1,31 @@ +# GetRatePlansResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetRatePlansResponseDataInner]**](GetRatePlansResponseDataInner.md) | Rates details | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rate_plans_response import GetRatePlansResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRatePlansResponse from a JSON string +get_rate_plans_response_instance = GetRatePlansResponse.from_json(json) +# print the JSON string representation of the object +print(GetRatePlansResponse.to_json()) + +# convert the object into a dict +get_rate_plans_response_dict = get_rate_plans_response_instance.to_dict() +# create an instance of GetRatePlansResponse from a dict +get_rate_plans_response_from_dict = GetRatePlansResponse.from_dict(get_rate_plans_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRatePlansResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetRatePlansResponseDataInner.md new file mode 100644 index 0000000..e19227a --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRatePlansResponseDataInner.md @@ -0,0 +1,46 @@ +# GetRatePlansResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**rate_id** | **str** | Rate ID | [optional] +**is_derived** | **bool** | True if this rate is derived from another rate | [optional] +**room_rate** | **float** | Rate for the room, based on the parameters provided | [optional] +**total_rate** | **float** | Total rate for the room, based on the parameters provided. Calculated using base rates and additional costs from extra guests. | [optional] +**rooms_available** | **int** | Number of rooms available for the selected date | [optional] +**room_type_id** | **str** | ] room type ID (if not specified in request) | [optional] +**room_type_name** | **int** | ] room type name (if not specified in request) | [optional] +**property_id** | **str** | Property ID, used if multiple properties are included in request | [optional] +**rate_plan_id** | **str** | ratePlanID (If rate depends on plan) | [optional] +**rate_plan_name_public** | **str** | ratePlanNamePublic | [optional] +**rate_plan_name_private** | **str** | ratePlanNamePrivate | [optional] +**promo_code** | **str** | Promotional code when rate plan has has it | [optional] +**derived_type** | **str** | type of deriving (only if current rate was derived from other one). | [optional] +**derived_value** | **float** | Can be positive or negative (only if current rate was derived from other one). | [optional] +**base_rate** | **float** | Base rate on given period | [optional] +**days_of_week** | **List[str]** | Returns when there is a difference between range given with startDate/endDate and days of week which rate plan applies. | [optional] +**add_ons** | [**List[GetRatePlansResponseDataInnerAddOnsInner]**](GetRatePlansResponseDataInnerAddOnsInner.md) | addOns information on the rates | [optional] +**room_rate_detailed** | [**List[GetRatePlansResponseDataInnerRoomRateDetailedInner]**](GetRatePlansResponseDataInnerRoomRateDetailedInner.md) | Detailed information on the rates, if requested | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner import GetRatePlansResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRatePlansResponseDataInner from a JSON string +get_rate_plans_response_data_inner_instance = GetRatePlansResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetRatePlansResponseDataInner.to_json()) + +# convert the object into a dict +get_rate_plans_response_data_inner_dict = get_rate_plans_response_data_inner_instance.to_dict() +# create an instance of GetRatePlansResponseDataInner from a dict +get_rate_plans_response_data_inner_from_dict = GetRatePlansResponseDataInner.from_dict(get_rate_plans_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRatePlansResponseDataInnerAddOnsInner.md b/cloudbeds_pms_v1_3/docs/GetRatePlansResponseDataInnerAddOnsInner.md new file mode 100644 index 0000000..22334b0 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRatePlansResponseDataInnerAddOnsInner.md @@ -0,0 +1,32 @@ +# GetRatePlansResponseDataInnerAddOnsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**add_on_id** | **str** | addOnID | [optional] +**add_on_name** | **str** | addOnName | [optional] +**item_id** | **str** | itemID | [optional] +**item_name** | **str** | itemName | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner_add_ons_inner import GetRatePlansResponseDataInnerAddOnsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRatePlansResponseDataInnerAddOnsInner from a JSON string +get_rate_plans_response_data_inner_add_ons_inner_instance = GetRatePlansResponseDataInnerAddOnsInner.from_json(json) +# print the JSON string representation of the object +print(GetRatePlansResponseDataInnerAddOnsInner.to_json()) + +# convert the object into a dict +get_rate_plans_response_data_inner_add_ons_inner_dict = get_rate_plans_response_data_inner_add_ons_inner_instance.to_dict() +# create an instance of GetRatePlansResponseDataInnerAddOnsInner from a dict +get_rate_plans_response_data_inner_add_ons_inner_from_dict = GetRatePlansResponseDataInnerAddOnsInner.from_dict(get_rate_plans_response_data_inner_add_ons_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRatePlansResponseDataInnerRoomRateDetailedInner.md b/cloudbeds_pms_v1_3/docs/GetRatePlansResponseDataInnerRoomRateDetailedInner.md new file mode 100644 index 0000000..9fc807d --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRatePlansResponseDataInnerRoomRateDetailedInner.md @@ -0,0 +1,38 @@ +# GetRatePlansResponseDataInnerRoomRateDetailedInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_date** | **date** | | [optional] +**rate_base** | **float** | rate for the selected date | [optional] +**total_rate** | **float** | Total rate for the selected date | [optional] +**rooms_available** | **int** | Number of rooms available for the selected date | [optional] +**closed_to_arrival** | **bool** | true if day closed to arrival | [optional] +**closed_to_departure** | **bool** | true if day closed to departure | [optional] +**min_los** | **int** | Minimum Length Of Stay | [optional] +**max_los** | **int** | Maximum Length Of Stay | [optional] +**cut_off** | **int** | | [optional] +**last_minute_booking** | **int** | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner_room_rate_detailed_inner import GetRatePlansResponseDataInnerRoomRateDetailedInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRatePlansResponseDataInnerRoomRateDetailedInner from a JSON string +get_rate_plans_response_data_inner_room_rate_detailed_inner_instance = GetRatePlansResponseDataInnerRoomRateDetailedInner.from_json(json) +# print the JSON string representation of the object +print(GetRatePlansResponseDataInnerRoomRateDetailedInner.to_json()) + +# convert the object into a dict +get_rate_plans_response_data_inner_room_rate_detailed_inner_dict = get_rate_plans_response_data_inner_room_rate_detailed_inner_instance.to_dict() +# create an instance of GetRatePlansResponseDataInnerRoomRateDetailedInner from a dict +get_rate_plans_response_data_inner_room_rate_detailed_inner_from_dict = GetRatePlansResponseDataInnerRoomRateDetailedInner.from_dict(get_rate_plans_response_data_inner_room_rate_detailed_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRateResponse.md b/cloudbeds_pms_v1_3/docs/GetRateResponse.md new file mode 100644 index 0000000..f0606cc --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRateResponse.md @@ -0,0 +1,30 @@ +# GetRateResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**GetRateResponseData**](GetRateResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rate_response import GetRateResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRateResponse from a JSON string +get_rate_response_instance = GetRateResponse.from_json(json) +# print the JSON string representation of the object +print(GetRateResponse.to_json()) + +# convert the object into a dict +get_rate_response_dict = get_rate_response_instance.to_dict() +# create an instance of GetRateResponse from a dict +get_rate_response_from_dict = GetRateResponse.from_dict(get_rate_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRateResponseData.md b/cloudbeds_pms_v1_3/docs/GetRateResponseData.md new file mode 100644 index 0000000..ccd9131 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRateResponseData.md @@ -0,0 +1,36 @@ +# GetRateResponseData + +Rates details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**rate_id** | **str** | Rate ID | [optional] +**is_derived** | **bool** | This rate has been derived from another rate | [optional] +**room_rate** | **float** | Base rate for the room, calculated based on the Room Type ID, selected dates, and promo code. This does not include additional guest charges | [optional] +**total_rate** | **float** | Total rate for the room, which includes the base rate (roomRate) plus additional costs for extra guests (adults and children) | [optional] +**rooms_available** | **int** | Number of rooms available, based on the parameters provided | [optional] +**days_of_week** | **List[str]** | | [optional] +**room_rate_detailed** | [**List[GetRateResponseDataRoomRateDetailedInner]**](GetRateResponseDataRoomRateDetailedInner.md) | Detailed information on the rates, if requested | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rate_response_data import GetRateResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRateResponseData from a JSON string +get_rate_response_data_instance = GetRateResponseData.from_json(json) +# print the JSON string representation of the object +print(GetRateResponseData.to_json()) + +# convert the object into a dict +get_rate_response_data_dict = get_rate_response_data_instance.to_dict() +# create an instance of GetRateResponseData from a dict +get_rate_response_data_from_dict = GetRateResponseData.from_dict(get_rate_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRateResponseDataRoomRateDetailedInner.md b/cloudbeds_pms_v1_3/docs/GetRateResponseDataRoomRateDetailedInner.md new file mode 100644 index 0000000..2d38b62 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRateResponseDataRoomRateDetailedInner.md @@ -0,0 +1,36 @@ +# GetRateResponseDataRoomRateDetailedInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_date** | **date** | | [optional] +**rate** | **float** | Base rate for the selected date | [optional] +**total_rate** | **float** | Total rate for the selected date | [optional] +**rooms_available** | **int** | Number of rooms available for the selected date | [optional] +**closed_to_arrival** | **bool** | | [optional] +**closed_to_departure** | **bool** | | [optional] +**min_los** | **int** | Minimum Length Of Stay | [optional] +**max_los** | **int** | Maximum Length Of Stay | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rate_response_data_room_rate_detailed_inner import GetRateResponseDataRoomRateDetailedInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRateResponseDataRoomRateDetailedInner from a JSON string +get_rate_response_data_room_rate_detailed_inner_instance = GetRateResponseDataRoomRateDetailedInner.from_json(json) +# print the JSON string representation of the object +print(GetRateResponseDataRoomRateDetailedInner.to_json()) + +# convert the object into a dict +get_rate_response_data_room_rate_detailed_inner_dict = get_rate_response_data_room_rate_detailed_inner_instance.to_dict() +# create an instance of GetRateResponseDataRoomRateDetailedInner from a dict +get_rate_response_data_room_rate_detailed_inner_from_dict = GetRateResponseDataRoomRateDetailedInner.from_dict(get_rate_response_data_room_rate_detailed_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationAssignmentsResponse.md b/cloudbeds_pms_v1_3/docs/GetReservationAssignmentsResponse.md new file mode 100644 index 0000000..1c1bf82 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationAssignmentsResponse.md @@ -0,0 +1,31 @@ +# GetReservationAssignmentsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetReservationAssignmentsResponseDataInner]**](GetReservationAssignmentsResponseDataInner.md) | Details for the rooms assigned on the selected date | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_assignments_response import GetReservationAssignmentsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationAssignmentsResponse from a JSON string +get_reservation_assignments_response_instance = GetReservationAssignmentsResponse.from_json(json) +# print the JSON string representation of the object +print(GetReservationAssignmentsResponse.to_json()) + +# convert the object into a dict +get_reservation_assignments_response_dict = get_reservation_assignments_response_instance.to_dict() +# create an instance of GetReservationAssignmentsResponse from a dict +get_reservation_assignments_response_from_dict = GetReservationAssignmentsResponse.from_dict(get_reservation_assignments_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationAssignmentsResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetReservationAssignmentsResponseDataInner.md new file mode 100644 index 0000000..0d459b1 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationAssignmentsResponseDataInner.md @@ -0,0 +1,32 @@ +# GetReservationAssignmentsResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**guest_name** | **str** | Guest Name | [optional] +**reservation_id** | **str** | Reservation identifier, used for all query operations | [optional] +**unassigned** | **int** | Number of rooms unassigned | [optional] +**assigned** | [**List[GetReservationAssignmentsResponseDataInnerAssignedInner]**](GetReservationAssignmentsResponseDataInnerAssignedInner.md) | Assigned Rooms information. May not exist if no room is assigned. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_assignments_response_data_inner import GetReservationAssignmentsResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationAssignmentsResponseDataInner from a JSON string +get_reservation_assignments_response_data_inner_instance = GetReservationAssignmentsResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationAssignmentsResponseDataInner.to_json()) + +# convert the object into a dict +get_reservation_assignments_response_data_inner_dict = get_reservation_assignments_response_data_inner_instance.to_dict() +# create an instance of GetReservationAssignmentsResponseDataInner from a dict +get_reservation_assignments_response_data_inner_from_dict = GetReservationAssignmentsResponseDataInner.from_dict(get_reservation_assignments_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationAssignmentsResponseDataInnerAssignedInner.md b/cloudbeds_pms_v1_3/docs/GetReservationAssignmentsResponseDataInnerAssignedInner.md new file mode 100644 index 0000000..c3ab841 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationAssignmentsResponseDataInnerAssignedInner.md @@ -0,0 +1,35 @@ +# GetReservationAssignmentsResponseDataInnerAssignedInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**room_type_id** | **str** | ID of the room type assigned | [optional] +**room_type_name** | **str** | Name of the room type assigned | [optional] +**room_type_name_short** | **str** | Short name of the room type assigned | [optional] +**dorm_room_name** | **str** | Name of the dorm room. Used for the shared dorm beds that are organized into rooms within the same room type | [optional] +**room_name** | **str** | Name of the specific room assigned | [optional] +**room_id** | **str** | ID of the specific room assigned | [optional] +**sub_reservation_id** | **str** | Associated subReservation ID (specific to room) | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_assignments_response_data_inner_assigned_inner import GetReservationAssignmentsResponseDataInnerAssignedInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationAssignmentsResponseDataInnerAssignedInner from a JSON string +get_reservation_assignments_response_data_inner_assigned_inner_instance = GetReservationAssignmentsResponseDataInnerAssignedInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationAssignmentsResponseDataInnerAssignedInner.to_json()) + +# convert the object into a dict +get_reservation_assignments_response_data_inner_assigned_inner_dict = get_reservation_assignments_response_data_inner_assigned_inner_instance.to_dict() +# create an instance of GetReservationAssignmentsResponseDataInnerAssignedInner from a dict +get_reservation_assignments_response_data_inner_assigned_inner_from_dict = GetReservationAssignmentsResponseDataInnerAssignedInner.from_dict(get_reservation_assignments_response_data_inner_assigned_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationNotesResponse.md b/cloudbeds_pms_v1_3/docs/GetReservationNotesResponse.md new file mode 100644 index 0000000..cb4518f --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationNotesResponse.md @@ -0,0 +1,31 @@ +# GetReservationNotesResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetReservationNotesResponseDataInner]**](GetReservationNotesResponseDataInner.md) | Details for the notes on that reservation | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_notes_response import GetReservationNotesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationNotesResponse from a JSON string +get_reservation_notes_response_instance = GetReservationNotesResponse.from_json(json) +# print the JSON string representation of the object +print(GetReservationNotesResponse.to_json()) + +# convert the object into a dict +get_reservation_notes_response_dict = get_reservation_notes_response_instance.to_dict() +# create an instance of GetReservationNotesResponse from a dict +get_reservation_notes_response_from_dict = GetReservationNotesResponse.from_dict(get_reservation_notes_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationNotesResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetReservationNotesResponseDataInner.md new file mode 100644 index 0000000..9ccde69 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationNotesResponseDataInner.md @@ -0,0 +1,33 @@ +# GetReservationNotesResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reservation_note_id** | **str** | Reservation note ID | [optional] +**user_name** | **str** | User Name | [optional] +**date_created** | **datetime** | Creation datetime | [optional] +**date_modified** | **datetime** | Last modification datetime | [optional] +**reservation_note** | **str** | Note content | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_notes_response_data_inner import GetReservationNotesResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationNotesResponseDataInner from a JSON string +get_reservation_notes_response_data_inner_instance = GetReservationNotesResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationNotesResponseDataInner.to_json()) + +# convert the object into a dict +get_reservation_notes_response_data_inner_dict = get_reservation_notes_response_data_inner_instance.to_dict() +# create an instance of GetReservationNotesResponseDataInner from a dict +get_reservation_notes_response_data_inner_from_dict = GetReservationNotesResponseDataInner.from_dict(get_reservation_notes_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationResponse.md b/cloudbeds_pms_v1_3/docs/GetReservationResponse.md new file mode 100644 index 0000000..b0f654d --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationResponse.md @@ -0,0 +1,31 @@ +# GetReservationResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**GetReservationResponseData**](GetReservationResponseData.md) | | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_response import GetReservationResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationResponse from a JSON string +get_reservation_response_instance = GetReservationResponse.from_json(json) +# print the JSON string representation of the object +print(GetReservationResponse.to_json()) + +# convert the object into a dict +get_reservation_response_dict = get_reservation_response_instance.to_dict() +# create an instance of GetReservationResponse from a dict +get_reservation_response_from_dict = GetReservationResponse.from_dict(get_reservation_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationResponseData.md b/cloudbeds_pms_v1_3/docs/GetReservationResponseData.md new file mode 100644 index 0000000..c92d5b6 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationResponseData.md @@ -0,0 +1,56 @@ +# GetReservationResponseData + +Details for the reservation queried + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_id** | **str** | Property ID | [optional] +**guest_name** | **str** | Main Guest Name | [optional] +**guest_email** | **str** | Main Guest Email | [optional] +**is_anonymized** | **bool** | Flag indicating the main guest data was removed upon request | [optional] +**guest_list** | [**Dict[str, GetReservationResponseDataGuestListValue]**](GetReservationResponseDataGuestListValue.md) | A map of guest IDs to guest objects (key is the Guest ID). It contains an entry for each guest included on the reservation. | [optional] +**reservation_id** | **str** | Reservation identifier | [optional] +**date_created** | **datetime** | | [optional] +**date_modified** | **datetime** | | [optional] +**estimated_arrival_time** | **str** | Estimated arrival time, 24-hour format. | [optional] +**source** | **str** | Booking source (e.g. Website, Facebook Widget, Booking.com, etc) | [optional] +**source_id** | **str** | Booking source unique id | [optional] +**third_party_identifier** | **str** | If it was received from a booking channel, it displays its identifier. If not, it will be empty | [optional] +**status** | **str** | Reservation status<br /> 'not_confirmed' - Reservation is pending confirmation<br /> 'confirmed' - Reservation is confirmed<br /> 'canceled' - Reservation is canceled<br /> 'checked_in' - Guest is in hotel<br /> 'checked_out' - Guest already left hotel<br /> 'no_show' - Guest didn't showed up on check-in date | [optional] +**total** | **float** | Total price of the booking | [optional] +**balance** | **float** | Balance currently owed | [optional] +**balance_detailed** | [**GetReservationResponseDataBalanceDetailed**](GetReservationResponseDataBalanceDetailed.md) | | [optional] +**assigned** | [**List[GetReservationResponseDataAssignedInner]**](GetReservationResponseDataAssignedInner.md) | Assigned Rooms information | [optional] +**unassigned** | [**List[GetReservationResponseDataUnassignedInner]**](GetReservationResponseDataUnassignedInner.md) | Unassigned Rooms information | [optional] +**cards_on_file** | [**List[GetReservationResponseDataCardsOnFileInner]**](GetReservationResponseDataCardsOnFileInner.md) | Credit Cards stored for the reservation | [optional] +**custom_fields** | [**List[GetReservationResponseDataGuestListValueCustomFieldsInner]**](GetReservationResponseDataGuestListValueCustomFieldsInner.md) | Custom Fields related to the reservation | [optional] +**start_date** | **date** | First reservation check-in date | [optional] +**end_date** | **date** | Last reservation check-out date | [optional] +**allotment_block_code** | **str** | Allotment block code | [optional] +**channel_provided_credit_card** | **bool** | Whether a credit card was provided by the channel. Only included for reservations originating from OTAs. | [optional] +**group_inventory** | [**List[GetReservationResponseDataGroupInventoryInner]**](GetReservationResponseDataGroupInventoryInner.md) | Aggregate allotment block information | [optional] +**origin** | **str** | Reservation origin | [optional] +**meal_plans** | **str** | Reservation Meal Plans | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_response_data import GetReservationResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationResponseData from a JSON string +get_reservation_response_data_instance = GetReservationResponseData.from_json(json) +# print the JSON string representation of the object +print(GetReservationResponseData.to_json()) + +# convert the object into a dict +get_reservation_response_data_dict = get_reservation_response_data_instance.to_dict() +# create an instance of GetReservationResponseData from a dict +get_reservation_response_data_from_dict = GetReservationResponseData.from_dict(get_reservation_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationResponseDataAssignedInner.md b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataAssignedInner.md new file mode 100644 index 0000000..a0ccf21 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataAssignedInner.md @@ -0,0 +1,45 @@ +# GetReservationResponseDataAssignedInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reservation_room_id** | **str** | Reservation room ID | [optional] +**room_type_name** | **str** | Name of the assigned room type | [optional] +**room_type_name_short** | **str** | Short name of the assigned room type | [optional] +**room_type_is_virtual** | **bool** | If room is virtual (true) or physical (false) | [optional] +**dorm_room_name** | **str** | Name of the dorm room. Used for the shared dorm beds that are organized into rooms within the same room type | [optional] +**room_type_id** | **str** | ID of the assigned room type | [optional] +**sub_reservation_id** | **str** | Sub Reservation ID of the specific assigned room | [optional] +**room_name** | **str** | Name of the specific assigned room | [optional] +**room_id** | **str** | ID of the specific assigned room | [optional] +**start_date** | **date** | Check-In date of the room | [optional] +**end_date** | **date** | Check-Out date of the room | [optional] +**adults** | **str** | Number of adult staying in the room | [optional] +**children** | **str** | Number of children staying in the room | [optional] +**daily_rates** | [**List[GetReservationResponseDataAssignedInnerDailyRatesInner]**](GetReservationResponseDataAssignedInnerDailyRatesInner.md) | Array with rates detailed by day | [optional] +**room_total** | **str** | Room total rate | [optional] +**market_name** | **str** | Market segmentation name | [optional] +**market_code** | **str** | Market segmentation code | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner import GetReservationResponseDataAssignedInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationResponseDataAssignedInner from a JSON string +get_reservation_response_data_assigned_inner_instance = GetReservationResponseDataAssignedInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationResponseDataAssignedInner.to_json()) + +# convert the object into a dict +get_reservation_response_data_assigned_inner_dict = get_reservation_response_data_assigned_inner_instance.to_dict() +# create an instance of GetReservationResponseDataAssignedInner from a dict +get_reservation_response_data_assigned_inner_from_dict = GetReservationResponseDataAssignedInner.from_dict(get_reservation_response_data_assigned_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationResponseDataAssignedInnerDailyRatesInner.md b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataAssignedInnerDailyRatesInner.md new file mode 100644 index 0000000..0ea1549 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataAssignedInnerDailyRatesInner.md @@ -0,0 +1,30 @@ +# GetReservationResponseDataAssignedInnerDailyRatesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_date** | **date** | | [optional] +**rate** | **float** | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner_daily_rates_inner import GetReservationResponseDataAssignedInnerDailyRatesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationResponseDataAssignedInnerDailyRatesInner from a JSON string +get_reservation_response_data_assigned_inner_daily_rates_inner_instance = GetReservationResponseDataAssignedInnerDailyRatesInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationResponseDataAssignedInnerDailyRatesInner.to_json()) + +# convert the object into a dict +get_reservation_response_data_assigned_inner_daily_rates_inner_dict = get_reservation_response_data_assigned_inner_daily_rates_inner_instance.to_dict() +# create an instance of GetReservationResponseDataAssignedInnerDailyRatesInner from a dict +get_reservation_response_data_assigned_inner_daily_rates_inner_from_dict = GetReservationResponseDataAssignedInnerDailyRatesInner.from_dict(get_reservation_response_data_assigned_inner_daily_rates_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationResponseDataBalanceDetailed.md b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataBalanceDetailed.md new file mode 100644 index 0000000..3ff721d --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataBalanceDetailed.md @@ -0,0 +1,35 @@ +# GetReservationResponseDataBalanceDetailed + +Reservation balance detailed with the information available on PC app, describing the financial items calculated + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**suggested_deposit** | **str** | Suggested deposit value, calculated according to the hotel policies. Does not mean that it was effectively paid | [optional] +**sub_total** | **float** | Sum of the room prices on the reservation | [optional] +**additional_items** | **float** | Sum of the additional items recorded on the reservation | [optional] +**taxes_fees** | **float** | Sum of the taxes and fees calculated on the reservation | [optional] +**grand_total** | **float** | Sum of sub.Total + additionalItems + taxesFees | [optional] +**paid** | **float** | Amount paid (reservation deposit + any other extra payment) | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_response_data_balance_detailed import GetReservationResponseDataBalanceDetailed + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationResponseDataBalanceDetailed from a JSON string +get_reservation_response_data_balance_detailed_instance = GetReservationResponseDataBalanceDetailed.from_json(json) +# print the JSON string representation of the object +print(GetReservationResponseDataBalanceDetailed.to_json()) + +# convert the object into a dict +get_reservation_response_data_balance_detailed_dict = get_reservation_response_data_balance_detailed_instance.to_dict() +# create an instance of GetReservationResponseDataBalanceDetailed from a dict +get_reservation_response_data_balance_detailed_from_dict = GetReservationResponseDataBalanceDetailed.from_dict(get_reservation_response_data_balance_detailed_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationResponseDataBalanceDetailedOneOf.md b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataBalanceDetailedOneOf.md new file mode 100644 index 0000000..f11c3f1 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataBalanceDetailedOneOf.md @@ -0,0 +1,34 @@ +# GetReservationResponseDataBalanceDetailedOneOf + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**suggested_deposit** | **str** | Suggested deposit value, calculated according to the hotel policies. Does not mean that it was effectively paid | [optional] +**sub_total** | **float** | Sum of the room prices on the reservation | [optional] +**additional_items** | **float** | Sum of the additional items recorded on the reservation | [optional] +**taxes_fees** | **float** | Sum of the taxes and fees calculated on the reservation | [optional] +**grand_total** | **float** | Sum of sub.Total + additionalItems + taxesFees | [optional] +**paid** | **float** | Amount paid (reservation deposit + any other extra payment) | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_response_data_balance_detailed_one_of import GetReservationResponseDataBalanceDetailedOneOf + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationResponseDataBalanceDetailedOneOf from a JSON string +get_reservation_response_data_balance_detailed_one_of_instance = GetReservationResponseDataBalanceDetailedOneOf.from_json(json) +# print the JSON string representation of the object +print(GetReservationResponseDataBalanceDetailedOneOf.to_json()) + +# convert the object into a dict +get_reservation_response_data_balance_detailed_one_of_dict = get_reservation_response_data_balance_detailed_one_of_instance.to_dict() +# create an instance of GetReservationResponseDataBalanceDetailedOneOf from a dict +get_reservation_response_data_balance_detailed_one_of_from_dict = GetReservationResponseDataBalanceDetailedOneOf.from_dict(get_reservation_response_data_balance_detailed_one_of_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationResponseDataCardsOnFileInner.md b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataCardsOnFileInner.md new file mode 100644 index 0000000..4146253 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataCardsOnFileInner.md @@ -0,0 +1,31 @@ +# GetReservationResponseDataCardsOnFileInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**card_id** | **str** | Credit Card ID, used for card operations | [optional] +**card_number** | **str** | Ending digits of the credit card | [optional] +**card_type** | **str** | Abbreviated name of credit card type | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_response_data_cards_on_file_inner import GetReservationResponseDataCardsOnFileInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationResponseDataCardsOnFileInner from a JSON string +get_reservation_response_data_cards_on_file_inner_instance = GetReservationResponseDataCardsOnFileInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationResponseDataCardsOnFileInner.to_json()) + +# convert the object into a dict +get_reservation_response_data_cards_on_file_inner_dict = get_reservation_response_data_cards_on_file_inner_instance.to_dict() +# create an instance of GetReservationResponseDataCardsOnFileInner from a dict +get_reservation_response_data_cards_on_file_inner_from_dict = GetReservationResponseDataCardsOnFileInner.from_dict(get_reservation_response_data_cards_on_file_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGroupInventoryInner.md b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGroupInventoryInner.md new file mode 100644 index 0000000..b5b2c18 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGroupInventoryInner.md @@ -0,0 +1,32 @@ +# GetReservationResponseDataGroupInventoryInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sub_reservation_id** | **str** | Sub Reservation ID of the specific assigned room | [optional] +**allotment_block_code** | **str** | Allotment block code | [optional] +**start_date** | **date** | Check-In date of the room | [optional] +**end_date** | **date** | Check-Out date of the room | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_response_data_group_inventory_inner import GetReservationResponseDataGroupInventoryInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationResponseDataGroupInventoryInner from a JSON string +get_reservation_response_data_group_inventory_inner_instance = GetReservationResponseDataGroupInventoryInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationResponseDataGroupInventoryInner.to_json()) + +# convert the object into a dict +get_reservation_response_data_group_inventory_inner_dict = get_reservation_response_data_group_inventory_inner_instance.to_dict() +# create an instance of GetReservationResponseDataGroupInventoryInner from a dict +get_reservation_response_data_group_inventory_inner_from_dict = GetReservationResponseDataGroupInventoryInner.from_dict(get_reservation_response_data_group_inventory_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValue.md b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValue.md new file mode 100644 index 0000000..ac209ab --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValue.md @@ -0,0 +1,62 @@ +# GetReservationResponseDataGuestListValue + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**guest_id** | **str** | ID of the guest | [optional] +**guest_first_name** | **str** | First Name | [optional] +**guest_last_name** | **str** | Last Name | [optional] +**guest_gender** | **str** | Gender | [optional] +**guest_email** | **str** | Email Address | [optional] +**guest_phone** | **str** | Phone Number | [optional] +**guest_cell_phone** | **str** | Cell Phone Number | [optional] +**guest_address** | **str** | | [optional] +**guest_address2** | **str** | | [optional] +**guest_city** | **str** | | [optional] +**guest_state** | **str** | | [optional] +**guest_country** | **str** | | [optional] +**guest_zip** | **str** | | [optional] +**guest_status** | **str** | | [optional] +**guest_birthdate** | [**GetReservationResponseDataGuestListValueGuestBirthdate**](GetReservationResponseDataGuestListValueGuestBirthdate.md) | | [optional] +**guest_document_type** | **str** | | [optional] +**guest_document_number** | **str** | | [optional] +**guest_document_issue_date** | [**GetReservationResponseDataGuestListValueGuestBirthdate**](GetReservationResponseDataGuestListValueGuestBirthdate.md) | | [optional] +**guest_document_issuing_country** | **str** | | [optional] +**guest_document_expiration_date** | [**GetReservationResponseDataGuestListValueGuestBirthdate**](GetReservationResponseDataGuestListValueGuestBirthdate.md) | | [optional] +**tax_id** | **str** | | [optional] +**company_tax_id** | **str** | | [optional] +**company_name** | **str** | | [optional] +**assigned_room** | **bool** | Returns true if guest has roomed assigned, false if not | [optional] +**is_anonymized** | **bool** | Flag indicating the guest data was removed upon request | [optional] +**room_id** | **str** | Room ID where guest is assigned | [optional] +**room_name** | **str** | Room Name where guest is assigned | [optional] +**room_type_name** | **str** | Room Type Name where guest is assigned | [optional] +**room_type_is_virtual** | **bool** | If room is virtual (true) or physical (false) | [optional] +**is_main_guest** | **bool** | If the guest is the main guest of the reservation or not | [optional] +**guest_requirements** | **object** | Guest requirements data. Only included if `includeGuestRequirements=true`. | [optional] +**custom_fields** | [**List[GetReservationResponseDataGuestListValueCustomFieldsInner]**](GetReservationResponseDataGuestListValueCustomFieldsInner.md) | List of custom fields | [optional] +**rooms** | [**List[GetReservationResponseDataGuestListValueRoomsInner]**](GetReservationResponseDataGuestListValueRoomsInner.md) | List of all rooms that guest is assigned to | [optional] +**unassigned_rooms** | [**List[GetReservationResponseDataGuestListValueUnassignedRoomsInner]**](GetReservationResponseDataGuestListValueUnassignedRoomsInner.md) | List of unassigned rooms | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value import GetReservationResponseDataGuestListValue + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationResponseDataGuestListValue from a JSON string +get_reservation_response_data_guest_list_value_instance = GetReservationResponseDataGuestListValue.from_json(json) +# print the JSON string representation of the object +print(GetReservationResponseDataGuestListValue.to_json()) + +# convert the object into a dict +get_reservation_response_data_guest_list_value_dict = get_reservation_response_data_guest_list_value_instance.to_dict() +# create an instance of GetReservationResponseDataGuestListValue from a dict +get_reservation_response_data_guest_list_value_from_dict = GetReservationResponseDataGuestListValue.from_dict(get_reservation_response_data_guest_list_value_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueCustomFieldsInner.md b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueCustomFieldsInner.md new file mode 100644 index 0000000..5ad9428 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueCustomFieldsInner.md @@ -0,0 +1,30 @@ +# GetReservationResponseDataGuestListValueCustomFieldsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**custom_field_name** | **str** | Custom Field Name | [optional] +**custom_field_value** | **str** | Custom Field Value | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_custom_fields_inner import GetReservationResponseDataGuestListValueCustomFieldsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationResponseDataGuestListValueCustomFieldsInner from a JSON string +get_reservation_response_data_guest_list_value_custom_fields_inner_instance = GetReservationResponseDataGuestListValueCustomFieldsInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationResponseDataGuestListValueCustomFieldsInner.to_json()) + +# convert the object into a dict +get_reservation_response_data_guest_list_value_custom_fields_inner_dict = get_reservation_response_data_guest_list_value_custom_fields_inner_instance.to_dict() +# create an instance of GetReservationResponseDataGuestListValueCustomFieldsInner from a dict +get_reservation_response_data_guest_list_value_custom_fields_inner_from_dict = GetReservationResponseDataGuestListValueCustomFieldsInner.from_dict(get_reservation_response_data_guest_list_value_custom_fields_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueGuestBirthdate.md b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueGuestBirthdate.md new file mode 100644 index 0000000..70d0585 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueGuestBirthdate.md @@ -0,0 +1,29 @@ +# GetReservationResponseDataGuestListValueGuestBirthdate + + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_guest_birthdate import GetReservationResponseDataGuestListValueGuestBirthdate + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationResponseDataGuestListValueGuestBirthdate from a JSON string +get_reservation_response_data_guest_list_value_guest_birthdate_instance = GetReservationResponseDataGuestListValueGuestBirthdate.from_json(json) +# print the JSON string representation of the object +print(GetReservationResponseDataGuestListValueGuestBirthdate.to_json()) + +# convert the object into a dict +get_reservation_response_data_guest_list_value_guest_birthdate_dict = get_reservation_response_data_guest_list_value_guest_birthdate_instance.to_dict() +# create an instance of GetReservationResponseDataGuestListValueGuestBirthdate from a dict +get_reservation_response_data_guest_list_value_guest_birthdate_from_dict = GetReservationResponseDataGuestListValueGuestBirthdate.from_dict(get_reservation_response_data_guest_list_value_guest_birthdate_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueRoomsInner.md b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueRoomsInner.md new file mode 100644 index 0000000..2f7fb32 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueRoomsInner.md @@ -0,0 +1,34 @@ +# GetReservationResponseDataGuestListValueRoomsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reservation_room_id** | **str** | Reservation room ID where guest is assigned | [optional] +**room_id** | **str** | Room ID where guest is assigned | [optional] +**room_name** | **str** | Room Name where guest is assigned | [optional] +**room_type_name** | **str** | Room Type Name where guest is assigned | [optional] +**room_type_is_virtual** | **bool** | If room is virtual (true) or physical (false) | [optional] +**sub_reservation_id** | **str** | Sub Reservation ID of the specific assigned room | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_rooms_inner import GetReservationResponseDataGuestListValueRoomsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationResponseDataGuestListValueRoomsInner from a JSON string +get_reservation_response_data_guest_list_value_rooms_inner_instance = GetReservationResponseDataGuestListValueRoomsInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationResponseDataGuestListValueRoomsInner.to_json()) + +# convert the object into a dict +get_reservation_response_data_guest_list_value_rooms_inner_dict = get_reservation_response_data_guest_list_value_rooms_inner_instance.to_dict() +# create an instance of GetReservationResponseDataGuestListValueRoomsInner from a dict +get_reservation_response_data_guest_list_value_rooms_inner_from_dict = GetReservationResponseDataGuestListValueRoomsInner.from_dict(get_reservation_response_data_guest_list_value_rooms_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueUnassignedRoomsInner.md b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueUnassignedRoomsInner.md new file mode 100644 index 0000000..521759d --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataGuestListValueUnassignedRoomsInner.md @@ -0,0 +1,33 @@ +# GetReservationResponseDataGuestListValueUnassignedRoomsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reservation_room_id** | **str** | Reservation room ID | [optional] +**room_type_id** | **str** | ID of the assigned room type | [optional] +**room_type_name** | **str** | Room Type Name where guest is assigned | [optional] +**room_type_is_virtual** | **bool** | If room is virtual (true) or physical (false) | [optional] +**sub_reservation_id** | **str** | Sub Reservation ID of the specific assigned room | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_unassigned_rooms_inner import GetReservationResponseDataGuestListValueUnassignedRoomsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationResponseDataGuestListValueUnassignedRoomsInner from a JSON string +get_reservation_response_data_guest_list_value_unassigned_rooms_inner_instance = GetReservationResponseDataGuestListValueUnassignedRoomsInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationResponseDataGuestListValueUnassignedRoomsInner.to_json()) + +# convert the object into a dict +get_reservation_response_data_guest_list_value_unassigned_rooms_inner_dict = get_reservation_response_data_guest_list_value_unassigned_rooms_inner_instance.to_dict() +# create an instance of GetReservationResponseDataGuestListValueUnassignedRoomsInner from a dict +get_reservation_response_data_guest_list_value_unassigned_rooms_inner_from_dict = GetReservationResponseDataGuestListValueUnassignedRoomsInner.from_dict(get_reservation_response_data_guest_list_value_unassigned_rooms_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationResponseDataUnassignedInner.md b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataUnassignedInner.md new file mode 100644 index 0000000..e9d33fc --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationResponseDataUnassignedInner.md @@ -0,0 +1,39 @@ +# GetReservationResponseDataUnassignedInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reservation_room_id** | **str** | Reservation room ID | [optional] +**room_type_name** | **str** | Name of the room type to be assigned | [optional] +**room_type_is_virtual** | **bool** | If room is virtual (true) or physical (false) | [optional] +**room_type_id** | **str** | ID of the room type to be assigned | [optional] +**sub_reservation_id** | **str** | Sub Reservation ID of the specific assigned room | [optional] +**start_date** | **date** | Check-In date of the room | [optional] +**end_date** | **date** | Check-Out date of the room | [optional] +**adults** | **str** | Number of adult staying in the room | [optional] +**children** | **str** | Number of children staying in the room | [optional] +**daily_rates** | [**List[GetReservationResponseDataAssignedInnerDailyRatesInner]**](GetReservationResponseDataAssignedInnerDailyRatesInner.md) | Array with rates detailed by day | [optional] +**room_total** | **str** | Room total rate | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_response_data_unassigned_inner import GetReservationResponseDataUnassignedInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationResponseDataUnassignedInner from a JSON string +get_reservation_response_data_unassigned_inner_instance = GetReservationResponseDataUnassignedInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationResponseDataUnassignedInner.to_json()) + +# convert the object into a dict +get_reservation_response_data_unassigned_inner_dict = get_reservation_response_data_unassigned_inner_instance.to_dict() +# create an instance of GetReservationResponseDataUnassignedInner from a dict +get_reservation_response_data_unassigned_inner_from_dict = GetReservationResponseDataUnassignedInner.from_dict(get_reservation_response_data_unassigned_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationRoomDetailsResponse.md b/cloudbeds_pms_v1_3/docs/GetReservationRoomDetailsResponse.md new file mode 100644 index 0000000..246883c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationRoomDetailsResponse.md @@ -0,0 +1,31 @@ +# GetReservationRoomDetailsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] +**data** | [**GetReservationRoomDetailsResponseData**](GetReservationRoomDetailsResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_room_details_response import GetReservationRoomDetailsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationRoomDetailsResponse from a JSON string +get_reservation_room_details_response_instance = GetReservationRoomDetailsResponse.from_json(json) +# print the JSON string representation of the object +print(GetReservationRoomDetailsResponse.to_json()) + +# convert the object into a dict +get_reservation_room_details_response_dict = get_reservation_room_details_response_instance.to_dict() +# create an instance of GetReservationRoomDetailsResponse from a dict +get_reservation_room_details_response_from_dict = GetReservationRoomDetailsResponse.from_dict(get_reservation_room_details_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationRoomDetailsResponseData.md b/cloudbeds_pms_v1_3/docs/GetReservationRoomDetailsResponseData.md new file mode 100644 index 0000000..d4f111e --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationRoomDetailsResponseData.md @@ -0,0 +1,44 @@ +# GetReservationRoomDetailsResponseData + +Details for the rooms assigned on the selected date + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reservation_id** | **str** | Reservation Unique Identifier. | [optional] +**sub_reservation_id** | **str** | Subreservation Unique Identifier | [optional] +**room_id** | **str** | ID of room assigned | [optional] +**room_name** | **str** | Name of room assigned | [optional] +**dorm_room_name** | **str** | Name of the dorm room. Used for the shared dorm beds that are organized into rooms within the same room type. | [optional] +**guest_id** | **str** | Guest Identifier | [optional] +**guest_name** | **str** | Guest Name | [optional] +**room_status** | **str** | Room status<br /> 'cancelled' - Reservation with this room was canceled<br /> 'checked_out' - Guest already left the room<br /> 'in_house' - Guest is in the room<br /> 'not_checked_in' - Guest isn't checked-in yet | [optional] +**room_type_id** | **str** | ID of room type assigned | [optional] +**room_type_name** | **str** | Name of room type assigned | [optional] +**room_type_is_virtual** | **bool** | If room is virtual (true) or physical (false) | [optional] +**max_guests** | **int** | Maximum number of guests that room type permits | [optional] +**adults** | **int** | Number of adults registered to room (this does not mean there will be this number of guests in guests array) | [optional] +**children** | **int** | Number of children registered to room (this does not mean there will be this number of guests in guests array) | [optional] +**guests** | [**List[GetReservationRoomDetailsResponseDataGuestsInner]**](GetReservationRoomDetailsResponseDataGuestsInner.md) | Array with all guests assigned to room | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_room_details_response_data import GetReservationRoomDetailsResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationRoomDetailsResponseData from a JSON string +get_reservation_room_details_response_data_instance = GetReservationRoomDetailsResponseData.from_json(json) +# print the JSON string representation of the object +print(GetReservationRoomDetailsResponseData.to_json()) + +# convert the object into a dict +get_reservation_room_details_response_data_dict = get_reservation_room_details_response_data_instance.to_dict() +# create an instance of GetReservationRoomDetailsResponseData from a dict +get_reservation_room_details_response_data_from_dict = GetReservationRoomDetailsResponseData.from_dict(get_reservation_room_details_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationRoomDetailsResponseDataGuestsInner.md b/cloudbeds_pms_v1_3/docs/GetReservationRoomDetailsResponseDataGuestsInner.md new file mode 100644 index 0000000..352ea9f --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationRoomDetailsResponseDataGuestsInner.md @@ -0,0 +1,32 @@ +# GetReservationRoomDetailsResponseDataGuestsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**guest_id** | **str** | ID of assigned guest | [optional] +**guest_first_name** | **str** | First name of assigned guest | [optional] +**guest_last_name** | **str** | Last of assigned guest | [optional] +**is_main_guest** | **bool** | If guest is reservation's main guest | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservation_room_details_response_data_guests_inner import GetReservationRoomDetailsResponseDataGuestsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationRoomDetailsResponseDataGuestsInner from a JSON string +get_reservation_room_details_response_data_guests_inner_instance = GetReservationRoomDetailsResponseDataGuestsInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationRoomDetailsResponseDataGuestsInner.to_json()) + +# convert the object into a dict +get_reservation_room_details_response_data_guests_inner_dict = get_reservation_room_details_response_data_guests_inner_instance.to_dict() +# create an instance of GetReservationRoomDetailsResponseDataGuestsInner from a dict +get_reservation_room_details_response_data_guests_inner_from_dict = GetReservationRoomDetailsResponseDataGuestsInner.from_dict(get_reservation_room_details_response_data_guests_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationsResponse.md b/cloudbeds_pms_v1_3/docs/GetReservationsResponse.md new file mode 100644 index 0000000..1370542 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationsResponse.md @@ -0,0 +1,32 @@ +# GetReservationsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetReservationsResponseDataInner]**](GetReservationsResponseDataInner.md) | Details for the reservation queried | [optional] +**count** | **int** | Number of results returned | [optional] +**total** | **int** | Total number of results | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservations_response import GetReservationsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationsResponse from a JSON string +get_reservations_response_instance = GetReservationsResponse.from_json(json) +# print the JSON string representation of the object +print(GetReservationsResponse.to_json()) + +# convert the object into a dict +get_reservations_response_dict = get_reservations_response_instance.to_dict() +# create an instance of GetReservationsResponse from a dict +get_reservations_response_from_dict = GetReservationsResponse.from_dict(get_reservations_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInner.md new file mode 100644 index 0000000..0262f7f --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInner.md @@ -0,0 +1,53 @@ +# GetReservationsResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_id** | **str** | Properties identifier | [optional] +**reservation_id** | **str** | Reservation's unique identifier | [optional] +**date_created** | **datetime** | | [optional] +**date_modified** | **datetime** | | [optional] +**status** | **str** | | [optional] +**guest_id** | **str** | | [optional] +**profile_id** | **str** | | [optional] +**guest_name** | **str** | | [optional] +**start_date** | **date** | | [optional] +**end_date** | **date** | | [optional] +**allotment_block_code** | **str** | Allotment block code | [optional] +**group_code** | **str** | Group profile code | [optional] +**adults** | **str** | | [optional] +**children** | **str** | | [optional] +**balance** | **float** | | [optional] +**source_name** | **str** | Source of reservation | [optional] +**source_id** | **str** | Booking source unique id | [optional] +**third_party_identifier** | **str** | | [optional] +**group_inventory** | [**List[GetReservationResponseDataGroupInventoryInner]**](GetReservationResponseDataGroupInventoryInner.md) | Aggregate allotment block information | [optional] +**sub_reservation_id** | **str** | If roomID or roomName are given, the respective subReservationID (to that room) is informed. | [optional] +**custom_fields** | [**List[GetGuestsModifiedResponseDataInnerCustomFieldsInner]**](GetGuestsModifiedResponseDataInnerCustomFieldsInner.md) | List of reservation custom fields. Only returned if \"includeCustomFields\" is true | [optional] +**rooms** | [**List[GetReservationsResponseDataInnerRoomsInner]**](GetReservationsResponseDataInnerRoomsInner.md) | Array with rooms information. Only returned if \"includeAllRooms\" is true | [optional] +**guest_list** | [**Dict[str, GetReservationsResponseDataInnerGuestListValue]**](GetReservationsResponseDataInnerGuestListValue.md) | A map of guest IDs to guest objects (key is the Guest ID). It contains an entry for each guest included on the reservation. Only returned if \"includeGuestsDetails\" is true | [optional] +**origin** | **str** | Reservation origin | [optional] +**meal_plans** | **str** | Reservation meal plans | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner import GetReservationsResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationsResponseDataInner from a JSON string +get_reservations_response_data_inner_instance = GetReservationsResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationsResponseDataInner.to_json()) + +# convert the object into a dict +get_reservations_response_data_inner_dict = get_reservations_response_data_inner_instance.to_dict() +# create an instance of GetReservationsResponseDataInner from a dict +get_reservations_response_data_inner_from_dict = GetReservationsResponseDataInner.from_dict(get_reservations_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerGuestListValue.md b/cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerGuestListValue.md new file mode 100644 index 0000000..02de020 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerGuestListValue.md @@ -0,0 +1,65 @@ +# GetReservationsResponseDataInnerGuestListValue + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**guest_id** | **str** | ID of the guest | [optional] +**guest_name** | **str** | | [optional] +**guest_first_name** | **str** | | [optional] +**guest_last_name** | **str** | | [optional] +**guest_gender** | **str** | | [optional] +**guest_email** | **str** | | [optional] +**guest_phone** | **str** | | [optional] +**guest_cell_phone** | **str** | | [optional] +**guest_address** | **str** | | [optional] +**guest_address2** | **str** | | [optional] +**guest_city** | **str** | | [optional] +**guest_state** | **str** | | [optional] +**guest_country** | **str** | | [optional] +**guest_zip** | **str** | | [optional] +**guest_birthdate** | **str** | | [optional] +**guest_document_type** | **str** | | [optional] +**guest_document_number** | **str** | | [optional] +**guest_document_issue_date** | **str** | | [optional] +**guest_document_issuing_country** | **str** | | [optional] +**guest_document_expiration_date** | **str** | | [optional] +**tax_id** | **str** | Guest's tax ID | [optional] +**company_tax_id** | **str** | Guest's company tax ID | [optional] +**company_name** | **str** | Guest's company name | [optional] +**sub_reservation_id** | **str** | | [optional] +**start_date** | **date** | | [optional] +**end_date** | **date** | | [optional] +**assigned_room** | **bool** | Returns true if guest has roomed assigned, false if not | [optional] +**room_id** | **str** | Room ID where guest is assigned | [optional] +**room_name** | **str** | Room Name where guest is assigned | [optional] +**room_type_name** | **str** | Room Name where guest is assigned | [optional] +**room_type_is_virtual** | **bool** | If room is virtual (true) or physical (false) | [optional] +**rooms** | [**List[GetReservationsResponseDataInnerGuestListValueRoomsInner]**](GetReservationsResponseDataInnerGuestListValueRoomsInner.md) | List of all rooms that guest is assigned to | [optional] +**unassigned_rooms** | [**List[GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner]**](GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner.md) | List of all unassigned rooms | [optional] +**guest_requirements** | **object** | Guest requirements data. Only included if `includeGuestsDetails=true` and `includeGuestRequirements=true`. | [optional] +**custom_fields** | [**List[GetGuestsModifiedResponseDataInnerCustomFieldsInner]**](GetGuestsModifiedResponseDataInnerCustomFieldsInner.md) | List of guest custom fields | [optional] +**is_anonymized** | **bool** | Flag indicating the guest data was removed upon request | [optional] +**is_main_guest** | **bool** | Flag indicating the guest is the main guest on the reservation | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value import GetReservationsResponseDataInnerGuestListValue + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationsResponseDataInnerGuestListValue from a JSON string +get_reservations_response_data_inner_guest_list_value_instance = GetReservationsResponseDataInnerGuestListValue.from_json(json) +# print the JSON string representation of the object +print(GetReservationsResponseDataInnerGuestListValue.to_json()) + +# convert the object into a dict +get_reservations_response_data_inner_guest_list_value_dict = get_reservations_response_data_inner_guest_list_value_instance.to_dict() +# create an instance of GetReservationsResponseDataInnerGuestListValue from a dict +get_reservations_response_data_inner_guest_list_value_from_dict = GetReservationsResponseDataInnerGuestListValue.from_dict(get_reservations_response_data_inner_guest_list_value_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerGuestListValueRoomsInner.md b/cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerGuestListValueRoomsInner.md new file mode 100644 index 0000000..7c0c6e1 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerGuestListValueRoomsInner.md @@ -0,0 +1,39 @@ +# GetReservationsResponseDataInnerGuestListValueRoomsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reservation_room_id** | **str** | Reservation room ID where guest is assigned | [optional] +**room_id** | **str** | Room ID where guest is assigned | [optional] +**room_name** | **str** | Room Name where guest is assigned | [optional] +**room_type_name** | **str** | Room Type Name where guest is assigned | [optional] +**room_type_is_virtual** | **bool** | If room is virtual (true) or physical (false) | [optional] +**room_type_id** | **str** | Room Type ID | [optional] +**room_type_name_short** | **str** | Room Type Short Name | [optional] +**rate_id** | **str** | Rate ID | [optional] +**rate_plan_name** | **str** | Rate plan name | [optional] +**room_status** | **str** | | [optional] +**sub_reservation_id** | **str** | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_rooms_inner import GetReservationsResponseDataInnerGuestListValueRoomsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationsResponseDataInnerGuestListValueRoomsInner from a JSON string +get_reservations_response_data_inner_guest_list_value_rooms_inner_instance = GetReservationsResponseDataInnerGuestListValueRoomsInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationsResponseDataInnerGuestListValueRoomsInner.to_json()) + +# convert the object into a dict +get_reservations_response_data_inner_guest_list_value_rooms_inner_dict = get_reservations_response_data_inner_guest_list_value_rooms_inner_instance.to_dict() +# create an instance of GetReservationsResponseDataInnerGuestListValueRoomsInner from a dict +get_reservations_response_data_inner_guest_list_value_rooms_inner_from_dict = GetReservationsResponseDataInnerGuestListValueRoomsInner.from_dict(get_reservations_response_data_inner_guest_list_value_rooms_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner.md b/cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner.md new file mode 100644 index 0000000..2c34462 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner.md @@ -0,0 +1,36 @@ +# GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reservation_room_id** | **str** | Reservation room ID | [optional] +**room_type_id** | **str** | ID of the assigned room type | [optional] +**room_type_name** | **str** | Room Type Name where guest is assigned | [optional] +**room_type_is_virtual** | **bool** | If room is virtual (true) or physical (false) | [optional] +**room_type_name_short** | **str** | Room Type Short Name | [optional] +**rate_id** | **str** | Rate ID | [optional] +**rate_plan_name** | **str** | Rate plan name | [optional] +**sub_reservation_id** | **str** | Sub Reservation ID of the specific assigned room | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner import GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner from a JSON string +get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner_instance = GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner.to_json()) + +# convert the object into a dict +get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner_dict = get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner_instance.to_dict() +# create an instance of GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner from a dict +get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner_from_dict = GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner.from_dict(get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerRoomsInner.md b/cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerRoomsInner.md new file mode 100644 index 0000000..213e33d --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationsResponseDataInnerRoomsInner.md @@ -0,0 +1,44 @@ +# GetReservationsResponseDataInnerRoomsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**room_type_id** | **str** | Room Type ID | [optional] +**room_type_name** | **str** | Room Type Name | [optional] +**room_type_is_virtual** | **bool** | If room is virtual (true) or physical (false) | [optional] +**sub_reservation_id** | **str** | sub Reservation ID (specific to each room) | [optional] +**guest_id** | **str** | ID of the main guest assigned to the room | [optional] +**guest_name** | **str** | Name of the main guest assigned to the room | [optional] +**adults** | **str** | Number of adults in the room | [optional] +**children** | **str** | Number of children in the room | [optional] +**reservation_room_id** | **str** | Reservation room ID | [optional] +**room_id** | **str** | Room ID (null if the reservation has not been assigned a specific room yet). | [optional] +**room_name** | **str** | Name of the room, if roomID=null it does not exist. | [optional] +**room_check_in** | **str** | Check-in date for the room | [optional] +**room_check_out** | **str** | Check-out date for the room | [optional] +**room_status** | **str** | | [optional] +**market_name** | **str** | Market segmentation name | [optional] +**market_code** | **str** | Market segmentation code | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_rooms_inner import GetReservationsResponseDataInnerRoomsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationsResponseDataInnerRoomsInner from a JSON string +get_reservations_response_data_inner_rooms_inner_instance = GetReservationsResponseDataInnerRoomsInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationsResponseDataInnerRoomsInner.to_json()) + +# convert the object into a dict +get_reservations_response_data_inner_rooms_inner_dict = get_reservations_response_data_inner_rooms_inner_instance.to_dict() +# create an instance of GetReservationsResponseDataInnerRoomsInner from a dict +get_reservations_response_data_inner_rooms_inner_from_dict = GetReservationsResponseDataInnerRoomsInner.from_dict(get_reservations_response_data_inner_rooms_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponse.md b/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponse.md new file mode 100644 index 0000000..bf3a36b --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponse.md @@ -0,0 +1,32 @@ +# GetReservationsWithRateDetailsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetReservationsWithRateDetailsResponseDataInner]**](GetReservationsWithRateDetailsResponseDataInner.md) | Details for the reservations returned | [optional] +**count** | **int** | Number of results returned | [optional] +**total** | **int** | Total number of results | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response import GetReservationsWithRateDetailsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationsWithRateDetailsResponse from a JSON string +get_reservations_with_rate_details_response_instance = GetReservationsWithRateDetailsResponse.from_json(json) +# print the JSON string representation of the object +print(GetReservationsWithRateDetailsResponse.to_json()) + +# convert the object into a dict +get_reservations_with_rate_details_response_dict = get_reservations_with_rate_details_response_instance.to_dict() +# create an instance of GetReservationsWithRateDetailsResponse from a dict +get_reservations_with_rate_details_response_from_dict = GetReservationsWithRateDetailsResponse.from_dict(get_reservations_with_rate_details_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInner.md new file mode 100644 index 0000000..a08ed26 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInner.md @@ -0,0 +1,60 @@ +# GetReservationsWithRateDetailsResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_id** | **str** | Properties identifier | [optional] +**reservation_id** | **str** | Reservation's unique identifier | [optional] +**is_deleted** | **bool** | | [optional] +**date_created** | **datetime** | | [optional] +**date_created_utc** | **datetime** | | [optional] +**date_modified** | **datetime** | | [optional] +**date_modified_utc** | **datetime** | | [optional] +**date_cancelled** | **datetime** | Will be displayed only if \"status = 'canceled'\" | [optional] +**date_cancelled_utc** | **datetime** | Will be displayed only if \"status = 'canceled'\" | [optional] +**status** | **str** | Reservation status<br /> 'not_confirmed' - Reservation is pending confirmation<br /> 'confirmed' - Reservation is confirmed<br /> 'canceled' - Reservation is canceled<br /> 'checked_in' - Guest is in hotel<br /> 'checked_out' - Guest already left hotel<br /> 'no_show' - Guest didn't showed up on check-in date | [optional] +**reservation_check_in** | **datetime** | | [optional] +**reservation_check_out** | **datetime** | | [optional] +**guest_id** | **str** | Main guest ID | [optional] +**profile_id** | **str** | Main guest profile ID | [optional] +**guest_country** | **str** | Main guest Country | [optional] +**source_name** | **str** | Reservation source | [optional] +**source** | [**GetReservationsWithRateDetailsResponseDataInnerSource**](GetReservationsWithRateDetailsResponseDataInnerSource.md) | | [optional] +**source_category** | **str** | Reservation source category | [optional] +**source_reservation_id** | **str** | Reservation ID on the source | [optional] +**property_currency** | **str** | Property currency ISO-formatted (3 characters) | [optional] +**balance_detailed** | [**GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed**](GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed.md) | | [optional] +**detailed_rates** | **object** | Associative object, where key is the date, and value is the total rate for that date. | [optional] +**rooms** | [**List[GetReservationsWithRateDetailsResponseDataInnerRoomsInner]**](GetReservationsWithRateDetailsResponseDataInnerRoomsInner.md) | Array with rooms information | [optional] +**origin** | **str** | Reservation origin | [optional] +**meal_plans** | **str** | Reservation meal plans | [optional] +**guest_list** | [**Dict[str, GetReservationsWithRateDetailsResponseDataInnerGuestListValue]**](GetReservationsWithRateDetailsResponseDataInnerGuestListValue.md) | A map of guest IDs to guest objects (key is the Guest ID). It contains an entry for each guest included on the reservation. Only returned if \"includeGuestsDetails\" is true | [optional] +**third_party_identifier** | **str** | | [optional] +**custom_fields** | [**List[GetGuestsModifiedResponseDataInnerCustomFieldsInner]**](GetGuestsModifiedResponseDataInnerCustomFieldsInner.md) | List of reservation custom fields. Only returned if \"includeCustomFields\" is true | [optional] +**estimated_arrival_time** | **str** | Estimated arrival time, 24-hour format. | [optional] +**total** | **float** | Total price of the booking | [optional] +**balance** | **float** | Balance currently owed | [optional] +**date_imported** | **str** | Date when the reservation was imported | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner import GetReservationsWithRateDetailsResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationsWithRateDetailsResponseDataInner from a JSON string +get_reservations_with_rate_details_response_data_inner_instance = GetReservationsWithRateDetailsResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationsWithRateDetailsResponseDataInner.to_json()) + +# convert the object into a dict +get_reservations_with_rate_details_response_data_inner_dict = get_reservations_with_rate_details_response_data_inner_instance.to_dict() +# create an instance of GetReservationsWithRateDetailsResponseDataInner from a dict +get_reservations_with_rate_details_response_data_inner_from_dict = GetReservationsWithRateDetailsResponseDataInner.from_dict(get_reservations_with_rate_details_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed.md b/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed.md new file mode 100644 index 0000000..43f6b6a --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed.md @@ -0,0 +1,35 @@ +# GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed + +Reservation balance detailed with the information available on MyFrontdesk, describing the financial items calculated + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**suggested_deposit** | **str** | Suggested deposit value, calculated according to the hotel policies. Does not mean that it was effectively paid | [optional] +**sub_total** | **float** | Sum of the room prices on the reservation | [optional] +**additional_items** | **float** | Sum of the additional items recorded on the reservation | [optional] +**taxes_fees** | **float** | Sum of the taxes and fees calculated on the reservation | [optional] +**grand_total** | **float** | Sum of sub.Total + additionalItems + taxesFees | [optional] +**paid** | **float** | Amount paid (reservation deposit + any other extra payment) | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_balance_detailed import GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed from a JSON string +get_reservations_with_rate_details_response_data_inner_balance_detailed_instance = GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed.from_json(json) +# print the JSON string representation of the object +print(GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed.to_json()) + +# convert the object into a dict +get_reservations_with_rate_details_response_data_inner_balance_detailed_dict = get_reservations_with_rate_details_response_data_inner_balance_detailed_instance.to_dict() +# create an instance of GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed from a dict +get_reservations_with_rate_details_response_data_inner_balance_detailed_from_dict = GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed.from_dict(get_reservations_with_rate_details_response_data_inner_balance_detailed_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerGuestListValue.md b/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerGuestListValue.md new file mode 100644 index 0000000..4b2b44d --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerGuestListValue.md @@ -0,0 +1,65 @@ +# GetReservationsWithRateDetailsResponseDataInnerGuestListValue + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**guest_id** | **str** | ID of the guest | [optional] +**guest_name** | **str** | | [optional] +**guest_first_name** | **str** | | [optional] +**guest_last_name** | **str** | | [optional] +**guest_gender** | **str** | | [optional] +**guest_email** | **str** | | [optional] +**guest_phone** | **str** | | [optional] +**guest_cell_phone** | **str** | | [optional] +**guest_address** | **str** | | [optional] +**guest_address2** | **str** | | [optional] +**guest_city** | **str** | | [optional] +**guest_state** | **str** | | [optional] +**guest_country** | **str** | | [optional] +**guest_zip** | **str** | | [optional] +**guest_birthdate** | **date** | | [optional] +**guest_document_type** | **str** | | [optional] +**guest_document_number** | **str** | | [optional] +**guest_document_issue_date** | **str** | | [optional] +**guest_document_issuing_country** | **str** | | [optional] +**guest_document_expiration_date** | **str** | | [optional] +**tax_id** | **str** | Guest's tax ID | [optional] +**company_tax_id** | **str** | Guest's company tax ID | [optional] +**company_name** | **str** | Guest's company name | [optional] +**sub_reservation_id** | **str** | | [optional] +**start_date** | **date** | | [optional] +**end_date** | **date** | | [optional] +**assigned_room** | **bool** | Returns true if guest has roomed assigned, false if not | [optional] +**room_id** | **str** | Room ID where guest is assigned | [optional] +**room_name** | **str** | Room Name where guest is assigned | [optional] +**room_type_name** | **str** | Room Name where guest is assigned | [optional] +**room_type_is_virtual** | **bool** | If room is virtual (true) or physical (false) | [optional] +**rooms** | [**List[GetReservationsResponseDataInnerGuestListValueRoomsInner]**](GetReservationsResponseDataInnerGuestListValueRoomsInner.md) | List of all rooms that guest is assigned to | [optional] +**unassigned_rooms** | [**List[GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner]**](GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner.md) | List of all unassigned rooms | [optional] +**guest_requirements** | **object** | Guest requirements data. Only included if `includeGuestsDetails=true` and `includeGuestRequirements=true`. | [optional] +**custom_fields** | [**List[GetGuestsModifiedResponseDataInnerCustomFieldsInner]**](GetGuestsModifiedResponseDataInnerCustomFieldsInner.md) | List of guest custom fields | [optional] +**is_anonymized** | **bool** | Flag indicating the guest data was removed upon request | [optional] +**is_main_guest** | **bool** | Flag indicating the guest is the main guest on the reservation | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_guest_list_value import GetReservationsWithRateDetailsResponseDataInnerGuestListValue + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationsWithRateDetailsResponseDataInnerGuestListValue from a JSON string +get_reservations_with_rate_details_response_data_inner_guest_list_value_instance = GetReservationsWithRateDetailsResponseDataInnerGuestListValue.from_json(json) +# print the JSON string representation of the object +print(GetReservationsWithRateDetailsResponseDataInnerGuestListValue.to_json()) + +# convert the object into a dict +get_reservations_with_rate_details_response_data_inner_guest_list_value_dict = get_reservations_with_rate_details_response_data_inner_guest_list_value_instance.to_dict() +# create an instance of GetReservationsWithRateDetailsResponseDataInnerGuestListValue from a dict +get_reservations_with_rate_details_response_data_inner_guest_list_value_from_dict = GetReservationsWithRateDetailsResponseDataInnerGuestListValue.from_dict(get_reservations_with_rate_details_response_data_inner_guest_list_value_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerRoomsInner.md b/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerRoomsInner.md new file mode 100644 index 0000000..55ba84d --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerRoomsInner.md @@ -0,0 +1,47 @@ +# GetReservationsWithRateDetailsResponseDataInnerRoomsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**room_type_id** | **str** | Room Type ID | [optional] +**room_type_is_virtual** | **bool** | If room is virtual (true) or physical (false) | [optional] +**room_type_name** | **str** | Room Type Name | [optional] +**sub_reservation_id** | **str** | sub Reservation ID (specific to each room) | [optional] +**guest_id** | **str** | ID of the main guest assigned to the room | [optional] +**guest_name** | **str** | Name of the main guest assigned to the room | [optional] +**rate_id** | **str** | ID of the rate used for the booking room | [optional] +**rate_name** | **str** | Name of the rate used for the booking room | [optional] +**adults** | **str** | Number of adults in the room | [optional] +**children** | **str** | Number of children in the room | [optional] +**reservation_room_id** | **str** | Reservation room ID | [optional] +**room_id** | **str** | Room ID (null if the reservation has not been assigned a specific room yet). | [optional] +**room_name** | **str** | Name of the room, if roomID=null it does not exist. | [optional] +**room_check_in** | **str** | Check-in date for the room | [optional] +**room_check_out** | **str** | Check-out date for the room | [optional] +**room_status** | **str** | | [optional] +**detailed_room_rates** | **object** | A map of dates to rates (key is date). It contains an entry for each reserved date. | [optional] +**market_name** | **str** | Market segmentation name | [optional] +**market_code** | **str** | Market segmentation code | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_rooms_inner import GetReservationsWithRateDetailsResponseDataInnerRoomsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationsWithRateDetailsResponseDataInnerRoomsInner from a JSON string +get_reservations_with_rate_details_response_data_inner_rooms_inner_instance = GetReservationsWithRateDetailsResponseDataInnerRoomsInner.from_json(json) +# print the JSON string representation of the object +print(GetReservationsWithRateDetailsResponseDataInnerRoomsInner.to_json()) + +# convert the object into a dict +get_reservations_with_rate_details_response_data_inner_rooms_inner_dict = get_reservations_with_rate_details_response_data_inner_rooms_inner_instance.to_dict() +# create an instance of GetReservationsWithRateDetailsResponseDataInnerRoomsInner from a dict +get_reservations_with_rate_details_response_data_inner_rooms_inner_from_dict = GetReservationsWithRateDetailsResponseDataInnerRoomsInner.from_dict(get_reservations_with_rate_details_response_data_inner_rooms_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerSource.md b/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerSource.md new file mode 100644 index 0000000..c6e276d --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetReservationsWithRateDetailsResponseDataInnerSource.md @@ -0,0 +1,33 @@ +# GetReservationsWithRateDetailsResponseDataInnerSource + + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | Reservation source | [optional] +**payment_collect** | **str** | Reservation payment collect source | [optional] +**source_id** | **str** | Booking source unique id | [optional] +**category** | **str** | Reservation source category | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_source import GetReservationsWithRateDetailsResponseDataInnerSource + +# TODO update the JSON string below +json = "{}" +# create an instance of GetReservationsWithRateDetailsResponseDataInnerSource from a JSON string +get_reservations_with_rate_details_response_data_inner_source_instance = GetReservationsWithRateDetailsResponseDataInnerSource.from_json(json) +# print the JSON string representation of the object +print(GetReservationsWithRateDetailsResponseDataInnerSource.to_json()) + +# convert the object into a dict +get_reservations_with_rate_details_response_data_inner_source_dict = get_reservations_with_rate_details_response_data_inner_source_instance.to_dict() +# create an instance of GetReservationsWithRateDetailsResponseDataInnerSource from a dict +get_reservations_with_rate_details_response_data_inner_source_from_dict = GetReservationsWithRateDetailsResponseDataInnerSource.from_dict(get_reservations_with_rate_details_response_data_inner_source_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRoomBlocksResponse.md b/cloudbeds_pms_v1_3/docs/GetRoomBlocksResponse.md new file mode 100644 index 0000000..aa8fab4 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRoomBlocksResponse.md @@ -0,0 +1,32 @@ +# GetRoomBlocksResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetRoomBlocksResponseDataInner]**](GetRoomBlocksResponseDataInner.md) | Room block details | [optional] +**room_block_type** | **str** | Room block type. ‘blocked’ - Room block. ‘out_of_service’ - Out of service block. 'courtesy_hold' - Courtesy hold block. | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_room_blocks_response import GetRoomBlocksResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRoomBlocksResponse from a JSON string +get_room_blocks_response_instance = GetRoomBlocksResponse.from_json(json) +# print the JSON string representation of the object +print(GetRoomBlocksResponse.to_json()) + +# convert the object into a dict +get_room_blocks_response_dict = get_room_blocks_response_instance.to_dict() +# create an instance of GetRoomBlocksResponse from a dict +get_room_blocks_response_from_dict = GetRoomBlocksResponse.from_dict(get_room_blocks_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRoomBlocksResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetRoomBlocksResponseDataInner.md new file mode 100644 index 0000000..024a7aa --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRoomBlocksResponseDataInner.md @@ -0,0 +1,34 @@ +# GetRoomBlocksResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**room_block_id** | **str** | Room block ID | [optional] +**room_block_reason** | **str** | Room block reason | [optional] +**start_date** | **date** | Room block start date | [optional] +**end_date** | **date** | Room block end date | [optional] +**rooms** | [**List[GetRoomBlocksResponseDataInnerRoomsInner]**](GetRoomBlocksResponseDataInnerRoomsInner.md) | All rooms for Block ID. For properties using split inventory, this includes both source rooms (explicitly requested) and linked rooms (automatically added based on shared inventory configuration). | [optional] +**count** | **int** | Number of results (properties) returned. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_room_blocks_response_data_inner import GetRoomBlocksResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRoomBlocksResponseDataInner from a JSON string +get_room_blocks_response_data_inner_instance = GetRoomBlocksResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetRoomBlocksResponseDataInner.to_json()) + +# convert the object into a dict +get_room_blocks_response_data_inner_dict = get_room_blocks_response_data_inner_instance.to_dict() +# create an instance of GetRoomBlocksResponseDataInner from a dict +get_room_blocks_response_data_inner_from_dict = GetRoomBlocksResponseDataInner.from_dict(get_room_blocks_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRoomBlocksResponseDataInnerRoomsInner.md b/cloudbeds_pms_v1_3/docs/GetRoomBlocksResponseDataInnerRoomsInner.md new file mode 100644 index 0000000..c829c88 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRoomBlocksResponseDataInnerRoomsInner.md @@ -0,0 +1,32 @@ +# GetRoomBlocksResponseDataInnerRoomsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**event_id** | **str** | Event ID (unique identifier for this specific room's block entry) | [optional] +**room_id** | **str** | Room ID | [optional] +**room_type_id** | **str** | Room type ID | [optional] +**is_source** | **bool** | Indicates whether this room was explicitly requested (true) or automatically added due to split inventory configuration (false). Auto-added rooms cannot be individually removed or swapped; they are managed through their source room. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_room_blocks_response_data_inner_rooms_inner import GetRoomBlocksResponseDataInnerRoomsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRoomBlocksResponseDataInnerRoomsInner from a JSON string +get_room_blocks_response_data_inner_rooms_inner_instance = GetRoomBlocksResponseDataInnerRoomsInner.from_json(json) +# print the JSON string representation of the object +print(GetRoomBlocksResponseDataInnerRoomsInner.to_json()) + +# convert the object into a dict +get_room_blocks_response_data_inner_rooms_inner_dict = get_room_blocks_response_data_inner_rooms_inner_instance.to_dict() +# create an instance of GetRoomBlocksResponseDataInnerRoomsInner from a dict +get_room_blocks_response_data_inner_rooms_inner_from_dict = GetRoomBlocksResponseDataInnerRoomsInner.from_dict(get_room_blocks_response_data_inner_rooms_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRoomTypesResponse.md b/cloudbeds_pms_v1_3/docs/GetRoomTypesResponse.md new file mode 100644 index 0000000..847481c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRoomTypesResponse.md @@ -0,0 +1,30 @@ +# GetRoomTypesResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetRoomTypesResponseDataInner]**](GetRoomTypesResponseDataInner.md) | Room Types details | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_room_types_response import GetRoomTypesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRoomTypesResponse from a JSON string +get_room_types_response_instance = GetRoomTypesResponse.from_json(json) +# print the JSON string representation of the object +print(GetRoomTypesResponse.to_json()) + +# convert the object into a dict +get_room_types_response_dict = get_room_types_response_instance.to_dict() +# create an instance of GetRoomTypesResponse from a dict +get_room_types_response_from_dict = GetRoomTypesResponse.from_dict(get_room_types_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRoomTypesResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetRoomTypesResponseDataInner.md new file mode 100644 index 0000000..c46f314 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRoomTypesResponseDataInner.md @@ -0,0 +1,37 @@ +# GetRoomTypesResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**room_type_id** | **str** | Room Type ID | [optional] +**property_id** | **str** | Property ID | [optional] +**room_type_name** | **str** | Room Type Name | [optional] +**room_type_name_short** | **str** | Room Type Short Name | [optional] +**room_type_description** | **str** | Room Type Description | [optional] +**is_private** | **bool** | Whether room is private or shared | [optional] +**max_guests** | **int** | Max number of guests allowed in the room type | [optional] +**adults_included** | **int** | Number of adults included on the basic room rate | [optional] +**children_included** | **int** | Number of children included on the basic room rate | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_room_types_response_data_inner import GetRoomTypesResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRoomTypesResponseDataInner from a JSON string +get_room_types_response_data_inner_instance = GetRoomTypesResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetRoomTypesResponseDataInner.to_json()) + +# convert the object into a dict +get_room_types_response_data_inner_dict = get_room_types_response_data_inner_instance.to_dict() +# create an instance of GetRoomTypesResponseDataInner from a dict +get_room_types_response_data_inner_from_dict = GetRoomTypesResponseDataInner.from_dict(get_room_types_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponse.md b/cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponse.md new file mode 100644 index 0000000..7c75c4c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponse.md @@ -0,0 +1,31 @@ +# GetRoomsFeesAndTaxesResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**GetRoomsFeesAndTaxesResponseData**](GetRoomsFeesAndTaxesResponseData.md) | | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response import GetRoomsFeesAndTaxesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRoomsFeesAndTaxesResponse from a JSON string +get_rooms_fees_and_taxes_response_instance = GetRoomsFeesAndTaxesResponse.from_json(json) +# print the JSON string representation of the object +print(GetRoomsFeesAndTaxesResponse.to_json()) + +# convert the object into a dict +get_rooms_fees_and_taxes_response_dict = get_rooms_fees_and_taxes_response_instance.to_dict() +# create an instance of GetRoomsFeesAndTaxesResponse from a dict +get_rooms_fees_and_taxes_response_from_dict = GetRoomsFeesAndTaxesResponse.from_dict(get_rooms_fees_and_taxes_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponseData.md b/cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponseData.md new file mode 100644 index 0000000..443c69c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponseData.md @@ -0,0 +1,33 @@ +# GetRoomsFeesAndTaxesResponseData + +Details of the fees and taxes applicable + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**fees** | [**List[GetRoomsFeesAndTaxesResponseDataFeesInner]**](GetRoomsFeesAndTaxesResponseDataFeesInner.md) | Details of the fees applicable | [optional] +**taxes** | [**List[GetRoomsFeesAndTaxesResponseDataTaxesInner]**](GetRoomsFeesAndTaxesResponseDataTaxesInner.md) | Details of the taxes applicable | [optional] +**rooms_total_without_taxes** | **float** | \"roomsTotal\" parameter subtracting the included taxes | [optional] +**grand_total** | **float** | Total with fees and taxes | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data import GetRoomsFeesAndTaxesResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRoomsFeesAndTaxesResponseData from a JSON string +get_rooms_fees_and_taxes_response_data_instance = GetRoomsFeesAndTaxesResponseData.from_json(json) +# print the JSON string representation of the object +print(GetRoomsFeesAndTaxesResponseData.to_json()) + +# convert the object into a dict +get_rooms_fees_and_taxes_response_data_dict = get_rooms_fees_and_taxes_response_data_instance.to_dict() +# create an instance of GetRoomsFeesAndTaxesResponseData from a dict +get_rooms_fees_and_taxes_response_data_from_dict = GetRoomsFeesAndTaxesResponseData.from_dict(get_rooms_fees_and_taxes_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponseDataFeesInner.md b/cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponseDataFeesInner.md new file mode 100644 index 0000000..0d4eaa4 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponseDataFeesInner.md @@ -0,0 +1,31 @@ +# GetRoomsFeesAndTaxesResponseDataFeesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**fee_name** | **str** | Name of the fee | [optional] +**fee_value** | **float** | Value of the fee for the selected parameters | [optional] +**total_fees** | **float** | Total value of the fees | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data_fees_inner import GetRoomsFeesAndTaxesResponseDataFeesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRoomsFeesAndTaxesResponseDataFeesInner from a JSON string +get_rooms_fees_and_taxes_response_data_fees_inner_instance = GetRoomsFeesAndTaxesResponseDataFeesInner.from_json(json) +# print the JSON string representation of the object +print(GetRoomsFeesAndTaxesResponseDataFeesInner.to_json()) + +# convert the object into a dict +get_rooms_fees_and_taxes_response_data_fees_inner_dict = get_rooms_fees_and_taxes_response_data_fees_inner_instance.to_dict() +# create an instance of GetRoomsFeesAndTaxesResponseDataFeesInner from a dict +get_rooms_fees_and_taxes_response_data_fees_inner_from_dict = GetRoomsFeesAndTaxesResponseDataFeesInner.from_dict(get_rooms_fees_and_taxes_response_data_fees_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponseDataTaxesInner.md b/cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponseDataTaxesInner.md new file mode 100644 index 0000000..cf3c9df --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRoomsFeesAndTaxesResponseDataTaxesInner.md @@ -0,0 +1,31 @@ +# GetRoomsFeesAndTaxesResponseDataTaxesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**fee_name** | **str** | Name of the tax | [optional] +**fee_value** | **str** | Value of the tax for the selected parameters | [optional] +**total_taxes** | **float** | Total value of the taxes | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data_taxes_inner import GetRoomsFeesAndTaxesResponseDataTaxesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRoomsFeesAndTaxesResponseDataTaxesInner from a JSON string +get_rooms_fees_and_taxes_response_data_taxes_inner_instance = GetRoomsFeesAndTaxesResponseDataTaxesInner.from_json(json) +# print the JSON string representation of the object +print(GetRoomsFeesAndTaxesResponseDataTaxesInner.to_json()) + +# convert the object into a dict +get_rooms_fees_and_taxes_response_data_taxes_inner_dict = get_rooms_fees_and_taxes_response_data_taxes_inner_instance.to_dict() +# create an instance of GetRoomsFeesAndTaxesResponseDataTaxesInner from a dict +get_rooms_fees_and_taxes_response_data_taxes_inner_from_dict = GetRoomsFeesAndTaxesResponseDataTaxesInner.from_dict(get_rooms_fees_and_taxes_response_data_taxes_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRoomsResponse.md b/cloudbeds_pms_v1_3/docs/GetRoomsResponse.md new file mode 100644 index 0000000..244ea32 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRoomsResponse.md @@ -0,0 +1,33 @@ +# GetRoomsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetRoomsResponseDataInner]**](GetRoomsResponseDataInner.md) | Room Types details | [optional] +**count** | **int** | Number of results (properties) returned | [optional] +**total** | **int** | Total number of results, can be more than what was returned | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rooms_response import GetRoomsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRoomsResponse from a JSON string +get_rooms_response_instance = GetRoomsResponse.from_json(json) +# print the JSON string representation of the object +print(GetRoomsResponse.to_json()) + +# convert the object into a dict +get_rooms_response_dict = get_rooms_response_instance.to_dict() +# create an instance of GetRoomsResponse from a dict +get_rooms_response_from_dict = GetRoomsResponse.from_dict(get_rooms_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRoomsResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetRoomsResponseDataInner.md new file mode 100644 index 0000000..f4cdc55 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRoomsResponseDataInner.md @@ -0,0 +1,30 @@ +# GetRoomsResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_id** | **str** | Property ID | [optional] +**rooms** | [**List[GetRoomsResponseDataInnerRoomsInner]**](GetRoomsResponseDataInnerRoomsInner.md) | All rooms for property ID | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rooms_response_data_inner import GetRoomsResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRoomsResponseDataInner from a JSON string +get_rooms_response_data_inner_instance = GetRoomsResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetRoomsResponseDataInner.to_json()) + +# convert the object into a dict +get_rooms_response_data_inner_dict = get_rooms_response_data_inner_instance.to_dict() +# create an instance of GetRoomsResponseDataInner from a dict +get_rooms_response_data_inner_from_dict = GetRoomsResponseDataInner.from_dict(get_rooms_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRoomsResponseDataInnerRoomsInner.md b/cloudbeds_pms_v1_3/docs/GetRoomsResponseDataInnerRoomsInner.md new file mode 100644 index 0000000..dfee54c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRoomsResponseDataInnerRoomsInner.md @@ -0,0 +1,43 @@ +# GetRoomsResponseDataInnerRoomsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**room_id** | **str** | Room ID | [optional] +**room_name** | **str** | Room Name | [optional] +**dorm_room_name** | **str** | Name of the dorm room. Used for the shared dorm beds that are organized into rooms within the same room type | [optional] +**room_description** | **str** | Room Description | [optional] +**max_guests** | **int** | Number of guests that room allows | [optional] +**is_private** | **bool** | If room is private (true) or shared (false) | [optional] +**is_virtual** | **bool** | If room is virtual (true) or physical (false) | [optional] +**room_blocked** | **bool** | If room is blocked on calendar during the period selected. If no check-in/out dates are sent, it returns the status for the current day. | [optional] +**room_type_id** | **str** | Room type ID | [optional] +**room_type_name** | **str** | Room type Name | [optional] +**room_type_name_short** | **str** | Room type Short Name | [optional] +**doorlock_id** | **str** | The doorlock ID for the room | [optional] +**linked_room_ids** | **List[str]** | List of linked room IDs for this room (including nested relations). Only returned if includeRoomRelations is set to true | [optional] +**linked_room_type_ids** | **List[str]** | List of linked room type IDs. Only returned if includeRoomRelations is set to true | [optional] +**linked_room_type_qty** | [**List[GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner]**](GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner.md) | Data about linked rooms count, grouped by room type. Only returned if includeRoomRelations is set to true | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rooms_response_data_inner_rooms_inner import GetRoomsResponseDataInnerRoomsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRoomsResponseDataInnerRoomsInner from a JSON string +get_rooms_response_data_inner_rooms_inner_instance = GetRoomsResponseDataInnerRoomsInner.from_json(json) +# print the JSON string representation of the object +print(GetRoomsResponseDataInnerRoomsInner.to_json()) + +# convert the object into a dict +get_rooms_response_data_inner_rooms_inner_dict = get_rooms_response_data_inner_rooms_inner_instance.to_dict() +# create an instance of GetRoomsResponseDataInnerRoomsInner from a dict +get_rooms_response_data_inner_rooms_inner_from_dict = GetRoomsResponseDataInnerRoomsInner.from_dict(get_rooms_response_data_inner_rooms_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner.md b/cloudbeds_pms_v1_3/docs/GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner.md new file mode 100644 index 0000000..69df754 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner.md @@ -0,0 +1,30 @@ +# GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**room_type_id** | **str** | Room type ID | [optional] +**room_qty** | **int** | Related rooms count | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner import GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner from a JSON string +get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner_instance = GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner.from_json(json) +# print the JSON string representation of the object +print(GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner.to_json()) + +# convert the object into a dict +get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner_dict = get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner_instance.to_dict() +# create an instance of GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner from a dict +get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner_from_dict = GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner.from_dict(get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRoomsUnassignedResponse.md b/cloudbeds_pms_v1_3/docs/GetRoomsUnassignedResponse.md new file mode 100644 index 0000000..ea8b834 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRoomsUnassignedResponse.md @@ -0,0 +1,33 @@ +# GetRoomsUnassignedResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetRoomsUnassignedResponseDataInner]**](GetRoomsUnassignedResponseDataInner.md) | Room Types details | [optional] +**count** | **int** | Number of results (properties) returned | [optional] +**total** | **int** | Total number of results, can be more than what was returned | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rooms_unassigned_response import GetRoomsUnassignedResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRoomsUnassignedResponse from a JSON string +get_rooms_unassigned_response_instance = GetRoomsUnassignedResponse.from_json(json) +# print the JSON string representation of the object +print(GetRoomsUnassignedResponse.to_json()) + +# convert the object into a dict +get_rooms_unassigned_response_dict = get_rooms_unassigned_response_instance.to_dict() +# create an instance of GetRoomsUnassignedResponse from a dict +get_rooms_unassigned_response_from_dict = GetRoomsUnassignedResponse.from_dict(get_rooms_unassigned_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRoomsUnassignedResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetRoomsUnassignedResponseDataInner.md new file mode 100644 index 0000000..2ee6cdc --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRoomsUnassignedResponseDataInner.md @@ -0,0 +1,30 @@ +# GetRoomsUnassignedResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_id** | **str** | Property ID | [optional] +**rooms** | [**List[GetRoomsUnassignedResponseDataInnerRoomsInner]**](GetRoomsUnassignedResponseDataInnerRoomsInner.md) | All rooms for property ID | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rooms_unassigned_response_data_inner import GetRoomsUnassignedResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRoomsUnassignedResponseDataInner from a JSON string +get_rooms_unassigned_response_data_inner_instance = GetRoomsUnassignedResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetRoomsUnassignedResponseDataInner.to_json()) + +# convert the object into a dict +get_rooms_unassigned_response_data_inner_dict = get_rooms_unassigned_response_data_inner_instance.to_dict() +# create an instance of GetRoomsUnassignedResponseDataInner from a dict +get_rooms_unassigned_response_data_inner_from_dict = GetRoomsUnassignedResponseDataInner.from_dict(get_rooms_unassigned_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetRoomsUnassignedResponseDataInnerRoomsInner.md b/cloudbeds_pms_v1_3/docs/GetRoomsUnassignedResponseDataInnerRoomsInner.md new file mode 100644 index 0000000..22b9e46 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetRoomsUnassignedResponseDataInnerRoomsInner.md @@ -0,0 +1,39 @@ +# GetRoomsUnassignedResponseDataInnerRoomsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**room_id** | **str** | Room ID | [optional] +**room_name** | **str** | Room Name | [optional] +**dorm_room_name** | **str** | Name of the dorm room. Used for the shared dorm beds that are organized into rooms within the same room type | [optional] +**room_description** | **str** | Room Description | [optional] +**max_guests** | **int** | Number of guests that room allows | [optional] +**is_private** | **bool** | If room is private (true) or shared (false) | [optional] +**is_virtual** | **bool** | If room is virtual (true) or physical (false) | [optional] +**room_blocked** | **bool** | If room is blocked on calendar during the period selected. If no check-in/out dates are sent, it returns the status for the current day. | [optional] +**room_type_id** | **str** | Room type ID | [optional] +**room_type_name** | **str** | Room type Name | [optional] +**room_type_name_short** | **str** | Room type Short Name | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_rooms_unassigned_response_data_inner_rooms_inner import GetRoomsUnassignedResponseDataInnerRoomsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRoomsUnassignedResponseDataInnerRoomsInner from a JSON string +get_rooms_unassigned_response_data_inner_rooms_inner_instance = GetRoomsUnassignedResponseDataInnerRoomsInner.from_json(json) +# print the JSON string representation of the object +print(GetRoomsUnassignedResponseDataInnerRoomsInner.to_json()) + +# convert the object into a dict +get_rooms_unassigned_response_data_inner_rooms_inner_dict = get_rooms_unassigned_response_data_inner_rooms_inner_instance.to_dict() +# create an instance of GetRoomsUnassignedResponseDataInnerRoomsInner from a dict +get_rooms_unassigned_response_data_inner_rooms_inner_from_dict = GetRoomsUnassignedResponseDataInnerRoomsInner.from_dict(get_rooms_unassigned_response_data_inner_rooms_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetSourcesResponse.md b/cloudbeds_pms_v1_3/docs/GetSourcesResponse.md new file mode 100644 index 0000000..107d747 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetSourcesResponse.md @@ -0,0 +1,31 @@ +# GetSourcesResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetSourcesResponseDataInner]**](GetSourcesResponseDataInner.md) | | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_sources_response import GetSourcesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetSourcesResponse from a JSON string +get_sources_response_instance = GetSourcesResponse.from_json(json) +# print the JSON string representation of the object +print(GetSourcesResponse.to_json()) + +# convert the object into a dict +get_sources_response_dict = get_sources_response_instance.to_dict() +# create an instance of GetSourcesResponse from a dict +get_sources_response_from_dict = GetSourcesResponse.from_dict(get_sources_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetSourcesResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetSourcesResponseDataInner.md new file mode 100644 index 0000000..42013c8 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetSourcesResponseDataInner.md @@ -0,0 +1,37 @@ +# GetSourcesResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_id** | **str** | Property Id | [optional] +**source_id** | **str** | Source Identifier | [optional] +**source_name** | **str** | Source Name | [optional] +**is_third_party** | **bool** | true if source is from third party | [optional] +**status** | **bool** | true if source is active | [optional] +**commission** | **float** | How much commission charged by source (in %) | [optional] +**payment_collect** | **str** | Type of payment collect practiced by source | [optional] +**taxes** | [**List[GetSourcesResponseDataInnerTaxesInner]**](GetSourcesResponseDataInnerTaxesInner.md) | | [optional] +**fees** | [**List[GetSourcesResponseDataInnerFeesInner]**](GetSourcesResponseDataInnerFeesInner.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_sources_response_data_inner import GetSourcesResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetSourcesResponseDataInner from a JSON string +get_sources_response_data_inner_instance = GetSourcesResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetSourcesResponseDataInner.to_json()) + +# convert the object into a dict +get_sources_response_data_inner_dict = get_sources_response_data_inner_instance.to_dict() +# create an instance of GetSourcesResponseDataInner from a dict +get_sources_response_data_inner_from_dict = GetSourcesResponseDataInner.from_dict(get_sources_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetSourcesResponseDataInnerFeesInner.md b/cloudbeds_pms_v1_3/docs/GetSourcesResponseDataInnerFeesInner.md new file mode 100644 index 0000000..adc05c5 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetSourcesResponseDataInnerFeesInner.md @@ -0,0 +1,33 @@ +# GetSourcesResponseDataInnerFeesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**fee_id** | **int** | ID of fee | [optional] +**name** | **str** | Name of fee | [optional] +**amount** | **float** | Value of fee | [optional] +**amount_type** | **str** | If fee is percentage of amount or fixed | [optional] +**type** | **str** | If fee is included or not in final price | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_sources_response_data_inner_fees_inner import GetSourcesResponseDataInnerFeesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetSourcesResponseDataInnerFeesInner from a JSON string +get_sources_response_data_inner_fees_inner_instance = GetSourcesResponseDataInnerFeesInner.from_json(json) +# print the JSON string representation of the object +print(GetSourcesResponseDataInnerFeesInner.to_json()) + +# convert the object into a dict +get_sources_response_data_inner_fees_inner_dict = get_sources_response_data_inner_fees_inner_instance.to_dict() +# create an instance of GetSourcesResponseDataInnerFeesInner from a dict +get_sources_response_data_inner_fees_inner_from_dict = GetSourcesResponseDataInnerFeesInner.from_dict(get_sources_response_data_inner_fees_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetSourcesResponseDataInnerTaxesInner.md b/cloudbeds_pms_v1_3/docs/GetSourcesResponseDataInnerTaxesInner.md new file mode 100644 index 0000000..bf37f2f --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetSourcesResponseDataInnerTaxesInner.md @@ -0,0 +1,33 @@ +# GetSourcesResponseDataInnerTaxesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tax_id** | **str** | ID of tax | [optional] +**name** | **str** | Name of tax | [optional] +**amount** | **float** | Value of tax | [optional] +**amount_type** | **str** | If tax is percentage of amount or fixed | [optional] +**type** | **str** | If tax is included or not in final price | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_sources_response_data_inner_taxes_inner import GetSourcesResponseDataInnerTaxesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetSourcesResponseDataInnerTaxesInner from a JSON string +get_sources_response_data_inner_taxes_inner_instance = GetSourcesResponseDataInnerTaxesInner.from_json(json) +# print the JSON string representation of the object +print(GetSourcesResponseDataInnerTaxesInner.to_json()) + +# convert the object into a dict +get_sources_response_data_inner_taxes_inner_dict = get_sources_response_data_inner_taxes_inner_instance.to_dict() +# create an instance of GetSourcesResponseDataInnerTaxesInner from a dict +get_sources_response_data_inner_taxes_inner_from_dict = GetSourcesResponseDataInnerTaxesInner.from_dict(get_sources_response_data_inner_taxes_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponse.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponse.md new file mode 100644 index 0000000..9b67f61 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponse.md @@ -0,0 +1,32 @@ +# GetTaxesAndFeesResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] +**data** | [**List[GetTaxesAndFeesResponseDataInner]**](GetTaxesAndFeesResponseDataInner.md) | Details for the taxes and fees. If success = false, it may not exist. | [optional] +**total** | **int** | Total number of results | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response import GetTaxesAndFeesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponse from a JSON string +get_taxes_and_fees_response_instance = GetTaxesAndFeesResponse.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponse.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_dict = get_taxes_and_fees_response_instance.to_dict() +# create an instance of GetTaxesAndFeesResponse from a dict +get_taxes_and_fees_response_from_dict = GetTaxesAndFeesResponse.from_dict(get_taxes_and_fees_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInner.md new file mode 100644 index 0000000..a7e66cc --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInner.md @@ -0,0 +1,49 @@ +# GetTaxesAndFeesResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | Type. Fee or tax. | [optional] +**fee_id** | **str** | Fee's unique identifier. Only exists if type = fee. | [optional] +**tax_id** | **str** | Tax's unique identifier. Only exists if type = tax. | [optional] +**name** | **str** | Name | [optional] +**code** | **str** | Code | [optional] +**kind** | **str** | Tax kind. Currently supports \"vat\", \"municipal_tax\" or null. Only exists if type = tax. | [optional] +**amount** | **str** | Amount | [optional] +**amount_adult** | [**GetTaxesAndFeesResponseDataInnerAmountAdult**](GetTaxesAndFeesResponseDataInnerAmountAdult.md) | | [optional] +**amount_child** | [**GetTaxesAndFeesResponseDataInnerAmountChild**](GetTaxesAndFeesResponseDataInnerAmountChild.md) | | [optional] +**amount_rate_based** | [**List[GetTaxesAndFeesResponseDataInnerAmountRateBasedInner]**](GetTaxesAndFeesResponseDataInnerAmountRateBasedInner.md) | Rules defined for Rate-Based taxes/fees. Only applicable if amountType = percentage_rate_based (Rate-based) | [optional] +**amount_type** | **str** | Amount type. They mean:<br/> <table> <tr><th>Value</th><th>Meaning</th></tr> <tr><td>percentage</td><td>Percentage of Total Amount</td></tr> <tr><td>fixed</td><td>Fixed per Room Night / Item</td></tr> <tr><td>fixed_per_person</td><td>Fixed per Person per Night</td></tr> <tr><td>fixed_per_accomodation</td><td>Fixed per Accomodation</td></tr> <tr><td>fixed_per_reservation</td><td>Fixed per Reservation</td></tr> <tr><td>percentage_rate_based</td><td>Rate-based</td></tr> </table> | [optional] +**available_for** | **List[str]** | Where this tax/fee is available?<br/>They mean:<br/> <table> <tr><th>Value</th><th>Meaning</th></tr> <tr><td>product</td><td>Items</td></tr> <tr><td>rate</td><td>Reservations</td></tr> <tr><td>fee</td><td>Fees -- this tax is charged on top of some fees</td></tr> <tr><td>custom_item</td><td>Custom item - this tax was charged for a custom item</td></tr> </table> | [optional] +**fees_charged** | **List[str]** | List of Fee IDs charged by the current tax. Only exists if type = tax. | [optional] +**inclusive_or_exclusive** | **str** | If this tax/fee is inclusive or exclusive | [optional] +**is_deleted** | **bool** | Flag indicating if tax was deleted from the system | [optional] +**child_id** | **str** | ID of the tax or fee that replaced current one | [optional] +**created_at** | **str** | Date when tax or fee was created in the system | [optional] +**expired_at** | **str** | Date when tax or fee was expired | [optional] +**room_types** | [**List[GetTaxesAndFeesResponseDataInnerRoomTypesInner]**](GetTaxesAndFeesResponseDataInnerRoomTypesInner.md) | Room types this tax/fee applies to | [optional] +**date_ranges** | [**List[GetTaxesAndFeesResponseDataInnerDateRangesInner]**](GetTaxesAndFeesResponseDataInnerDateRangesInner.md) | Date ranges when this tax/fee is applicable | [optional] +**length_of_stay_settings** | [**GetTaxesAndFeesResponseDataInnerLengthOfStaySettings**](GetTaxesAndFeesResponseDataInnerLengthOfStaySettings.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner import GetTaxesAndFeesResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponseDataInner from a JSON string +get_taxes_and_fees_response_data_inner_instance = GetTaxesAndFeesResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponseDataInner.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_data_inner_dict = get_taxes_and_fees_response_data_inner_instance.to_dict() +# create an instance of GetTaxesAndFeesResponseDataInner from a dict +get_taxes_and_fees_response_data_inner_from_dict = GetTaxesAndFeesResponseDataInner.from_dict(get_taxes_and_fees_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountAdult.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountAdult.md new file mode 100644 index 0000000..a3d4efd --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountAdult.md @@ -0,0 +1,29 @@ +# GetTaxesAndFeesResponseDataInnerAmountAdult + +Amount charged per adult. Only applicable if amountType = fixed_per_person (Per Person Per Night) + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_adult import GetTaxesAndFeesResponseDataInnerAmountAdult + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponseDataInnerAmountAdult from a JSON string +get_taxes_and_fees_response_data_inner_amount_adult_instance = GetTaxesAndFeesResponseDataInnerAmountAdult.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponseDataInnerAmountAdult.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_data_inner_amount_adult_dict = get_taxes_and_fees_response_data_inner_amount_adult_instance.to_dict() +# create an instance of GetTaxesAndFeesResponseDataInnerAmountAdult from a dict +get_taxes_and_fees_response_data_inner_amount_adult_from_dict = GetTaxesAndFeesResponseDataInnerAmountAdult.from_dict(get_taxes_and_fees_response_data_inner_amount_adult_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountChild.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountChild.md new file mode 100644 index 0000000..960e2ff --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountChild.md @@ -0,0 +1,29 @@ +# GetTaxesAndFeesResponseDataInnerAmountChild + +Amount charged per children. Only applicable if amountType = fixed_per_person (Per Person Per Night) + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_child import GetTaxesAndFeesResponseDataInnerAmountChild + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponseDataInnerAmountChild from a JSON string +get_taxes_and_fees_response_data_inner_amount_child_instance = GetTaxesAndFeesResponseDataInnerAmountChild.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponseDataInnerAmountChild.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_data_inner_amount_child_dict = get_taxes_and_fees_response_data_inner_amount_child_instance.to_dict() +# create an instance of GetTaxesAndFeesResponseDataInnerAmountChild from a dict +get_taxes_and_fees_response_data_inner_amount_child_from_dict = GetTaxesAndFeesResponseDataInnerAmountChild.from_dict(get_taxes_and_fees_response_data_inner_amount_child_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountRateBasedInner.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountRateBasedInner.md new file mode 100644 index 0000000..e222ebd --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountRateBasedInner.md @@ -0,0 +1,30 @@ +# GetTaxesAndFeesResponseDataInnerAmountRateBasedInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**rate** | [**GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate**](GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate.md) | | [optional] +**percentage** | [**GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage**](GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner import GetTaxesAndFeesResponseDataInnerAmountRateBasedInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponseDataInnerAmountRateBasedInner from a JSON string +get_taxes_and_fees_response_data_inner_amount_rate_based_inner_instance = GetTaxesAndFeesResponseDataInnerAmountRateBasedInner.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponseDataInnerAmountRateBasedInner.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_data_inner_amount_rate_based_inner_dict = get_taxes_and_fees_response_data_inner_amount_rate_based_inner_instance.to_dict() +# create an instance of GetTaxesAndFeesResponseDataInnerAmountRateBasedInner from a dict +get_taxes_and_fees_response_data_inner_amount_rate_based_inner_from_dict = GetTaxesAndFeesResponseDataInnerAmountRateBasedInner.from_dict(get_taxes_and_fees_response_data_inner_amount_rate_based_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage.md new file mode 100644 index 0000000..a12e546 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage.md @@ -0,0 +1,29 @@ +# GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage + +Percentage applied for the rate + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage import GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage from a JSON string +get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage_instance = GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage_dict = get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage_instance.to_dict() +# create an instance of GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage from a dict +get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage_from_dict = GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage.from_dict(get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate.md new file mode 100644 index 0000000..b87acac --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate.md @@ -0,0 +1,29 @@ +# GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate + +Maximum rate for which this amount is valid + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate import GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate from a JSON string +get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate_instance = GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate_dict = get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate_instance.to_dict() +# create an instance of GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate from a dict +get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate_from_dict = GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate.from_dict(get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInner.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInner.md new file mode 100644 index 0000000..e840065 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInner.md @@ -0,0 +1,35 @@ +# GetTaxesAndFeesResponseDataInnerDateRangesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**range** | **str** | ISO 8601 date range. It can be in the format YYYY-MM-DD/YYYY-MM-DD or YYYY-MM-DD/ (to indicate that the end date is not defined). In case of empty year the format is --MM-DD/--MM-DD | [optional] +**amount** | [**GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount**](GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount.md) | | [optional] +**amount_adult** | [**GetTaxesAndFeesResponseDataInnerAmountAdult**](GetTaxesAndFeesResponseDataInnerAmountAdult.md) | | [optional] +**amount_child** | [**GetTaxesAndFeesResponseDataInnerAmountChild**](GetTaxesAndFeesResponseDataInnerAmountChild.md) | | [optional] +**max_length** | [**GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength**](GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength.md) | | [optional] +**amount_rate_based** | [**List[GetTaxesAndFeesResponseDataInnerAmountRateBasedInner]**](GetTaxesAndFeesResponseDataInnerAmountRateBasedInner.md) | Rules defined for Rate-Based taxes/fees. Only applicable if amountType = percentage_rate_based (Rate-based) | [optional] +**length_of_stay_settings** | [**GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings**](GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner import GetTaxesAndFeesResponseDataInnerDateRangesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInner from a JSON string +get_taxes_and_fees_response_data_inner_date_ranges_inner_instance = GetTaxesAndFeesResponseDataInnerDateRangesInner.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponseDataInnerDateRangesInner.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_data_inner_date_ranges_inner_dict = get_taxes_and_fees_response_data_inner_date_ranges_inner_instance.to_dict() +# create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInner from a dict +get_taxes_and_fees_response_data_inner_date_ranges_inner_from_dict = GetTaxesAndFeesResponseDataInnerDateRangesInner.from_dict(get_taxes_and_fees_response_data_inner_date_ranges_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount.md new file mode 100644 index 0000000..a0df3cc --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount.md @@ -0,0 +1,29 @@ +# GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount + +Amount + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_amount import GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount from a JSON string +get_taxes_and_fees_response_data_inner_date_ranges_inner_amount_instance = GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_data_inner_date_ranges_inner_amount_dict = get_taxes_and_fees_response_data_inner_date_ranges_inner_amount_instance.to_dict() +# create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount from a dict +get_taxes_and_fees_response_data_inner_date_ranges_inner_amount_from_dict = GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount.from_dict(get_taxes_and_fees_response_data_inner_date_ranges_inner_amount_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings.md new file mode 100644 index 0000000..77053e5 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings.md @@ -0,0 +1,31 @@ +# GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings + +Length of Stay configuration settings specific to this date range. Returns object when settings exist, empty array [] when no settings configured. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**application_type** | **str** | Application type for Length of Stay rules | [optional] +**ranges** | [**List[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner]**](GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner.md) | Night-based ranges for Length of Stay configuration | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings import GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings from a JSON string +get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_instance = GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_dict = get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_instance.to_dict() +# create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings from a dict +get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_from_dict = GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings.from_dict(get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf.md new file mode 100644 index 0000000..ade2f3d --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf.md @@ -0,0 +1,30 @@ +# GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**application_type** | **str** | Application type for Length of Stay rules | [optional] +**ranges** | [**List[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner]**](GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner.md) | Night-based ranges for Length of Stay configuration | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of import GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf from a JSON string +get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_instance = GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_dict = get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_instance.to_dict() +# create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf from a dict +get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_from_dict = GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf.from_dict(get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner.md new file mode 100644 index 0000000..c2f3a14 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner.md @@ -0,0 +1,34 @@ +# GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**minimum_nights** | **int** | Minimum number of nights required for this range | [optional] +**maximum_nights** | **int** | Maximum number of nights for this range (null means no limit) | [optional] +**amount** | **float** | Amount for this range | [optional] +**amount_adult** | **float** | Amount per adult for this range | [optional] +**amount_child** | **float** | Amount per child for this range | [optional] +**amount_rate_based** | **List[object]** | Rate-based amounts for this range | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner import GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner from a JSON string +get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner_instance = GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner_dict = get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner_instance.to_dict() +# create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner from a dict +get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner_from_dict = GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner.from_dict(get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength.md new file mode 100644 index 0000000..8d7268f --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength.md @@ -0,0 +1,29 @@ +# GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength + +Maximum amount of nights where this applies. Only applicable if amountType = fixed_per_person (Per Person Per Night) + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length import GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength from a JSON string +get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length_instance = GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length_dict = get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length_instance.to_dict() +# create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength from a dict +get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length_from_dict = GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength.from_dict(get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettings.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettings.md new file mode 100644 index 0000000..638243a --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettings.md @@ -0,0 +1,31 @@ +# GetTaxesAndFeesResponseDataInnerLengthOfStaySettings + +Length of Stay configuration settings. Returns object when settings exist, empty array [] when no settings configured. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**application_type** | **str** | Application type for Length of Stay rules:<br/> <table> <tr><th>Value</th><th>Meaning</th></tr> <tr><td>progressive_application</td><td>Apply tax/fee when minimum nights are reached</td></tr> <tr><td>retroactive_adjustment</td><td>Apply adjustments retroactively when conditions are met</td></tr> </table> | [optional] +**ranges** | [**List[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner]**](GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner.md) | Night-based ranges for Length of Stay configuration | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings import GetTaxesAndFeesResponseDataInnerLengthOfStaySettings + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponseDataInnerLengthOfStaySettings from a JSON string +get_taxes_and_fees_response_data_inner_length_of_stay_settings_instance = GetTaxesAndFeesResponseDataInnerLengthOfStaySettings.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponseDataInnerLengthOfStaySettings.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_data_inner_length_of_stay_settings_dict = get_taxes_and_fees_response_data_inner_length_of_stay_settings_instance.to_dict() +# create an instance of GetTaxesAndFeesResponseDataInnerLengthOfStaySettings from a dict +get_taxes_and_fees_response_data_inner_length_of_stay_settings_from_dict = GetTaxesAndFeesResponseDataInnerLengthOfStaySettings.from_dict(get_taxes_and_fees_response_data_inner_length_of_stay_settings_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf.md new file mode 100644 index 0000000..d2654c5 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf.md @@ -0,0 +1,30 @@ +# GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**application_type** | **str** | Application type for Length of Stay rules:<br/> <table> <tr><th>Value</th><th>Meaning</th></tr> <tr><td>progressive_application</td><td>Apply tax/fee when minimum nights are reached</td></tr> <tr><td>retroactive_adjustment</td><td>Apply adjustments retroactively when conditions are met</td></tr> </table> | [optional] +**ranges** | [**List[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner]**](GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner.md) | Night-based ranges for Length of Stay configuration | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of import GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf from a JSON string +get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_instance = GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_dict = get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_instance.to_dict() +# create an instance of GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf from a dict +get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_from_dict = GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf.from_dict(get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner.md new file mode 100644 index 0000000..8b22535 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner.md @@ -0,0 +1,34 @@ +# GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**minimum_nights** | **int** | Minimum number of nights required for this range | [optional] +**maximum_nights** | **int** | Maximum number of nights for this range (null means no limit) | [optional] +**amount** | **float** | Amount for this range (uses same amountType as the parent tax/fee) | [optional] +**amount_adult** | **float** | Amount per adult for this range (uses same amountType as the parent tax/fee) | [optional] +**amount_child** | **float** | Amount per child for this range (uses same amountType as the parent tax/fee) | [optional] +**amount_rate_based** | [**List[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner]**](GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner.md) | Rate-based amounts for this range (uses same amountType as the parent tax/fee) | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner import GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner from a JSON string +get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_instance = GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_dict = get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_instance.to_dict() +# create an instance of GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner from a dict +get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_from_dict = GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner.from_dict(get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner.md new file mode 100644 index 0000000..377f85b --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner.md @@ -0,0 +1,30 @@ +# GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**rate** | **float** | Maximum rate for which this percentage is valid | [optional] +**percentage** | **float** | Percentage applied for the rate | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner import GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner from a JSON string +get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner_instance = GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner_dict = get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner_instance.to_dict() +# create an instance of GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner from a dict +get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner_from_dict = GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner.from_dict(get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerRoomTypesInner.md b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerRoomTypesInner.md new file mode 100644 index 0000000..f7fd29d --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetTaxesAndFeesResponseDataInnerRoomTypesInner.md @@ -0,0 +1,30 @@ +# GetTaxesAndFeesResponseDataInnerRoomTypesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**room_type_id** | **str** | Room type's unique identifier | [optional] +**room_type_name** | **str** | Room type name | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_room_types_inner import GetTaxesAndFeesResponseDataInnerRoomTypesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetTaxesAndFeesResponseDataInnerRoomTypesInner from a JSON string +get_taxes_and_fees_response_data_inner_room_types_inner_instance = GetTaxesAndFeesResponseDataInnerRoomTypesInner.from_json(json) +# print the JSON string representation of the object +print(GetTaxesAndFeesResponseDataInnerRoomTypesInner.to_json()) + +# convert the object into a dict +get_taxes_and_fees_response_data_inner_room_types_inner_dict = get_taxes_and_fees_response_data_inner_room_types_inner_instance.to_dict() +# create an instance of GetTaxesAndFeesResponseDataInnerRoomTypesInner from a dict +get_taxes_and_fees_response_data_inner_room_types_inner_from_dict = GetTaxesAndFeesResponseDataInnerRoomTypesInner.from_dict(get_taxes_and_fees_response_data_inner_room_types_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetUserinfoResponse.md b/cloudbeds_pms_v1_3/docs/GetUserinfoResponse.md new file mode 100644 index 0000000..60cb6d6 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetUserinfoResponse.md @@ -0,0 +1,34 @@ +# GetUserinfoResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_id** | **str** | ID of user | [optional] +**first_name** | **str** | Authorized users' first name. | [optional] +**last_name** | **str** | Authorized users' last name. | [optional] +**email** | **str** | Authorized users' email. | [optional] +**acl** | **List[str]** | Authorized users' access control list. | [optional] +**roles** | [**List[GetUserinfoResponseRolesInner]**](GetUserinfoResponseRolesInner.md) | Authorized users' role information. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_userinfo_response import GetUserinfoResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetUserinfoResponse from a JSON string +get_userinfo_response_instance = GetUserinfoResponse.from_json(json) +# print the JSON string representation of the object +print(GetUserinfoResponse.to_json()) + +# convert the object into a dict +get_userinfo_response_dict = get_userinfo_response_instance.to_dict() +# create an instance of GetUserinfoResponse from a dict +get_userinfo_response_from_dict = GetUserinfoResponse.from_dict(get_userinfo_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetUserinfoResponseRolesInner.md b/cloudbeds_pms_v1_3/docs/GetUserinfoResponseRolesInner.md new file mode 100644 index 0000000..a935000 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetUserinfoResponseRolesInner.md @@ -0,0 +1,31 @@ +# GetUserinfoResponseRolesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | ID of the role. | [optional] +**name** | **str** | Name of the role. | [optional] +**description** | **str** | Description of the role. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_userinfo_response_roles_inner import GetUserinfoResponseRolesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetUserinfoResponseRolesInner from a JSON string +get_userinfo_response_roles_inner_instance = GetUserinfoResponseRolesInner.from_json(json) +# print the JSON string representation of the object +print(GetUserinfoResponseRolesInner.to_json()) + +# convert the object into a dict +get_userinfo_response_roles_inner_dict = get_userinfo_response_roles_inner_instance.to_dict() +# create an instance of GetUserinfoResponseRolesInner from a dict +get_userinfo_response_roles_inner_from_dict = GetUserinfoResponseRolesInner.from_dict(get_userinfo_response_roles_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetUsersResponse.md b/cloudbeds_pms_v1_3/docs/GetUsersResponse.md new file mode 100644 index 0000000..90772ef --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetUsersResponse.md @@ -0,0 +1,30 @@ +# GetUsersResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | **object** | Container of user arrays, indexed by property ID (e.g., \"1\"). | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_users_response import GetUsersResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetUsersResponse from a JSON string +get_users_response_instance = GetUsersResponse.from_json(json) +# print the JSON string representation of the object +print(GetUsersResponse.to_json()) + +# convert the object into a dict +get_users_response_dict = get_users_response_instance.to_dict() +# create an instance of GetUsersResponse from a dict +get_users_response_from_dict = GetUsersResponse.from_dict(get_users_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetWebhooksResponse.md b/cloudbeds_pms_v1_3/docs/GetWebhooksResponse.md new file mode 100644 index 0000000..012cbe0 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetWebhooksResponse.md @@ -0,0 +1,30 @@ +# GetWebhooksResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[GetWebhooksResponseDataInner]**](GetWebhooksResponseDataInner.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_webhooks_response import GetWebhooksResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetWebhooksResponse from a JSON string +get_webhooks_response_instance = GetWebhooksResponse.from_json(json) +# print the JSON string representation of the object +print(GetWebhooksResponse.to_json()) + +# convert the object into a dict +get_webhooks_response_dict = get_webhooks_response_instance.to_dict() +# create an instance of GetWebhooksResponse from a dict +get_webhooks_response_from_dict = GetWebhooksResponse.from_dict(get_webhooks_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInner.md b/cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInner.md new file mode 100644 index 0000000..3acb99e --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInner.md @@ -0,0 +1,34 @@ +# GetWebhooksResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | Subscription ID | [optional] +**key** | [**GetWebhooksResponseDataInnerKey**](GetWebhooksResponseDataInnerKey.md) | | [optional] +**event** | [**GetWebhooksResponseDataInnerEvent**](GetWebhooksResponseDataInnerEvent.md) | | [optional] +**owner** | [**GetWebhooksResponseDataInnerOwner**](GetWebhooksResponseDataInnerOwner.md) | | [optional] +**subscription_type** | **str** | Subscription Type (Webhook) | [optional] +**subscription_data** | [**GetWebhooksResponseDataInnerSubscriptionData**](GetWebhooksResponseDataInnerSubscriptionData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner import GetWebhooksResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetWebhooksResponseDataInner from a JSON string +get_webhooks_response_data_inner_instance = GetWebhooksResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(GetWebhooksResponseDataInner.to_json()) + +# convert the object into a dict +get_webhooks_response_data_inner_dict = get_webhooks_response_data_inner_instance.to_dict() +# create an instance of GetWebhooksResponseDataInner from a dict +get_webhooks_response_data_inner_from_dict = GetWebhooksResponseDataInner.from_dict(get_webhooks_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerEvent.md b/cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerEvent.md new file mode 100644 index 0000000..a1850b5 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerEvent.md @@ -0,0 +1,31 @@ +# GetWebhooksResponseDataInnerEvent + +Event for which the subscription was created + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**entity** | **str** | Entity which the event belongs to | [optional] +**action** | **str** | Action which the event represents | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_event import GetWebhooksResponseDataInnerEvent + +# TODO update the JSON string below +json = "{}" +# create an instance of GetWebhooksResponseDataInnerEvent from a JSON string +get_webhooks_response_data_inner_event_instance = GetWebhooksResponseDataInnerEvent.from_json(json) +# print the JSON string representation of the object +print(GetWebhooksResponseDataInnerEvent.to_json()) + +# convert the object into a dict +get_webhooks_response_data_inner_event_dict = get_webhooks_response_data_inner_event_instance.to_dict() +# create an instance of GetWebhooksResponseDataInnerEvent from a dict +get_webhooks_response_data_inner_event_from_dict = GetWebhooksResponseDataInnerEvent.from_dict(get_webhooks_response_data_inner_event_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerKey.md b/cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerKey.md new file mode 100644 index 0000000..f51aea5 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerKey.md @@ -0,0 +1,31 @@ +# GetWebhooksResponseDataInnerKey + +Subscription Key object (User, Property or Association and it's ID) + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | Subscription Key type | [optional] +**id** | **str** | Subscription Key ID | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_key import GetWebhooksResponseDataInnerKey + +# TODO update the JSON string below +json = "{}" +# create an instance of GetWebhooksResponseDataInnerKey from a JSON string +get_webhooks_response_data_inner_key_instance = GetWebhooksResponseDataInnerKey.from_json(json) +# print the JSON string representation of the object +print(GetWebhooksResponseDataInnerKey.to_json()) + +# convert the object into a dict +get_webhooks_response_data_inner_key_dict = get_webhooks_response_data_inner_key_instance.to_dict() +# create an instance of GetWebhooksResponseDataInnerKey from a dict +get_webhooks_response_data_inner_key_from_dict = GetWebhooksResponseDataInnerKey.from_dict(get_webhooks_response_data_inner_key_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerOwner.md b/cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerOwner.md new file mode 100644 index 0000000..1dd8a43 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerOwner.md @@ -0,0 +1,31 @@ +# GetWebhooksResponseDataInnerOwner + +Subscription Owner object (User, API Client, etc, and it's ID) + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | Subscription Owner type | [optional] +**id** | **str** | Subscription Owner ID | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_owner import GetWebhooksResponseDataInnerOwner + +# TODO update the JSON string below +json = "{}" +# create an instance of GetWebhooksResponseDataInnerOwner from a JSON string +get_webhooks_response_data_inner_owner_instance = GetWebhooksResponseDataInnerOwner.from_json(json) +# print the JSON string representation of the object +print(GetWebhooksResponseDataInnerOwner.to_json()) + +# convert the object into a dict +get_webhooks_response_data_inner_owner_dict = get_webhooks_response_data_inner_owner_instance.to_dict() +# create an instance of GetWebhooksResponseDataInnerOwner from a dict +get_webhooks_response_data_inner_owner_from_dict = GetWebhooksResponseDataInnerOwner.from_dict(get_webhooks_response_data_inner_owner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerSubscriptionData.md b/cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerSubscriptionData.md new file mode 100644 index 0000000..2266e54 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GetWebhooksResponseDataInnerSubscriptionData.md @@ -0,0 +1,30 @@ +# GetWebhooksResponseDataInnerSubscriptionData + +Data used on the subscription. For webhooks, just the endpoint URL. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**endpoint** | **str** | The endpoint | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_subscription_data import GetWebhooksResponseDataInnerSubscriptionData + +# TODO update the JSON string below +json = "{}" +# create an instance of GetWebhooksResponseDataInnerSubscriptionData from a JSON string +get_webhooks_response_data_inner_subscription_data_instance = GetWebhooksResponseDataInnerSubscriptionData.from_json(json) +# print the JSON string representation of the object +print(GetWebhooksResponseDataInnerSubscriptionData.to_json()) + +# convert the object into a dict +get_webhooks_response_data_inner_subscription_data_dict = get_webhooks_response_data_inner_subscription_data_instance.to_dict() +# create an instance of GetWebhooksResponseDataInnerSubscriptionData from a dict +get_webhooks_response_data_inner_subscription_data_from_dict = GetWebhooksResponseDataInnerSubscriptionData.from_dict(get_webhooks_response_data_inner_subscription_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/GroupsApi.md b/cloudbeds_pms_v1_3/docs/GroupsApi.md new file mode 100644 index 0000000..2b2fc70 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GroupsApi.md @@ -0,0 +1,487 @@ +# cloudbeds_pms_v1_3.GroupsApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_group_notes_get**](GroupsApi.md#get_group_notes_get) | **GET** /getGroupNotes | getGroupNotes +[**get_groups_get**](GroupsApi.md#get_groups_get) | **GET** /getGroups | getGroups +[**patch_group_post**](GroupsApi.md#patch_group_post) | **POST** /patchGroup | patchGroup +[**post_group_note_post**](GroupsApi.md#post_group_note_post) | **POST** /postGroupNote | postGroupNote +[**put_group_post**](GroupsApi.md#put_group_post) | **POST** /putGroup | putGroup + + +# **get_group_notes_get** +> GetGroupNotesResponse get_group_notes_get(property_id, group_code, page_size, page_number) + +getGroupNotes + +Returns group notes + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_group_notes_response import GetGroupNotesResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GroupsApi(api_client) + property_id = 'property_id_example' # str | Property ID + group_code = 'group_code_example' # str | Group code + page_size = 56 # int | Number of groups notes to return per page (min: 1, max: 100) + page_number = 56 # int | Which page in the results to access + + try: + # getGroupNotes + api_response = api_instance.get_group_notes_get(property_id, group_code, page_size, page_number) + print("The response of GroupsApi->get_group_notes_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GroupsApi->get_group_notes_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | + **group_code** | **str**| Group code | + **page_size** | **int**| Number of groups notes to return per page (min: 1, max: 100) | + **page_number** | **int**| Which page in the results to access | + +### Return type + +[**GetGroupNotesResponse**](GetGroupNotesResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_groups_get** +> GetGroupsResponse get_groups_get(property_id, group_code=group_code, type=type, status=status, created_from=created_from, created_to=created_to, page_size=page_size, page_number=page_number) + +getGroups + +Returns the groups for a property + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_groups_response import GetGroupsResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GroupsApi(api_client) + property_id = 'property_id_example' # str | Property ID + group_code = 'group_code_example' # str | Unique ID for a group (optional) + type = 'type_example' # str | The type of group (optional) + status = 'status_example' # str | Group status (optional) + created_from = '2013-10-20T19:20:30+01:00' # datetime | Datetime (lower limit) to be queried (optional) + created_to = '2013-10-20T19:20:30+01:00' # datetime | Datetime (upper limit) to be queried (optional) + page_size = 56 # int | Number of groups to return per page (min: 1, max: 100) (optional) + page_number = 56 # int | Which page in the results to access (optional) + + try: + # getGroups + api_response = api_instance.get_groups_get(property_id, group_code=group_code, type=type, status=status, created_from=created_from, created_to=created_to, page_size=page_size, page_number=page_number) + print("The response of GroupsApi->get_groups_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GroupsApi->get_groups_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | + **group_code** | **str**| Unique ID for a group | [optional] + **type** | **str**| The type of group | [optional] + **status** | **str**| Group status | [optional] + **created_from** | **datetime**| Datetime (lower limit) to be queried | [optional] + **created_to** | **datetime**| Datetime (upper limit) to be queried | [optional] + **page_size** | **int**| Number of groups to return per page (min: 1, max: 100) | [optional] + **page_number** | **int**| Which page in the results to access | [optional] + +### Return type + +[**GetGroupsResponse**](GetGroupsResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **patch_group_post** +> PostPatchGroupResponse patch_group_post(group_code=group_code, property_id=property_id, name=name, type=type, status=status, source_id=source_id, address1=address1, address2=address2, city=city, zip=zip, state=state) + +patchGroup + +Updates an existing group with information provided. At least one information field is required for this call. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_patch_group_response import PostPatchGroupResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GroupsApi(api_client) + group_code = 'group_code_example' # str | code for a group (optional) + property_id = 'property_id_example' # str | Property ID (optional) + name = 'name_example' # str | Name for a group (optional) + type = 'type_example' # str | The type of group (optional) + status = 'status_example' # str | Group status (optional) + source_id = 'source_id_example' # str | Source ID for a group (optional) + address1 = 'address1_example' # str | Address line 1 for a group (optional) + address2 = 'address2_example' # str | Address line 2 for a group (optional) + city = 'city_example' # str | City for a group (optional) + zip = 'zip_example' # str | Zip for a group (optional) + state = 'state_example' # str | State for a group (optional) + + try: + # patchGroup + api_response = api_instance.patch_group_post(group_code=group_code, property_id=property_id, name=name, type=type, status=status, source_id=source_id, address1=address1, address2=address2, city=city, zip=zip, state=state) + print("The response of GroupsApi->patch_group_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GroupsApi->patch_group_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **group_code** | **str**| code for a group | [optional] + **property_id** | **str**| Property ID | [optional] + **name** | **str**| Name for a group | [optional] + **type** | **str**| The type of group | [optional] + **status** | **str**| Group status | [optional] + **source_id** | **str**| Source ID for a group | [optional] + **address1** | **str**| Address line 1 for a group | [optional] + **address2** | **str**| Address line 2 for a group | [optional] + **city** | **str**| City for a group | [optional] + **zip** | **str**| Zip for a group | [optional] + **state** | **str**| State for a group | [optional] + +### Return type + +[**PostPatchGroupResponse**](PostPatchGroupResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_group_note_post** +> PostGroupNoteResponse post_group_note_post(property_id=property_id, group_code=group_code, group_note=group_note) + +postGroupNote + +Adds a group note + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_group_note_response import PostGroupNoteResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GroupsApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + group_code = 'group_code_example' # str | Group code (optional) + group_note = 'group_note_example' # str | Group note (optional) + + try: + # postGroupNote + api_response = api_instance.post_group_note_post(property_id=property_id, group_code=group_code, group_note=group_note) + print("The response of GroupsApi->post_group_note_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GroupsApi->post_group_note_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **group_code** | **str**| Group code | [optional] + **group_note** | **str**| Group note | [optional] + +### Return type + +[**PostGroupNoteResponse**](PostGroupNoteResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **put_group_post** +> PostPutGroupResponse put_group_post(property_id=property_id, name=name, type=type, status=status, commission_type=commission_type, source_id=source_id, address1=address1, address2=address2, city=city, zip=zip, state=state) + +putGroup + +Adds a group to the property. Please note that the default setting for 'Route to Group Folio' will be 'No,' and the 'Reservation Folio Configuration' will be set as the default folio configuration. You can edit these settings through the user interface (UI). + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_put_group_response import PostPutGroupResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GroupsApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + name = 'name_example' # str | Name for a group (optional) + type = 'type_example' # str | The type of group (optional) + status = 'status_example' # str | Group status (optional) + commission_type = 'commission_type_example' # str | Commission Type (optional) + source_id = 'source_id_example' # str | Source ID for a group (optional) + address1 = 'address1_example' # str | Address line 1 for a group (optional) + address2 = 'address2_example' # str | Address line 2 for a group (optional) + city = 'city_example' # str | City for a group (optional) + zip = 'zip_example' # str | Zip for a group (optional) + state = 'state_example' # str | State for a group (optional) + + try: + # putGroup + api_response = api_instance.put_group_post(property_id=property_id, name=name, type=type, status=status, commission_type=commission_type, source_id=source_id, address1=address1, address2=address2, city=city, zip=zip, state=state) + print("The response of GroupsApi->put_group_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GroupsApi->put_group_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **name** | **str**| Name for a group | [optional] + **type** | **str**| The type of group | [optional] + **status** | **str**| Group status | [optional] + **commission_type** | **str**| Commission Type | [optional] + **source_id** | **str**| Source ID for a group | [optional] + **address1** | **str**| Address line 1 for a group | [optional] + **address2** | **str**| Address line 2 for a group | [optional] + **city** | **str**| City for a group | [optional] + **zip** | **str**| Zip for a group | [optional] + **state** | **str**| State for a group | [optional] + +### Return type + +[**PostPutGroupResponse**](PostPutGroupResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/GuestApi.md b/cloudbeds_pms_v1_3/docs/GuestApi.md new file mode 100644 index 0000000..423bbdc --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/GuestApi.md @@ -0,0 +1,1396 @@ +# cloudbeds_pms_v1_3.GuestApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**delete_guest_note_delete**](GuestApi.md#delete_guest_note_delete) | **DELETE** /deleteGuestNote | deleteGuestNote +[**get_guest_get**](GuestApi.md#get_guest_get) | **GET** /getGuest | getGuest +[**get_guest_list_get**](GuestApi.md#get_guest_list_get) | **GET** /getGuestList | getGuestList +[**get_guest_notes_get**](GuestApi.md#get_guest_notes_get) | **GET** /getGuestNotes | getGuestNotes +[**get_guests_by_filter_get**](GuestApi.md#get_guests_by_filter_get) | **GET** /getGuestsByFilter | getGuestsByFilter +[**get_guests_by_status_get**](GuestApi.md#get_guests_by_status_get) | **GET** /getGuestsByStatus | getGuestsByStatus +[**get_guests_modified_get**](GuestApi.md#get_guests_modified_get) | **GET** /getGuestsModified | getGuestsModified +[**post_guest_document_post**](GuestApi.md#post_guest_document_post) | **POST** /postGuestDocument | postGuestDocument +[**post_guest_note_post**](GuestApi.md#post_guest_note_post) | **POST** /postGuestNote | postGuestNote +[**post_guest_photo_post**](GuestApi.md#post_guest_photo_post) | **POST** /postGuestPhoto | postGuestPhoto +[**post_guest_post**](GuestApi.md#post_guest_post) | **POST** /postGuest | postGuest +[**post_guests_to_room_post**](GuestApi.md#post_guests_to_room_post) | **POST** /postGuestsToRoom | postGuestsToRoom +[**put_guest_note_put**](GuestApi.md#put_guest_note_put) | **PUT** /putGuestNote | putGuestNote +[**put_guest_put**](GuestApi.md#put_guest_put) | **PUT** /putGuest | putGuest + + +# **delete_guest_note_delete** +> DeleteGuestNoteResponse delete_guest_note_delete(guest_id, note_id, property_id=property_id) + +deleteGuestNote + +Archives an existing guest note. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.delete_guest_note_response import DeleteGuestNoteResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GuestApi(api_client) + guest_id = 'guest_id_example' # str | Guest ID + note_id = 'note_id_example' # str | Note ID + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # deleteGuestNote + api_response = api_instance.delete_guest_note_delete(guest_id, note_id, property_id=property_id) + print("The response of GuestApi->delete_guest_note_delete:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GuestApi->delete_guest_note_delete: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **guest_id** | **str**| Guest ID | + **note_id** | **str**| Note ID | + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**DeleteGuestNoteResponse**](DeleteGuestNoteResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_guest_get** +> GetGuestResponse get_guest_get(property_id=property_id, reservation_id=reservation_id, guest_id=guest_id, include_guest_requirements=include_guest_requirements) + +getGuest + +Returns information on a guest specified by the Reservation ID parameter + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_guest_response import GetGuestResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GuestApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + reservation_id = 'reservation_id_example' # str | Reservation Unique Identifier. Required if no guestID is provided. (optional) + guest_id = 'guest_id_example' # str | Guest ID. Required if no reservationID is provided. (optional) + include_guest_requirements = False # bool | Includes guest requirements data in the response (optional) (default to False) + + try: + # getGuest + api_response = api_instance.get_guest_get(property_id=property_id, reservation_id=reservation_id, guest_id=guest_id, include_guest_requirements=include_guest_requirements) + print("The response of GuestApi->get_guest_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GuestApi->get_guest_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **reservation_id** | **str**| Reservation Unique Identifier. Required if no guestID is provided. | [optional] + **guest_id** | **str**| Guest ID. Required if no reservationID is provided. | [optional] + **include_guest_requirements** | **bool**| Includes guest requirements data in the response | [optional] [default to False] + +### Return type + +[**GetGuestResponse**](GetGuestResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_guest_list_get** +> GetGuestListResponse get_guest_list_get(property_ids=property_ids, results_from=results_from, results_to=results_to, check_in_from=check_in_from, check_in_to=check_in_to, check_out_from=check_out_from, check_out_to=check_out_to, guest_first_name=guest_first_name, guest_last_name=guest_last_name, guest_email=guest_email, guest_phone=guest_phone, guest_cell_phone=guest_cell_phone, status=status, sort_by=sort_by, include_guest_info=include_guest_info, exclude_secondary_guests=exclude_secondary_guests, include_guest_requirements=include_guest_requirements, page_number=page_number, page_size=page_size) + +getGuestList + +Returns a list of guests, ordered by modification date ### Group account support + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_guest_list_response import GetGuestListResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GuestApi(api_client) + property_ids = 'property_ids_example' # str | List of property IDs, comma-separated, i.e. 37,345,89 (optional) + results_from = '2013-10-20T19:20:30+01:00' # datetime | Inferior limit datetime, used to filter guests result, based on latest creation/modification date (optional) + results_to = '2013-10-20T19:20:30+01:00' # datetime | Superior limit datetime, used to filter guests result, based on latest creation/modification date (optional) + check_in_from = '2013-10-20' # date | Filters guests result to return only guests with check-in date range starting on this date (optional) + check_in_to = '2013-10-20' # date | Filters guests result to return only guests with check-in date range ending on this date (optional) + check_out_from = '2013-10-20' # date | Filters guests result to return only guests with check-out date range starting on this date (optional) + check_out_to = '2013-10-20' # date | Filters guests result to return only guests with check-out date range ending on this date (optional) + guest_first_name = 'guest_first_name_example' # str | Filters guests result based on Guest First Name (optional) + guest_last_name = 'guest_last_name_example' # str | Filters guests result based on Guest Last Name (optional) + guest_email = 'guest_email_example' # str | Filters guests result based on Guest Email (optional) + guest_phone = 'guest_phone_example' # str | Filters guests result based on Guest Phone Number (optional) + guest_cell_phone = 'guest_cell_phone_example' # str | Filters guests result based on Guest Cell Phone Number (optional) + status = 'status_example' # str | Reservation status
If more than one, send as comma-separated values. i.e. in_progress,confirmed (optional) + sort_by = modification # str | Sort By parameter (optional) (default to modification) + include_guest_info = False # bool | If API response should return with more of Guest's information (optional) (default to False) + exclude_secondary_guests = False # bool | If true, response only returns main guest's (optional) (default to False) + include_guest_requirements = False # bool | Includes guest requirements data in the response (optional) (default to False) + page_number = 1 # int | Results page number (optional) (default to 1) + page_size = 100 # int | Results page size. Max = 100 (optional) (default to 100) + + try: + # getGuestList + api_response = api_instance.get_guest_list_get(property_ids=property_ids, results_from=results_from, results_to=results_to, check_in_from=check_in_from, check_in_to=check_in_to, check_out_from=check_out_from, check_out_to=check_out_to, guest_first_name=guest_first_name, guest_last_name=guest_last_name, guest_email=guest_email, guest_phone=guest_phone, guest_cell_phone=guest_cell_phone, status=status, sort_by=sort_by, include_guest_info=include_guest_info, exclude_secondary_guests=exclude_secondary_guests, include_guest_requirements=include_guest_requirements, page_number=page_number, page_size=page_size) + print("The response of GuestApi->get_guest_list_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GuestApi->get_guest_list_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_ids** | **str**| List of property IDs, comma-separated, i.e. 37,345,89 | [optional] + **results_from** | **datetime**| Inferior limit datetime, used to filter guests result, based on latest creation/modification date | [optional] + **results_to** | **datetime**| Superior limit datetime, used to filter guests result, based on latest creation/modification date | [optional] + **check_in_from** | **date**| Filters guests result to return only guests with check-in date range starting on this date | [optional] + **check_in_to** | **date**| Filters guests result to return only guests with check-in date range ending on this date | [optional] + **check_out_from** | **date**| Filters guests result to return only guests with check-out date range starting on this date | [optional] + **check_out_to** | **date**| Filters guests result to return only guests with check-out date range ending on this date | [optional] + **guest_first_name** | **str**| Filters guests result based on Guest First Name | [optional] + **guest_last_name** | **str**| Filters guests result based on Guest Last Name | [optional] + **guest_email** | **str**| Filters guests result based on Guest Email | [optional] + **guest_phone** | **str**| Filters guests result based on Guest Phone Number | [optional] + **guest_cell_phone** | **str**| Filters guests result based on Guest Cell Phone Number | [optional] + **status** | **str**| Reservation status <br /> If more than one, send as comma-separated values. i.e. in_progress,confirmed | [optional] + **sort_by** | **str**| Sort By parameter | [optional] [default to modification] + **include_guest_info** | **bool**| If API response should return with more of Guest's information | [optional] [default to False] + **exclude_secondary_guests** | **bool**| If true, response only returns main guest's | [optional] [default to False] + **include_guest_requirements** | **bool**| Includes guest requirements data in the response | [optional] [default to False] + **page_number** | **int**| Results page number | [optional] [default to 1] + **page_size** | **int**| Results page size. Max = 100 | [optional] [default to 100] + +### Return type + +[**GetGuestListResponse**](GetGuestListResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_guest_notes_get** +> GetGuestNotesResponse get_guest_notes_get(guest_id, property_id=property_id) + +getGuestNotes + +Retrieves a guest notes + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_guest_notes_response import GetGuestNotesResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GuestApi(api_client) + guest_id = 'guest_id_example' # str | Guest ID + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # getGuestNotes + api_response = api_instance.get_guest_notes_get(guest_id, property_id=property_id) + print("The response of GuestApi->get_guest_notes_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GuestApi->get_guest_notes_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **guest_id** | **str**| Guest ID | + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**GetGuestNotesResponse**](GetGuestNotesResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_guests_by_filter_get** +> GetGuestsByFilterResponse get_guests_by_filter_get(status, property_ids=property_ids, reservation_id=reservation_id, room_id=room_id, guest_name=guest_name, check_in_from=check_in_from, check_in_to=check_in_to, check_out_from=check_out_from, check_out_to=check_out_to) + +getGuestsByFilter + +Returns a list of guests matching the selected parameters ### Group account support + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_guests_by_filter_response import GetGuestsByFilterResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GuestApi(api_client) + status = 'status_example' # str | Current guest status + property_ids = 'property_ids_example' # str | List of property IDs, comma-separated, i.e. 37,345,89 (optional) + reservation_id = 'reservation_id_example' # str | (optional) + room_id = 'room_id_example' # str | (optional) + guest_name = 'guest_name_example' # str | (optional) + check_in_from = '2013-10-20' # date | Filters guests result to return only guests with check-in date range starting on this date (optional) + check_in_to = '2013-10-20' # date | Filters guests result to return only guests with check-in date range ending on this date (optional) + check_out_from = '2013-10-20' # date | Filters guests result to return only guests with check-out date range starting on this date (optional) + check_out_to = '2013-10-20' # date | Filters guests result to return only guests with check-out date range ending on this date (optional) + + try: + # getGuestsByFilter + api_response = api_instance.get_guests_by_filter_get(status, property_ids=property_ids, reservation_id=reservation_id, room_id=room_id, guest_name=guest_name, check_in_from=check_in_from, check_in_to=check_in_to, check_out_from=check_out_from, check_out_to=check_out_to) + print("The response of GuestApi->get_guests_by_filter_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GuestApi->get_guests_by_filter_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **status** | **str**| Current guest status | + **property_ids** | **str**| List of property IDs, comma-separated, i.e. 37,345,89 | [optional] + **reservation_id** | **str**| | [optional] + **room_id** | **str**| | [optional] + **guest_name** | **str**| | [optional] + **check_in_from** | **date**| Filters guests result to return only guests with check-in date range starting on this date | [optional] + **check_in_to** | **date**| Filters guests result to return only guests with check-in date range ending on this date | [optional] + **check_out_from** | **date**| Filters guests result to return only guests with check-out date range starting on this date | [optional] + **check_out_to** | **date**| Filters guests result to return only guests with check-out date range ending on this date | [optional] + +### Return type + +[**GetGuestsByFilterResponse**](GetGuestsByFilterResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_guests_by_status_get** +> GetGuestsByStatusResponse get_guests_by_status_get(status, property_id=property_id, results_from=results_from, results_to=results_to, page_number=page_number, page_size=page_size) + +getGuestsByStatus + +Returns a list of guests in the current status (Not Checked In, In House, Checked Out or Cancelled), sorted by modification date. If no date range is passed, it returns all guests with the selected status. ### Group account support + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_guests_by_status_response import GetGuestsByStatusResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GuestApi(api_client) + status = 'status_example' # str | Guest status during the period + property_id = 'property_id_example' # str | ID for the properties to be queried (comma-separated, i.e. 37,345,89).
It can be omitted if the API key is single-property, or to get results from all properties on an association. (optional) + results_from = '2013-10-20T19:20:30+01:00' # datetime | Used to filter guests result, and returns only the guests that were last modified starting on \"resultsFrom\" value (optional) + results_to = '2013-10-20T19:20:30+01:00' # datetime | Used to filter guests result, and returns only the guests that were last modified ending on \"resultsTo\" value (optional) + page_number = 1 # int | Results page number (optional) (default to 1) + page_size = 20 # int | Results page size. Max = 100 (optional) (default to 20) + + try: + # getGuestsByStatus + api_response = api_instance.get_guests_by_status_get(status, property_id=property_id, results_from=results_from, results_to=results_to, page_number=page_number, page_size=page_size) + print("The response of GuestApi->get_guests_by_status_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GuestApi->get_guests_by_status_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **status** | **str**| Guest status during the period | + **property_id** | **str**| ID for the properties to be queried (comma-separated, i.e. 37,345,89).<br /> It can be omitted if the API key is single-property, or to get results from all properties on an association. | [optional] + **results_from** | **datetime**| Used to filter guests result, and returns only the guests that were last modified starting on \"resultsFrom\" value | [optional] + **results_to** | **datetime**| Used to filter guests result, and returns only the guests that were last modified ending on \"resultsTo\" value | [optional] + **page_number** | **int**| Results page number | [optional] [default to 1] + **page_size** | **int**| Results page size. Max = 100 | [optional] [default to 20] + +### Return type + +[**GetGuestsByStatusResponse**](GetGuestsByStatusResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_guests_modified_get** +> GetGuestsModifiedResponse get_guests_modified_get(property_ids=property_ids, in_house=in_house, results_from=results_from, results_to=results_to, check_in_from=check_in_from, check_in_to=check_in_to, check_out_from=check_out_from, check_out_to=check_out_to, include_guest_requirements=include_guest_requirements, page_number=page_number, page_size=page_size) + +getGuestsModified + +Returns a list of guests based on their modification date. Note that when a guest checks in or checks out of a room, their record is modified at that time. If no date range is passed, only the records for the current day are returned. Also note that if the guest is assigned to multiple rooms, it will result in multiple records. ### Group account support + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_guests_modified_response import GetGuestsModifiedResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GuestApi(api_client) + property_ids = 'property_ids_example' # str | List of property IDs, comma-separated, i.e. 37,345,89 (optional) + in_house = False # bool | When used, and true, will return guests only currently in-house. If the guest checks-out, it will not appear on the results. (optional) (default to False) + results_from = '2013-10-20T19:20:30+01:00' # datetime | Inferior limit datetime, used to filter guests result, based on latest creation/modification date (optional) + results_to = '2013-10-20T19:20:30+01:00' # datetime | Superior limit datetime, used to filter guests result, based on latest creation/modification date (optional) + check_in_from = '2013-10-20' # date | Filters guests result to return only guests with check-in date range starting on this date (optional) + check_in_to = '2013-10-20' # date | Filters guests result to return only guests with check-in date range ending on this date (optional) + check_out_from = '2013-10-20' # date | Filters guests result to return only guests with check-out date range starting on this date (optional) + check_out_to = '2013-10-20' # date | Filters guests result to return only guests with check-out date range ending on this date (optional) + include_guest_requirements = False # bool | Includes guest requirements data in the response (optional) (default to False) + page_number = 1 # int | Results page number (optional) (default to 1) + page_size = 100 # int | Results page size. Max = 100 (optional) (default to 100) + + try: + # getGuestsModified + api_response = api_instance.get_guests_modified_get(property_ids=property_ids, in_house=in_house, results_from=results_from, results_to=results_to, check_in_from=check_in_from, check_in_to=check_in_to, check_out_from=check_out_from, check_out_to=check_out_to, include_guest_requirements=include_guest_requirements, page_number=page_number, page_size=page_size) + print("The response of GuestApi->get_guests_modified_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GuestApi->get_guests_modified_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_ids** | **str**| List of property IDs, comma-separated, i.e. 37,345,89 | [optional] + **in_house** | **bool**| When used, and true, will return guests only currently in-house. If the guest checks-out, it will not appear on the results. | [optional] [default to False] + **results_from** | **datetime**| Inferior limit datetime, used to filter guests result, based on latest creation/modification date | [optional] + **results_to** | **datetime**| Superior limit datetime, used to filter guests result, based on latest creation/modification date | [optional] + **check_in_from** | **date**| Filters guests result to return only guests with check-in date range starting on this date | [optional] + **check_in_to** | **date**| Filters guests result to return only guests with check-in date range ending on this date | [optional] + **check_out_from** | **date**| Filters guests result to return only guests with check-out date range starting on this date | [optional] + **check_out_to** | **date**| Filters guests result to return only guests with check-out date range ending on this date | [optional] + **include_guest_requirements** | **bool**| Includes guest requirements data in the response | [optional] [default to False] + **page_number** | **int**| Results page number | [optional] [default to 1] + **page_size** | **int**| Results page size. Max = 100 | [optional] [default to 100] + +### Return type + +[**GetGuestsModifiedResponse**](GetGuestsModifiedResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_guest_document_post** +> PostGuestDocumentResponse post_guest_document_post(property_id=property_id, guest_id=guest_id, file=file) + +postGuestDocument + +Attaches a document to a guest + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_guest_document_response import PostGuestDocumentResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GuestApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + guest_id = 'guest_id_example' # str | Guest Unique Identifier (optional) + file = None # bytearray | Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB (optional) + + try: + # postGuestDocument + api_response = api_instance.post_guest_document_post(property_id=property_id, guest_id=guest_id, file=file) + print("The response of GuestApi->post_guest_document_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GuestApi->post_guest_document_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **guest_id** | **str**| Guest Unique Identifier | [optional] + **file** | **bytearray**| Form-based File Upload<br/> Allowed file types: <code>*.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json</code><br/> Allowed max file size: 100MB | [optional] + +### Return type + +[**PostGuestDocumentResponse**](PostGuestDocumentResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_guest_note_post** +> PostGuestNoteResponse post_guest_note_post(property_id=property_id, guest_id=guest_id, guest_note=guest_note, user_id=user_id) + +postGuestNote + +Adds a guest note + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_guest_note_response import PostGuestNoteResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GuestApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + guest_id = 'guest_id_example' # str | Guest ID (optional) + guest_note = 'guest_note_example' # str | Note to be added to guest profile. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. (optional) + user_id = 'user_id_example' # str | User ID Identify the actual user that is posting the note (optional) + + try: + # postGuestNote + api_response = api_instance.post_guest_note_post(property_id=property_id, guest_id=guest_id, guest_note=guest_note, user_id=user_id) + print("The response of GuestApi->post_guest_note_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GuestApi->post_guest_note_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **guest_id** | **str**| Guest ID | [optional] + **guest_note** | **str**| Note to be added to guest profile. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. | [optional] + **user_id** | **str**| User ID Identify the actual user that is posting the note | [optional] + +### Return type + +[**PostGuestNoteResponse**](PostGuestNoteResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_guest_photo_post** +> PostGuestPhotoResponse post_guest_photo_post(guest_id=guest_id, file=file) + +postGuestPhoto + +Attaches a photo to a guest + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_guest_photo_response import PostGuestPhotoResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GuestApi(api_client) + guest_id = 'guest_id_example' # str | Guest Unique Identifier (optional) + file = None # bytearray | Form-based File Upload
Allowed file types: *.jpg, *.jpeg, *.png, *.gif
Allowed max file size: 15MB (optional) + + try: + # postGuestPhoto + api_response = api_instance.post_guest_photo_post(guest_id=guest_id, file=file) + print("The response of GuestApi->post_guest_photo_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GuestApi->post_guest_photo_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **guest_id** | **str**| Guest Unique Identifier | [optional] + **file** | **bytearray**| Form-based File Upload<br/> Allowed file types: <code>*.jpg, *.jpeg, *.png, *.gif</code><br/> Allowed max file size: 15MB | [optional] + +### Return type + +[**PostGuestPhotoResponse**](PostGuestPhotoResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_guest_post** +> PostGuestResponse post_guest_post(property_id=property_id, reservation_id=reservation_id, guest_first_name=guest_first_name, guest_last_name=guest_last_name, guest_gender=guest_gender, guest_email=guest_email, guest_phone=guest_phone, guest_cell_phone=guest_cell_phone, guest_address1=guest_address1, guest_address2=guest_address2, guest_city=guest_city, guest_country=guest_country, guest_state=guest_state, guest_zip=guest_zip, guest_birth_date=guest_birth_date, guest_document_type=guest_document_type, guest_document_number=guest_document_number, guest_document_issue_date=guest_document_issue_date, guest_document_issuing_country=guest_document_issuing_country, guest_document_expiration_date=guest_document_expiration_date, guest_requirements=guest_requirements, custom_fields=custom_fields, guest_note=guest_note, reservation_note=reservation_note, guest_company_name=guest_company_name, guest_company_tax_id=guest_company_tax_id, guest_tax_id=guest_tax_id) + +postGuest + +Adds a guest to reservation as an additional guest. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_guest_request_custom_fields_inner import PostGuestRequestCustomFieldsInner +from cloudbeds_pms_v1_3.models.post_guest_response import PostGuestResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GuestApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + reservation_id = 'reservation_id_example' # str | Reservation ID (optional) + guest_first_name = 'guest_first_name_example' # str | (optional) + guest_last_name = 'guest_last_name_example' # str | (optional) + guest_gender = 'guest_gender_example' # str | (optional) + guest_email = 'guest_email_example' # str | (optional) + guest_phone = 'guest_phone_example' # str | (optional) + guest_cell_phone = 'guest_cell_phone_example' # str | (optional) + guest_address1 = 'guest_address1_example' # str | (optional) + guest_address2 = 'guest_address2_example' # str | (optional) + guest_city = 'guest_city_example' # str | (optional) + guest_country = 'guest_country_example' # str | ISO-Code for Country (2 characters) (optional) + guest_state = 'guest_state_example' # str | (optional) + guest_zip = 'guest_zip_example' # str | (optional) + guest_birth_date = '2013-10-20' # date | (optional) + guest_document_type = 'guest_document_type_example' # str | Document Type
dni - Identity card
nie - Residence permit
na - non selection
cpf - Brazilian Tax ID
(optional) + guest_document_number = 'guest_document_number_example' # str | (mandatory when guestDocumentType is sent) (optional) + guest_document_issue_date = '2013-10-20' # date | (mandatory when guestDocumentType is sent and is not DNI or CPF) (optional) + guest_document_issuing_country = 'guest_document_issuing_country_example' # str | Valid ISO-Code for Country (2 characters) (mandatory when guestDocumentType is sent) (optional) + guest_document_expiration_date = '2013-10-20' # date | (mandatory when guestDocumentType is sent and is not DNI, NIE, or CPF) (optional) + guest_requirements = None # List[object] | Object with guest requirements information. (optional) + custom_fields = [cloudbeds_pms_v1_3.PostGuestRequestCustomFieldsInner()] # List[PostGuestRequestCustomFieldsInner] | Only guest custom fields are allowed. (optional) + guest_note = 'guest_note_example' # str | Note to be added to the Guest (optional) + reservation_note = 'reservation_note_example' # str | Note to be added only to the Reservation. (optional) + guest_company_name = 'guest_company_name_example' # str | Guest company name (optional) + guest_company_tax_id = 'guest_company_tax_id_example' # str | Guest company tax ID (optional) + guest_tax_id = 'guest_tax_id_example' # str | Guest tax ID (optional) + + try: + # postGuest + api_response = api_instance.post_guest_post(property_id=property_id, reservation_id=reservation_id, guest_first_name=guest_first_name, guest_last_name=guest_last_name, guest_gender=guest_gender, guest_email=guest_email, guest_phone=guest_phone, guest_cell_phone=guest_cell_phone, guest_address1=guest_address1, guest_address2=guest_address2, guest_city=guest_city, guest_country=guest_country, guest_state=guest_state, guest_zip=guest_zip, guest_birth_date=guest_birth_date, guest_document_type=guest_document_type, guest_document_number=guest_document_number, guest_document_issue_date=guest_document_issue_date, guest_document_issuing_country=guest_document_issuing_country, guest_document_expiration_date=guest_document_expiration_date, guest_requirements=guest_requirements, custom_fields=custom_fields, guest_note=guest_note, reservation_note=reservation_note, guest_company_name=guest_company_name, guest_company_tax_id=guest_company_tax_id, guest_tax_id=guest_tax_id) + print("The response of GuestApi->post_guest_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GuestApi->post_guest_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **reservation_id** | **str**| Reservation ID | [optional] + **guest_first_name** | **str**| | [optional] + **guest_last_name** | **str**| | [optional] + **guest_gender** | **str**| | [optional] + **guest_email** | **str**| | [optional] + **guest_phone** | **str**| | [optional] + **guest_cell_phone** | **str**| | [optional] + **guest_address1** | **str**| | [optional] + **guest_address2** | **str**| | [optional] + **guest_city** | **str**| | [optional] + **guest_country** | **str**| ISO-Code for Country (2 characters) | [optional] + **guest_state** | **str**| | [optional] + **guest_zip** | **str**| | [optional] + **guest_birth_date** | **date**| | [optional] + **guest_document_type** | **str**| Document Type<br /> dni - Identity card<br /> nie - Residence permit<br /> na - non selection<br /> cpf - Brazilian Tax ID<br /> | [optional] + **guest_document_number** | **str**| (mandatory when guestDocumentType is sent) | [optional] + **guest_document_issue_date** | **date**| (mandatory when guestDocumentType is sent and is not DNI or CPF) | [optional] + **guest_document_issuing_country** | **str**| Valid ISO-Code for Country (2 characters) (mandatory when guestDocumentType is sent) | [optional] + **guest_document_expiration_date** | **date**| (mandatory when guestDocumentType is sent and is not DNI, NIE, or CPF) | [optional] + **guest_requirements** | [**List[object]**](object.md)| Object with guest requirements information. | [optional] + **custom_fields** | [**List[PostGuestRequestCustomFieldsInner]**](PostGuestRequestCustomFieldsInner.md)| Only guest custom fields are allowed. | [optional] + **guest_note** | **str**| Note to be added to the Guest | [optional] + **reservation_note** | **str**| Note to be added only to the Reservation. | [optional] + **guest_company_name** | **str**| Guest company name | [optional] + **guest_company_tax_id** | **str**| Guest company tax ID | [optional] + **guest_tax_id** | **str**| Guest tax ID | [optional] + +### Return type + +[**PostGuestResponse**](PostGuestResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_guests_to_room_post** +> PostGuestsToRoomResponse post_guests_to_room_post(property_id=property_id, reservation_id=reservation_id, room_id=room_id, guest_ids=guest_ids, remove_guest_ids=remove_guest_ids, remove_guest_ids_from_room=remove_guest_ids_from_room, remove_all=remove_all) + +postGuestsToRoom + +Assigns guest(s) to a room in a reservation and adds these guests as additional guests. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_guests_to_room_response import PostGuestsToRoomResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GuestApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + reservation_id = 'reservation_id_example' # str | Reservation ID (optional) + room_id = 56 # int | Room ID already assigned to Reservation (optional) + guest_ids = 'guest_ids_example' # str | Guest ID(s) to be assigned to room. If more than one, send as comma-separated, i.e. 37,345,89 (optional) + remove_guest_ids = 'remove_guest_ids_example' # str | If sent, will remove guest ID(s) before adding guests sent in guestIDs parameter. If more than one, send as comma-separated, i.e. 37,345,89. Main Guest is never removed. (optional) + remove_guest_ids_from_room = 'remove_guest_ids_from_room_example' # str | If sent, will remove guest ID(s) only from the specified Room ID(s). If more than one, send as comma-separated, i.e. 37,345,89. Incompatible with removeAll parameter. (optional) + remove_all = True # bool | If set true, will remove all guests assigned to roomID before assigning guests sent in guestIDs parameter. Main Guest is never removed. (optional) + + try: + # postGuestsToRoom + api_response = api_instance.post_guests_to_room_post(property_id=property_id, reservation_id=reservation_id, room_id=room_id, guest_ids=guest_ids, remove_guest_ids=remove_guest_ids, remove_guest_ids_from_room=remove_guest_ids_from_room, remove_all=remove_all) + print("The response of GuestApi->post_guests_to_room_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GuestApi->post_guests_to_room_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **reservation_id** | **str**| Reservation ID | [optional] + **room_id** | **int**| Room ID already assigned to Reservation | [optional] + **guest_ids** | **str**| Guest ID(s) to be assigned to room. If more than one, send as comma-separated, i.e. 37,345,89 | [optional] + **remove_guest_ids** | **str**| If sent, will remove guest ID(s) before adding guests sent in guestIDs parameter. If more than one, send as comma-separated, i.e. 37,345,89. Main Guest is never removed. | [optional] + **remove_guest_ids_from_room** | **str**| If sent, will remove guest ID(s) only from the specified Room ID(s). If more than one, send as comma-separated, i.e. 37,345,89. Incompatible with removeAll parameter. | [optional] + **remove_all** | **bool**| If set true, will remove all guests assigned to roomID before assigning guests sent in guestIDs parameter. Main Guest is never removed. | [optional] + +### Return type + +[**PostGuestsToRoomResponse**](PostGuestsToRoomResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **put_guest_note_put** +> PutGuestNoteResponse put_guest_note_put(property_id=property_id, guest_id=guest_id, note_id=note_id, guest_note=guest_note) + +putGuestNote + +Updates an existing guest note. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.put_guest_note_response import PutGuestNoteResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GuestApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + guest_id = 'guest_id_example' # str | Guest ID (optional) + note_id = 'note_id_example' # str | Note ID (optional) + guest_note = 'guest_note_example' # str | Note to be added to guest profile. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. (optional) + + try: + # putGuestNote + api_response = api_instance.put_guest_note_put(property_id=property_id, guest_id=guest_id, note_id=note_id, guest_note=guest_note) + print("The response of GuestApi->put_guest_note_put:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GuestApi->put_guest_note_put: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **guest_id** | **str**| Guest ID | [optional] + **note_id** | **str**| Note ID | [optional] + **guest_note** | **str**| Note to be added to guest profile. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. | [optional] + +### Return type + +[**PutGuestNoteResponse**](PutGuestNoteResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **put_guest_put** +> PutGuestResponse put_guest_put(property_id=property_id, guest_id=guest_id, guest_first_name=guest_first_name, guest_last_name=guest_last_name, guest_gender=guest_gender, guest_email=guest_email, guest_phone=guest_phone, guest_cell_phone=guest_cell_phone, guest_address1=guest_address1, guest_address2=guest_address2, guest_city=guest_city, guest_country=guest_country, guest_state=guest_state, guest_zip=guest_zip, guest_birth_date=guest_birth_date, guest_document_type=guest_document_type, guest_document_number=guest_document_number, guest_document_issue_date=guest_document_issue_date, guest_document_issuing_country=guest_document_issuing_country, guest_document_expiration_date=guest_document_expiration_date, guest_requirements=guest_requirements, guest_custom_fields=guest_custom_fields, guest_company_name=guest_company_name, guest_company_tax_id=guest_company_tax_id, guest_tax_id=guest_tax_id) + +putGuest + +Updates an existing guest with information provided. At least one information field is required for this call. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.put_guest_request_guest_custom_fields_inner import PutGuestRequestGuestCustomFieldsInner +from cloudbeds_pms_v1_3.models.put_guest_response import PutGuestResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.GuestApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + guest_id = 'guest_id_example' # str | Valid Guest ID (optional) + guest_first_name = 'guest_first_name_example' # str | (optional) + guest_last_name = 'guest_last_name_example' # str | (optional) + guest_gender = 'guest_gender_example' # str | (optional) + guest_email = 'guest_email_example' # str | (optional) + guest_phone = 'guest_phone_example' # str | (optional) + guest_cell_phone = 'guest_cell_phone_example' # str | (optional) + guest_address1 = 'guest_address1_example' # str | (optional) + guest_address2 = 'guest_address2_example' # str | (optional) + guest_city = 'guest_city_example' # str | (optional) + guest_country = 'guest_country_example' # str | ISO-Code for Country (2 characters) (optional) + guest_state = 'guest_state_example' # str | (optional) + guest_zip = 'guest_zip_example' # str | (optional) + guest_birth_date = '2013-10-20' # date | (optional) + guest_document_type = 'guest_document_type_example' # str | It is mandatory to send all document information
na - non selection
dni - Identity card
nie - Residence permit
cpf - Brazilian Tax ID
(optional) + guest_document_number = 'guest_document_number_example' # str | (mandatory when guestDocumentType is sent) (optional) + guest_document_issue_date = '2013-10-20' # date | (mandatory when guestDocumentType is sent and is not DNI or CPF) (optional) + guest_document_issuing_country = 'guest_document_issuing_country_example' # str | ISO-Code for Country (2 characters) (mandatory when guestDocumentType is sent) (optional) + guest_document_expiration_date = '2013-10-20' # date | (mandatory when guestDocumentType is sent and is not DNI, NIE, or CPF) (optional) + guest_requirements = None # List[object] | Object with guest requirements information. (optional) + guest_custom_fields = [cloudbeds_pms_v1_3.PutGuestRequestGuestCustomFieldsInner()] # List[PutGuestRequestGuestCustomFieldsInner] | (optional) + guest_company_name = 'guest_company_name_example' # str | Guest company name (optional) + guest_company_tax_id = 'guest_company_tax_id_example' # str | Guest company tax ID (optional) + guest_tax_id = 'guest_tax_id_example' # str | Guest tax ID unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. (optional) + + try: + # putGuest + api_response = api_instance.put_guest_put(property_id=property_id, guest_id=guest_id, guest_first_name=guest_first_name, guest_last_name=guest_last_name, guest_gender=guest_gender, guest_email=guest_email, guest_phone=guest_phone, guest_cell_phone=guest_cell_phone, guest_address1=guest_address1, guest_address2=guest_address2, guest_city=guest_city, guest_country=guest_country, guest_state=guest_state, guest_zip=guest_zip, guest_birth_date=guest_birth_date, guest_document_type=guest_document_type, guest_document_number=guest_document_number, guest_document_issue_date=guest_document_issue_date, guest_document_issuing_country=guest_document_issuing_country, guest_document_expiration_date=guest_document_expiration_date, guest_requirements=guest_requirements, guest_custom_fields=guest_custom_fields, guest_company_name=guest_company_name, guest_company_tax_id=guest_company_tax_id, guest_tax_id=guest_tax_id) + print("The response of GuestApi->put_guest_put:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling GuestApi->put_guest_put: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **guest_id** | **str**| Valid Guest ID | [optional] + **guest_first_name** | **str**| | [optional] + **guest_last_name** | **str**| | [optional] + **guest_gender** | **str**| | [optional] + **guest_email** | **str**| | [optional] + **guest_phone** | **str**| | [optional] + **guest_cell_phone** | **str**| | [optional] + **guest_address1** | **str**| | [optional] + **guest_address2** | **str**| | [optional] + **guest_city** | **str**| | [optional] + **guest_country** | **str**| ISO-Code for Country (2 characters) | [optional] + **guest_state** | **str**| | [optional] + **guest_zip** | **str**| | [optional] + **guest_birth_date** | **date**| | [optional] + **guest_document_type** | **str**| It is mandatory to send all document information<br /> na - non selection<br /> dni - Identity card<br /> nie - Residence permit<br /> cpf - Brazilian Tax ID<br /> | [optional] + **guest_document_number** | **str**| (mandatory when guestDocumentType is sent) | [optional] + **guest_document_issue_date** | **date**| (mandatory when guestDocumentType is sent and is not DNI or CPF) | [optional] + **guest_document_issuing_country** | **str**| ISO-Code for Country (2 characters) (mandatory when guestDocumentType is sent) | [optional] + **guest_document_expiration_date** | **date**| (mandatory when guestDocumentType is sent and is not DNI, NIE, or CPF) | [optional] + **guest_requirements** | [**List[object]**](object.md)| Object with guest requirements information. | [optional] + **guest_custom_fields** | [**List[PutGuestRequestGuestCustomFieldsInner]**](PutGuestRequestGuestCustomFieldsInner.md)| | [optional] + **guest_company_name** | **str**| Guest company name | [optional] + **guest_company_tax_id** | **str**| Guest company tax ID | [optional] + **guest_tax_id** | **str**| Guest tax ID unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. | [optional] + +### Return type + +[**PutGuestResponse**](PutGuestResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/HotelApi.md b/cloudbeds_pms_v1_3/docs/HotelApi.md new file mode 100644 index 0000000..2d10289 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/HotelApi.md @@ -0,0 +1,364 @@ +# cloudbeds_pms_v1_3.HotelApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_files_get**](HotelApi.md#get_files_get) | **GET** /getFiles | getFiles +[**get_hotel_details_get**](HotelApi.md#get_hotel_details_get) | **GET** /getHotelDetails | getHotelDetails +[**get_hotels_get**](HotelApi.md#get_hotels_get) | **GET** /getHotels | getHotels +[**post_file_post**](HotelApi.md#post_file_post) | **POST** /postFile | postFile + + +# **get_files_get** +> GetFilesResponse get_files_get(property_id=property_id, group_code=group_code, sort_by=sort_by, order_by=order_by, name=name, page_number=page_number, page_size=page_size) + +getFiles + +Returns a list of files attached to a hotel or group profile, ordered by creation date + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_files_response import GetFilesResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.HotelApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + group_code = 'group_code_example' # str | The group code, if the files are to be fetched from a group profile (optional) + sort_by = date # str | Sort By parameter (optional) (default to date) + order_by = desc # str | Order response in DESCending or ASCending order, used together with sortBy (optional) (default to desc) + name = 'name_example' # str | Filter filess by name. Include only with names containing specified string (optional) + page_number = 1 # int | Results page number (optional) (default to 1) + page_size = 100 # int | Results page size. Max = 100 (optional) (default to 100) + + try: + # getFiles + api_response = api_instance.get_files_get(property_id=property_id, group_code=group_code, sort_by=sort_by, order_by=order_by, name=name, page_number=page_number, page_size=page_size) + print("The response of HotelApi->get_files_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling HotelApi->get_files_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **group_code** | **str**| The group code, if the files are to be fetched from a group profile | [optional] + **sort_by** | **str**| Sort By parameter | [optional] [default to date] + **order_by** | **str**| Order response in DESCending or ASCending order, used together with sortBy | [optional] [default to desc] + **name** | **str**| Filter filess by name. Include only with names containing specified string | [optional] + **page_number** | **int**| Results page number | [optional] [default to 1] + **page_size** | **int**| Results page size. Max = 100 | [optional] [default to 100] + +### Return type + +[**GetFilesResponse**](GetFilesResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_hotel_details_get** +> GetHotelDetailsResponse get_hotel_details_get(property_id=property_id) + +getHotelDetails + +Returns the details of a specific hotel, identified by \"propertyID\" + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_hotel_details_response import GetHotelDetailsResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.HotelApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # getHotelDetails + api_response = api_instance.get_hotel_details_get(property_id=property_id) + print("The response of HotelApi->get_hotel_details_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling HotelApi->get_hotel_details_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**GetHotelDetailsResponse**](GetHotelDetailsResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_hotels_get** +> GetHotelsResponse get_hotels_get(property_ids=property_ids, property_name=property_name, property_city=property_city, page_number=page_number, page_size=page_size) + +getHotels + +Returns a list of hotels, filtered by the parameters passed ### Group account support + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_hotels_response import GetHotelsResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.HotelApi(api_client) + property_ids = 'property_ids_example' # str | List of property IDs, comma-separated, i.e. 37,345,89 (optional) + property_name = 'property_name_example' # str | Property name, or part of it (optional) + property_city = 'property_city_example' # str | Property city, or part of it (optional) + page_number = 1 # int | Page number (optional) (default to 1) + page_size = 20 # int | Page size (optional) (default to 20) + + try: + # getHotels + api_response = api_instance.get_hotels_get(property_ids=property_ids, property_name=property_name, property_city=property_city, page_number=page_number, page_size=page_size) + print("The response of HotelApi->get_hotels_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling HotelApi->get_hotels_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_ids** | **str**| List of property IDs, comma-separated, i.e. 37,345,89 | [optional] + **property_name** | **str**| Property name, or part of it | [optional] + **property_city** | **str**| Property city, or part of it | [optional] + **page_number** | **int**| Page number | [optional] [default to 1] + **page_size** | **int**| Page size | [optional] [default to 20] + +### Return type + +[**GetHotelsResponse**](GetHotelsResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_file_post** +> PostFileResponse post_file_post(property_id=property_id, file=file, group_code=group_code) + +postFile + +Attaches a file to a hotel + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_file_response import PostFileResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.HotelApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + file = None # bytearray | Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB (optional) + group_code = 'group_code_example' # str | optional - the group code if the file is to be attached to a group profile (optional) + + try: + # postFile + api_response = api_instance.post_file_post(property_id=property_id, file=file, group_code=group_code) + print("The response of HotelApi->post_file_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling HotelApi->post_file_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **file** | **bytearray**| Form-based File Upload<br/> Allowed file types: <code>*.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json</code><br/> Allowed max file size: 100MB | [optional] + **group_code** | **str**| optional - the group code if the file is to be attached to a group profile | [optional] + +### Return type + +[**PostFileResponse**](PostFileResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/HouseAccountApi.md b/cloudbeds_pms_v1_3/docs/HouseAccountApi.md new file mode 100644 index 0000000..d3a973e --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/HouseAccountApi.md @@ -0,0 +1,265 @@ +# cloudbeds_pms_v1_3.HouseAccountApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_house_account_list_get**](HouseAccountApi.md#get_house_account_list_get) | **GET** /getHouseAccountList | getHouseAccountList +[**post_new_house_account_post**](HouseAccountApi.md#post_new_house_account_post) | **POST** /postNewHouseAccount | postNewHouseAccount +[**put_house_account_status_put**](HouseAccountApi.md#put_house_account_status_put) | **PUT** /putHouseAccountStatus | putHouseAccountStatus + + +# **get_house_account_list_get** +> GetHouseAccountListResponse get_house_account_list_get(property_id=property_id) + +getHouseAccountList + +Pulls list of active house accounts + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_house_account_list_response import GetHouseAccountListResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.HouseAccountApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # getHouseAccountList + api_response = api_instance.get_house_account_list_get(property_id=property_id) + print("The response of HouseAccountApi->get_house_account_list_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling HouseAccountApi->get_house_account_list_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**GetHouseAccountListResponse**](GetHouseAccountListResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_new_house_account_post** +> PostNewHouseAccountResponse post_new_house_account_post(property_id=property_id, account_name=account_name, is_private=is_private) + +postNewHouseAccount + +Add a new House Account + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_new_house_account_response import PostNewHouseAccountResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.HouseAccountApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + account_name = 'account_name_example' # str | House Account name (optional) + is_private = False # bool | Whether House Account is available only to user (optional) (default to False) + + try: + # postNewHouseAccount + api_response = api_instance.post_new_house_account_post(property_id=property_id, account_name=account_name, is_private=is_private) + print("The response of HouseAccountApi->post_new_house_account_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling HouseAccountApi->post_new_house_account_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **account_name** | **str**| House Account name | [optional] + **is_private** | **bool**| Whether House Account is available only to user | [optional] [default to False] + +### Return type + +[**PostNewHouseAccountResponse**](PostNewHouseAccountResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **put_house_account_status_put** +> PutHouseAccountStatusResponse put_house_account_status_put(property_id=property_id, house_account_id=house_account_id, status=status) + +putHouseAccountStatus + +Change specific house account to either open or closed. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.put_house_account_status_response import PutHouseAccountStatusResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.HouseAccountApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + house_account_id = 'house_account_id_example' # str | House Account ID (optional) + status = 'status_example' # str | House Account status (optional) + + try: + # putHouseAccountStatus + api_response = api_instance.put_house_account_status_put(property_id=property_id, house_account_id=house_account_id, status=status) + print("The response of HouseAccountApi->put_house_account_status_put:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling HouseAccountApi->put_house_account_status_put: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **house_account_id** | **str**| House Account ID | [optional] + **status** | **str**| House Account status | [optional] + +### Return type + +[**PutHouseAccountStatusResponse**](PutHouseAccountStatusResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/HousekeepingApi.md b/cloudbeds_pms_v1_3/docs/HousekeepingApi.md new file mode 100644 index 0000000..9c27ed8 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/HousekeepingApi.md @@ -0,0 +1,544 @@ +# cloudbeds_pms_v1_3.HousekeepingApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_housekeepers_get**](HousekeepingApi.md#get_housekeepers_get) | **GET** /getHousekeepers | getHousekeepers +[**get_housekeeping_status_get**](HousekeepingApi.md#get_housekeeping_status_get) | **GET** /getHousekeepingStatus | getHousekeepingStatus +[**post_housekeeper_post**](HousekeepingApi.md#post_housekeeper_post) | **POST** /postHousekeeper | postHousekeeper +[**post_housekeeping_assignment_post**](HousekeepingApi.md#post_housekeeping_assignment_post) | **POST** /postHousekeepingAssignment | postHousekeepingAssignment +[**post_housekeeping_status_post**](HousekeepingApi.md#post_housekeeping_status_post) | **POST** /postHousekeepingStatus | postHousekeepingStatus +[**put_housekeeper_put**](HousekeepingApi.md#put_housekeeper_put) | **PUT** /putHousekeeper | putHousekeeper + + +# **get_housekeepers_get** +> GetHousekeepersResponse get_housekeepers_get(property_id=property_id, page_number=page_number, page_size=page_size) + +getHousekeepers + +Returns a list of housekeepers ### Group account support + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_housekeepers_response import GetHousekeepersResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.HousekeepingApi(api_client) + property_id = 'property_id_example' # str | ID for the properties to be queried (comma-separated, i.e. 37,345,89). It can be omitted if the API key is single-property, or to get results from all properties on an association. (optional) + page_number = 1 # int | Results page number (optional) (default to 1) + page_size = 100 # int | Results page size. Max = 1000 (optional) (default to 100) + + try: + # getHousekeepers + api_response = api_instance.get_housekeepers_get(property_id=property_id, page_number=page_number, page_size=page_size) + print("The response of HousekeepingApi->get_housekeepers_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling HousekeepingApi->get_housekeepers_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| ID for the properties to be queried (comma-separated, i.e. 37,345,89). It can be omitted if the API key is single-property, or to get results from all properties on an association. | [optional] + **page_number** | **int**| Results page number | [optional] [default to 1] + **page_size** | **int**| Results page size. Max = 1000 | [optional] [default to 100] + +### Return type + +[**GetHousekeepersResponse**](GetHousekeepersResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_housekeeping_status_get** +> GetHousekeepingStatusResponse get_housekeeping_status_get(property_id=property_id, room_type_ids=room_type_ids, housekeeper_ids=housekeeper_ids, room_condition=room_condition, room_occupied=room_occupied, page_number=page_number, page_size=page_size) + +getHousekeepingStatus + +Returns the current date's housekeeping information The housekeeping status is calculated basing on the set of fields roomOccupied | roomCondition | roomBlocked | vacantPickup | roomBlocked | refusedService The available statuses are: - Vacant and Dirty (VD): false | “dirty” | false | false | false | false - Occupied and Dirty (OD): true | “dirty” | false | false | false | false - Vacant and Clean (VC): false | “clean” | false | false | false | false - Occupied and Clean (OC): true | “clean” | false | false | false | false - Occupied and Clean Inspected (OCI): true | “inspected” | false | false | false | false - Vacant and Clean Inspected (VCI): false | “inspected” | false | false | false | false - Do Not Disturb (DND): if doNotDisturb is true - Refused Service (RS): if refusedService is true - Out of Order (OOO): if roomBlocked is true - Vacant and Pickup (VP): if vacantPickup is true + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_housekeeping_status_response import GetHousekeepingStatusResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.HousekeepingApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + room_type_ids = 'room_type_ids_example' # str | Filter by room type ID. If more than one, send as comma-separated, i.e. 37,345,89 (optional) + housekeeper_ids = 'housekeeper_ids_example' # str | Use this parameter to filter by housekeeper. If you need to specify multiple housekeepers, send their IDs as a comma-separated list (e.g., 37, 345, 89). To retrieve unassigned housekeepers, use the value 0. (optional) + room_condition = 'room_condition_example' # str | Condition of room (optional) + room_occupied = True # bool | Flag for current room occupation status (optional) + page_number = 1 # int | Results page number (optional) (default to 1) + page_size = 100 # int | Results page size. Max = 5000 (optional) (default to 100) + + try: + # getHousekeepingStatus + api_response = api_instance.get_housekeeping_status_get(property_id=property_id, room_type_ids=room_type_ids, housekeeper_ids=housekeeper_ids, room_condition=room_condition, room_occupied=room_occupied, page_number=page_number, page_size=page_size) + print("The response of HousekeepingApi->get_housekeeping_status_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling HousekeepingApi->get_housekeeping_status_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **room_type_ids** | **str**| Filter by room type ID. If more than one, send as comma-separated, i.e. 37,345,89 | [optional] + **housekeeper_ids** | **str**| Use this parameter to filter by housekeeper. If you need to specify multiple housekeepers, send their IDs as a comma-separated list (e.g., 37, 345, 89). To retrieve unassigned housekeepers, use the value 0. | [optional] + **room_condition** | **str**| Condition of room | [optional] + **room_occupied** | **bool**| Flag for current room occupation status | [optional] + **page_number** | **int**| Results page number | [optional] [default to 1] + **page_size** | **int**| Results page size. Max = 5000 | [optional] [default to 100] + +### Return type + +[**GetHousekeepingStatusResponse**](GetHousekeepingStatusResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_housekeeper_post** +> PostHousekeeperResponse post_housekeeper_post(property_id=property_id, name=name) + +postHousekeeper + +Add New Housekeeper + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_housekeeper_response import PostHousekeeperResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.HousekeepingApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + name = 'name_example' # str | Housekeeper name (optional) + + try: + # postHousekeeper + api_response = api_instance.post_housekeeper_post(property_id=property_id, name=name) + print("The response of HousekeepingApi->post_housekeeper_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling HousekeepingApi->post_housekeeper_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **name** | **str**| Housekeeper name | [optional] + +### Return type + +[**PostHousekeeperResponse**](PostHousekeeperResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_housekeeping_assignment_post** +> PostHousekeepingAssignmentResponse post_housekeeping_assignment_post(property_id=property_id, room_ids=room_ids, housekeeper_id=housekeeper_id) + +postHousekeepingAssignment + +Assign rooms (single or multiple) to an existing housekeeper + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_housekeeping_assignment_response import PostHousekeepingAssignmentResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.HousekeepingApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + room_ids = 'room_ids_example' # str | List of room IDs comma-separated, i.e. 37,345,89 (optional) + housekeeper_id = 'housekeeper_id_example' # str | Housekeeper ID. To designate a room as unassigned, simply set the value to 0. (optional) + + try: + # postHousekeepingAssignment + api_response = api_instance.post_housekeeping_assignment_post(property_id=property_id, room_ids=room_ids, housekeeper_id=housekeeper_id) + print("The response of HousekeepingApi->post_housekeeping_assignment_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling HousekeepingApi->post_housekeeping_assignment_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **room_ids** | **str**| List of room IDs comma-separated, i.e. 37,345,89 | [optional] + **housekeeper_id** | **str**| Housekeeper ID. To designate a room as unassigned, simply set the value to 0. | [optional] + +### Return type + +[**PostHousekeepingAssignmentResponse**](PostHousekeepingAssignmentResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_housekeeping_status_post** +> PostHousekeepingStatusResponse post_housekeeping_status_post(property_id=property_id, room_id=room_id, room_condition=room_condition, do_not_disturb=do_not_disturb, room_comments=room_comments, refused_service=refused_service, vacant_pickup=vacant_pickup) + +postHousekeepingStatus + +Switches the current date's housekeeping status for a specific room ID to either clean or dirty The housekeeping status is calculated basing on the set of fields roomOccupied | roomCondition | roomBlocked | vacantPickup | roomBlocked | refusedService The available statuses are: - Vacant and Dirty (VD): false | “dirty” | false | false | false | false - Occupied and Dirty (OD): true | “dirty” | false | false | false | false - Vacant and Clean (VC): false | “clean” | false | false | false | false - Occupied and Clean (OC): true | “clean” | false | false | false | false - Occupied and Clean Inspected (OCI): true | “inspected” | false | false | false | false - Vacant and Clean Inspected (VCI): false | “inspected” | false | false | false | false - Do Not Disturb (DND): if doNotDisturb is true - Refused Service (RS): if refusedService is true - Out of Order (OOO): if roomBlocked is true - Vacant and Pickup (VP): if vacantPickup is true + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_housekeeping_status_response import PostHousekeepingStatusResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.HousekeepingApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + room_id = 'room_id_example' # str | Room ID (optional) + room_condition = 'room_condition_example' # str | New room condition. If no optional parameters are sent, will switch from current room condition. \\\"inspected\\\" status is available only if the property has the feature enabled. (optional) + do_not_disturb = True # bool | New \\\"do not disturb\\\" status (optional) + room_comments = 'room_comments_example' # str | New room comments. (optional) + refused_service = True # bool | New \\\"refused service\\\" status (optional) + vacant_pickup = True # bool | New \\\"vacant_pickup\\\" status (optional) + + try: + # postHousekeepingStatus + api_response = api_instance.post_housekeeping_status_post(property_id=property_id, room_id=room_id, room_condition=room_condition, do_not_disturb=do_not_disturb, room_comments=room_comments, refused_service=refused_service, vacant_pickup=vacant_pickup) + print("The response of HousekeepingApi->post_housekeeping_status_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling HousekeepingApi->post_housekeeping_status_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **room_id** | **str**| Room ID | [optional] + **room_condition** | **str**| New room condition. If no optional parameters are sent, will switch from current room condition. \\\"inspected\\\" status is available only if the property has the feature enabled. | [optional] + **do_not_disturb** | **bool**| New \\\"do not disturb\\\" status | [optional] + **room_comments** | **str**| New room comments. | [optional] + **refused_service** | **bool**| New \\\"refused service\\\" status | [optional] + **vacant_pickup** | **bool**| New \\\"vacant_pickup\\\" status | [optional] + +### Return type + +[**PostHousekeepingStatusResponse**](PostHousekeepingStatusResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **put_housekeeper_put** +> PutHousekeeperResponse put_housekeeper_put(property_id=property_id, name=name, housekeeper_id=housekeeper_id) + +putHousekeeper + +Edit Housekeeper Details + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.put_housekeeper_response import PutHousekeeperResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.HousekeepingApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + name = 'name_example' # str | Housekeeper name (optional) + housekeeper_id = 'housekeeper_id_example' # str | Housekeeper ID (optional) + + try: + # putHousekeeper + api_response = api_instance.put_housekeeper_put(property_id=property_id, name=name, housekeeper_id=housekeeper_id) + print("The response of HousekeepingApi->put_housekeeper_put:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling HousekeepingApi->put_housekeeper_put: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **name** | **str**| Housekeeper name | [optional] + **housekeeper_id** | **str**| Housekeeper ID | [optional] + +### Return type + +[**PutHousekeeperResponse**](PutHousekeeperResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/IntegrationApi.md b/cloudbeds_pms_v1_3/docs/IntegrationApi.md new file mode 100644 index 0000000..63fc4b3 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/IntegrationApi.md @@ -0,0 +1,712 @@ +# cloudbeds_pms_v1_3.IntegrationApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**delete_webhook_delete**](IntegrationApi.md#delete_webhook_delete) | **DELETE** /deleteWebhook | deleteWebhook +[**get_app_settings_get**](IntegrationApi.md#get_app_settings_get) | **GET** /getAppSettings | getAppSettings +[**get_app_state_get**](IntegrationApi.md#get_app_state_get) | **GET** /getAppState | getAppState +[**get_webhooks_get**](IntegrationApi.md#get_webhooks_get) | **GET** /getWebhooks | getWebhooks +[**post_app_error_post**](IntegrationApi.md#post_app_error_post) | **POST** /postAppError | postAppError +[**post_app_state_post**](IntegrationApi.md#post_app_state_post) | **POST** /postAppState | postAppState +[**post_government_receipt_post**](IntegrationApi.md#post_government_receipt_post) | **POST** /postGovernmentReceipt | postGovernmentReceipt +[**post_webhook_post**](IntegrationApi.md#post_webhook_post) | **POST** /postWebhook | postWebhook + + +# **delete_webhook_delete** +> DeleteWebhookResponse delete_webhook_delete(subscription_id, property_ids=property_ids) + +deleteWebhook + +Remove subscription for webhook. Read the [Webhooks guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007612553-Webhooks) to see available objects, actions, payload info and more. ### Group account support + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.delete_webhook_response import DeleteWebhookResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.IntegrationApi(api_client) + subscription_id = 'subscription_id_example' # str | Subscription ID + property_ids = 'property_ids_example' # str | List of property IDs, comma-separated, i.e. 37,345,89 (optional) + + try: + # deleteWebhook + api_response = api_instance.delete_webhook_delete(subscription_id, property_ids=property_ids) + print("The response of IntegrationApi->delete_webhook_delete:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling IntegrationApi->delete_webhook_delete: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **subscription_id** | **str**| Subscription ID | + **property_ids** | **str**| List of property IDs, comma-separated, i.e. 37,345,89 | [optional] + +### Return type + +[**DeleteWebhookResponse**](DeleteWebhookResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_app_settings_get** +> GetAppSettingsResponse get_app_settings_get(property_id=property_id) + +getAppSettings + +Get the current app settings for a property.
+ +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_app_settings_response import GetAppSettingsResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.IntegrationApi(api_client) + property_id = 'property_id_example' # str | Property identifier to be queried (optional) + + try: + # getAppSettings + api_response = api_instance.get_app_settings_get(property_id=property_id) + print("The response of IntegrationApi->get_app_settings_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling IntegrationApi->get_app_settings_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property identifier to be queried | [optional] + +### Return type + +[**GetAppSettingsResponse**](GetAppSettingsResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_app_state_get** +> GetAppStateResponse get_app_state_get(property_id=property_id) + +getAppState + +Get the current app integration state for a property.
This call is only available for third-party integration partners, and not for property client IDs. Read the [Connecting/Disconnecting Apps guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007613213-Connecting-Disconnecting-Apps) to further understand the use cases. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_app_state_response import GetAppStateResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.IntegrationApi(api_client) + property_id = 'property_id_example' # str | Property identifier to be queried (optional) + + try: + # getAppState + api_response = api_instance.get_app_state_get(property_id=property_id) + print("The response of IntegrationApi->get_app_state_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling IntegrationApi->get_app_state_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property identifier to be queried | [optional] + +### Return type + +[**GetAppStateResponse**](GetAppStateResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_webhooks_get** +> GetWebhooksResponse get_webhooks_get(property_id=property_id) + +getWebhooks + +List webhooks for which the API client is subscribed to. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_webhooks_response import GetWebhooksResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.IntegrationApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # getWebhooks + api_response = api_instance.get_webhooks_get(property_id=property_id) + print("The response of IntegrationApi->get_webhooks_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling IntegrationApi->get_webhooks_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**GetWebhooksResponse**](GetWebhooksResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_app_error_post** +> PostAppErrorResponse post_app_error_post(property_id=property_id, timestamp=timestamp, event_type=event_type, status_code=status_code, description=description, error_message=error_message, entity_type=entity_type, entity_id=entity_id, user_id=user_id) + +postAppError + +Submit the error received by the hybrid integration from the partner to the MFD + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_app_error_response import PostAppErrorResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.IntegrationApi(api_client) + property_id = 'property_id_example' # str | Property identifier to be queried (optional) + timestamp = '2013-10-20T19:20:30+01:00' # datetime | Date/time that the error was received by the middleware (optional) + event_type = 'event_type_example' # str | Description for the type of event that caused the error (optional) + status_code = 'status_code_example' # str | HTTP error status code or other error code ID (optional) + description = 'description_example' # str | Description of the error (optional) + error_message = 'error_message_example' # str | Detailed message for error (optional) + entity_type = 'entity_type_example' # str | Type of the entity related to the error (optional) + entity_id = 'entity_id_example' # str | Unique ID for the entity related to the error (optional) + user_id = 'user_id_example' # str | User ID for the user that triggered event that caused the error (optional) + + try: + # postAppError + api_response = api_instance.post_app_error_post(property_id=property_id, timestamp=timestamp, event_type=event_type, status_code=status_code, description=description, error_message=error_message, entity_type=entity_type, entity_id=entity_id, user_id=user_id) + print("The response of IntegrationApi->post_app_error_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling IntegrationApi->post_app_error_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property identifier to be queried | [optional] + **timestamp** | **datetime**| Date/time that the error was received by the middleware | [optional] + **event_type** | **str**| Description for the type of event that caused the error | [optional] + **status_code** | **str**| HTTP error status code or other error code ID | [optional] + **description** | **str**| Description of the error | [optional] + **error_message** | **str**| Detailed message for error | [optional] + **entity_type** | **str**| Type of the entity related to the error | [optional] + **entity_id** | **str**| Unique ID for the entity related to the error | [optional] + **user_id** | **str**| User ID for the user that triggered event that caused the error | [optional] + +### Return type + +[**PostAppErrorResponse**](PostAppErrorResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_app_state_post** +> PostAppStateResponse post_app_state_post(property_id=property_id, app_state=app_state) + +postAppState + +Update app integration state for a property ID.
This call is only available for third-party integration partners, and not for property client IDs.
If an app is set to 'disabled', it will remove all active sessions Read the [Connecting/Disconnecting Apps guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007613213-Connecting-Disconnecting-Apps) to further understand the use cases. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_app_state_response import PostAppStateResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.IntegrationApi(api_client) + property_id = 'property_id_example' # str | Property identifier to be updated (optional) + app_state = 'app_state_example' # str | Current integration state between third-party and property. (optional) + + try: + # postAppState + api_response = api_instance.post_app_state_post(property_id=property_id, app_state=app_state) + print("The response of IntegrationApi->post_app_state_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling IntegrationApi->post_app_state_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property identifier to be updated | [optional] + **app_state** | **str**| Current integration state between third-party and property. | [optional] + +### Return type + +[**PostAppStateResponse**](PostAppStateResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_government_receipt_post** +> PostGovernmentReceiptResponse post_government_receipt_post(property_id=property_id, reservation_id=reservation_id, house_account_id=house_account_id, name=name, url=url, amount=amount, identifier=identifier, issue_date=issue_date) + +postGovernmentReceipt + +Add a Government Receipt to a Reservation or House Account + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_government_receipt_response import PostGovernmentReceiptResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.IntegrationApi(api_client) + property_id = 'property_id_example' # str | Property identifier to be updated (optional) + reservation_id = 'reservation_id_example' # str | Reservation identifier. It, or houseAccountID, is necessary. (optional) + house_account_id = 'house_account_id_example' # str | House Account identifier. It, or reservationID, is necessary. (optional) + name = 'name_example' # str | Name of the document. Will be used to describe document in MFD. (optional) + url = 'url_example' # str | URL for user to download document. (optional) + amount = 3.4 # float | Value of posted document (optional) + identifier = 'identifier_example' # str | Receipt Identifier of document. If not sent, a random identifier will be generated. (optional) + issue_date = '2013-10-20T19:20:30+01:00' # datetime | Datetime of document emission, if not sent, current datetime will be assumed. (optional) + + try: + # postGovernmentReceipt + api_response = api_instance.post_government_receipt_post(property_id=property_id, reservation_id=reservation_id, house_account_id=house_account_id, name=name, url=url, amount=amount, identifier=identifier, issue_date=issue_date) + print("The response of IntegrationApi->post_government_receipt_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling IntegrationApi->post_government_receipt_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property identifier to be updated | [optional] + **reservation_id** | **str**| Reservation identifier. It, or houseAccountID, is necessary. | [optional] + **house_account_id** | **str**| House Account identifier. It, or reservationID, is necessary. | [optional] + **name** | **str**| Name of the document. Will be used to describe document in MFD. | [optional] + **url** | **str**| URL for user to download document. | [optional] + **amount** | **float**| Value of posted document | [optional] + **identifier** | **str**| Receipt Identifier of document. If not sent, a random identifier will be generated. | [optional] + **issue_date** | **datetime**| Datetime of document emission, if not sent, current datetime will be assumed. | [optional] + +### Return type + +[**PostGovernmentReceiptResponse**](PostGovernmentReceiptResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_webhook_post** +> PostWebhookResponse post_webhook_post(property_id=property_id, object=object, action=action, endpoint_url=endpoint_url) + +postWebhook + +Subscribe a webhook for a specified event. Read the [Webhooks guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007612553-Webhooks) to see available objects, actions, payload info and more. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_webhook_response import PostWebhookResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.IntegrationApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + object = 'object_example' # str | Event object (optional) + action = 'action_example' # str | Event action (optional) + endpoint_url = 'endpoint_url_example' # str | Endpoint URL (optional) + + try: + # postWebhook + api_response = api_instance.post_webhook_post(property_id=property_id, object=object, action=action, endpoint_url=endpoint_url) + print("The response of IntegrationApi->post_webhook_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling IntegrationApi->post_webhook_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **object** | **str**| Event object | [optional] + **action** | **str**| Event action | [optional] + **endpoint_url** | **str**| Endpoint URL | [optional] + +### Return type + +[**PostWebhookResponse**](PostWebhookResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/ItemApi.md b/cloudbeds_pms_v1_3/docs/ItemApi.md new file mode 100644 index 0000000..3fd508c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/ItemApi.md @@ -0,0 +1,954 @@ +# cloudbeds_pms_v1_3.ItemApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**append_custom_item_post**](ItemApi.md#append_custom_item_post) | **POST** /appendCustomItem | appendCustomItem +[**get_item_categories_get**](ItemApi.md#get_item_categories_get) | **GET** /getItemCategories | getItemCategories +[**get_item_get**](ItemApi.md#get_item_get) | **GET** /getItem | getItem +[**get_items_get**](ItemApi.md#get_items_get) | **GET** /getItems | getItems +[**post_custom_item_post**](ItemApi.md#post_custom_item_post) | **POST** /postCustomItem | postCustomItem +[**post_item_category_post**](ItemApi.md#post_item_category_post) | **POST** /postItemCategory | postItemCategory +[**post_item_post**](ItemApi.md#post_item_post) | **POST** /postItem | postItem +[**post_items_to_inventory_post**](ItemApi.md#post_items_to_inventory_post) | **POST** /postItemsToInventory | postItemsToInventory +[**post_void_item_post**](ItemApi.md#post_void_item_post) | **POST** /postVoidItem | postVoidItem +[**put_item_to_inventory_put**](ItemApi.md#put_item_to_inventory_put) | **PUT** /putItemToInventory | putItemToInventory + + +# **append_custom_item_post** +> PostAppendCustomItemResponse append_custom_item_post(property_id=property_id, reservation_id=reservation_id, reference_id=reference_id, sub_reservation_id=sub_reservation_id, room_id=room_id, items=items, sale_date=sale_date, guest_id=guest_id, guest_name=guest_name, payments=payments, item_paid=item_paid) + +appendCustomItem + +Append single, or multiple, custom items and their associated payments to a existing one in a Reservation. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_append_custom_item_response import PostAppendCustomItemResponse +from cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner import PostCustomItemRequestItemsInner +from cloudbeds_pms_v1_3.models.post_custom_item_request_payments_inner import PostCustomItemRequestPaymentsInner +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ItemApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + reservation_id = 'reservation_id_example' # str | Reservation identifier. Required if no houseAccountID is provided. (optional) + reference_id = 'reference_id_example' # str | partner's transaction reference. If exist then Cloudbeds will prevent adding of duplicates (optional) + sub_reservation_id = 'sub_reservation_id_example' # str | Sub Reservation identifier (optional) + room_id = 'room_id_example' # str | Room identifier (Ignored if subReservationID exist) (optional) + items = [cloudbeds_pms_v1_3.PostCustomItemRequestItemsInner()] # List[PostCustomItemRequestItemsInner] | list of items will be posted (optional) + sale_date = '2013-10-20T19:20:30+01:00' # datetime | posting date (optional) + guest_id = 'guest_id_example' # str | Guest identifier (optional) + guest_name = 'guest_name_example' # str | (Ignored if guestID exist) (optional) + payments = [cloudbeds_pms_v1_3.PostCustomItemRequestPaymentsInner()] # List[PostCustomItemRequestPaymentsInner] | list of payments If the item is already paid (optional) + item_paid = False # bool | If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. (Ignored if payments array exist) (optional) (default to False) + + try: + # appendCustomItem + api_response = api_instance.append_custom_item_post(property_id=property_id, reservation_id=reservation_id, reference_id=reference_id, sub_reservation_id=sub_reservation_id, room_id=room_id, items=items, sale_date=sale_date, guest_id=guest_id, guest_name=guest_name, payments=payments, item_paid=item_paid) + print("The response of ItemApi->append_custom_item_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ItemApi->append_custom_item_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **reservation_id** | **str**| Reservation identifier. Required if no houseAccountID is provided. | [optional] + **reference_id** | **str**| partner's transaction reference. If exist then Cloudbeds will prevent adding of duplicates | [optional] + **sub_reservation_id** | **str**| Sub Reservation identifier | [optional] + **room_id** | **str**| Room identifier (Ignored if subReservationID exist) | [optional] + **items** | [**List[PostCustomItemRequestItemsInner]**](PostCustomItemRequestItemsInner.md)| list of items will be posted | [optional] + **sale_date** | **datetime**| posting date | [optional] + **guest_id** | **str**| Guest identifier | [optional] + **guest_name** | **str**| (Ignored if guestID exist) | [optional] + **payments** | [**List[PostCustomItemRequestPaymentsInner]**](PostCustomItemRequestPaymentsInner.md)| list of payments If the item is already paid | [optional] + **item_paid** | **bool**| If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. (Ignored if payments array exist) | [optional] [default to False] + +### Return type + +[**PostAppendCustomItemResponse**](PostAppendCustomItemResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_item_categories_get** +> GetItemCategoriesResponse get_item_categories_get(property_id=property_id) + +getItemCategories + +Gets the item category list + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_item_categories_response import GetItemCategoriesResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ItemApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # getItemCategories + api_response = api_instance.get_item_categories_get(property_id=property_id) + print("The response of ItemApi->get_item_categories_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ItemApi->get_item_categories_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**GetItemCategoriesResponse**](GetItemCategoriesResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_item_get** +> GetItemResponse get_item_get(item_id, property_id=property_id) + +getItem + +Gets the details for the one itemID
1 only if data.stockInventory = true
2 Taxes, fees and totals will show up only if an item has assigned tax or fee.
+ +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_item_response import GetItemResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ItemApi(api_client) + item_id = 'item_id_example' # str | Item identifier + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # getItem + api_response = api_instance.get_item_get(item_id, property_id=property_id) + print("The response of ItemApi->get_item_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ItemApi->get_item_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **item_id** | **str**| Item identifier | + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**GetItemResponse**](GetItemResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_items_get** +> GetItemsResponse get_items_get(property_id=property_id, item_category_id=item_category_id) + +getItems + +Gets all the items and their prices the hotel has created in myfrontdesk
1 only if data.stockInventory = true
2 Taxes, fees and totals will show up only if an item has assigned tax or fee.
+ +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_items_response import GetItemsResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ItemApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + item_category_id = 'item_category_id_example' # str | Category identifier (optional) + + try: + # getItems + api_response = api_instance.get_items_get(property_id=property_id, item_category_id=item_category_id) + print("The response of ItemApi->get_items_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ItemApi->get_items_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **item_category_id** | **str**| Category identifier | [optional] + +### Return type + +[**GetItemsResponse**](GetItemsResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_custom_item_post** +> PostCustomItemResponse post_custom_item_post(property_id=property_id, reservation_id=reservation_id, house_account_id=house_account_id, group_code=group_code, reference_id=reference_id, sub_reservation_id=sub_reservation_id, room_id=room_id, items=items, sale_date=sale_date, guest_id=guest_id, guest_name=guest_name, payments=payments, item_paid=item_paid) + +postCustomItem + +Adds single, or multiple, custom items and their associated payments to a Reservation or House Account as a single transaction. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner import PostCustomItemRequestItemsInner +from cloudbeds_pms_v1_3.models.post_custom_item_request_payments_inner import PostCustomItemRequestPaymentsInner +from cloudbeds_pms_v1_3.models.post_custom_item_response import PostCustomItemResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ItemApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + reservation_id = 'reservation_id_example' # str | Reservation identifier. Required if no houseAccountID or groupCode is provided. (optional) + house_account_id = 'house_account_id_example' # str | House account identifier. Required if no reservationID or groupCode is provided. (optional) + group_code = 'group_code_example' # str | Group identifier. Required if no reservationID or houseAccountID is provided. (optional) + reference_id = 'reference_id_example' # str | partner's transaction reference. If exist then Cloudbeds will prevent adding of duplicates (optional) + sub_reservation_id = 'sub_reservation_id_example' # str | Sub Reservation identifier (optional) + room_id = 'room_id_example' # str | Room identifier (Ignored if subReservationID exist) (optional) + items = [cloudbeds_pms_v1_3.PostCustomItemRequestItemsInner()] # List[PostCustomItemRequestItemsInner] | list of items will be posted (optional) + sale_date = '2013-10-20T19:20:30+01:00' # datetime | posting date (optional) + guest_id = 'guest_id_example' # str | Guest identifier (optional) + guest_name = 'guest_name_example' # str | (Ignored if guestID exist) (optional) + payments = [cloudbeds_pms_v1_3.PostCustomItemRequestPaymentsInner()] # List[PostCustomItemRequestPaymentsInner] | list of payments If the item is already paid (optional) + item_paid = False # bool | If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. (Ignored if payments array exist) (optional) (default to False) + + try: + # postCustomItem + api_response = api_instance.post_custom_item_post(property_id=property_id, reservation_id=reservation_id, house_account_id=house_account_id, group_code=group_code, reference_id=reference_id, sub_reservation_id=sub_reservation_id, room_id=room_id, items=items, sale_date=sale_date, guest_id=guest_id, guest_name=guest_name, payments=payments, item_paid=item_paid) + print("The response of ItemApi->post_custom_item_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ItemApi->post_custom_item_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **reservation_id** | **str**| Reservation identifier. Required if no houseAccountID or groupCode is provided. | [optional] + **house_account_id** | **str**| House account identifier. Required if no reservationID or groupCode is provided. | [optional] + **group_code** | **str**| Group identifier. Required if no reservationID or houseAccountID is provided. | [optional] + **reference_id** | **str**| partner's transaction reference. If exist then Cloudbeds will prevent adding of duplicates | [optional] + **sub_reservation_id** | **str**| Sub Reservation identifier | [optional] + **room_id** | **str**| Room identifier (Ignored if subReservationID exist) | [optional] + **items** | [**List[PostCustomItemRequestItemsInner]**](PostCustomItemRequestItemsInner.md)| list of items will be posted | [optional] + **sale_date** | **datetime**| posting date | [optional] + **guest_id** | **str**| Guest identifier | [optional] + **guest_name** | **str**| (Ignored if guestID exist) | [optional] + **payments** | [**List[PostCustomItemRequestPaymentsInner]**](PostCustomItemRequestPaymentsInner.md)| list of payments If the item is already paid | [optional] + **item_paid** | **bool**| If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. (Ignored if payments array exist) | [optional] [default to False] + +### Return type + +[**PostCustomItemResponse**](PostCustomItemResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_item_category_post** +> PostItemCategoryResponse post_item_category_post(property_id=property_id, category_name=category_name, category_code=category_code, item_id=item_id, category_color=category_color) + +postItemCategory + +Adds new items category + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_item_category_response import PostItemCategoryResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ItemApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + category_name = 'category_name_example' # str | Category name (optional) + category_code = 'category_code_example' # str | Category code (optional) + item_id = [56] # List[int] | Existing ItemIDs to reassign to new category (optional) + category_color = '#ccc' # str | Category color (like #3b7be7) (optional) (default to '#ccc') + + try: + # postItemCategory + api_response = api_instance.post_item_category_post(property_id=property_id, category_name=category_name, category_code=category_code, item_id=item_id, category_color=category_color) + print("The response of ItemApi->post_item_category_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ItemApi->post_item_category_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **category_name** | **str**| Category name | [optional] + **category_code** | **str**| Category code | [optional] + **item_id** | [**List[int]**](int.md)| Existing ItemIDs to reassign to new category | [optional] + **category_color** | **str**| Category color (like #3b7be7) | [optional] [default to '#ccc'] + +### Return type + +[**PostItemCategoryResponse**](PostItemCategoryResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_item_post** +> PostItemResponse post_item_post(property_id=property_id, reservation_id=reservation_id, house_account_id=house_account_id, group_code=group_code, sub_reservation_id=sub_reservation_id, item_id=item_id, item_quantity=item_quantity, item_price=item_price, item_note=item_note, item_paid=item_paid, sale_date=sale_date, payments=payments) + +postItem + +Adds an item either to a reservation or to a house account. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_item_request_payments_inner import PostItemRequestPaymentsInner +from cloudbeds_pms_v1_3.models.post_item_response import PostItemResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ItemApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + reservation_id = 'reservation_id_example' # str | Reservation identifier. Required if no houseAccountID or groupCode is provided. (optional) + house_account_id = 'house_account_id_example' # str | House account identifier. Required if no reservationID or groupCode is provided. (optional) + group_code = 'group_code_example' # str | Group identifier. Required if no reservationID or houseAccountID is provided. (optional) + sub_reservation_id = 'sub_reservation_id_example' # str | Sub Reservation identifier. (optional) + item_id = 'item_id_example' # str | Item identifier (optional) + item_quantity = 56 # int | Items quantity (optional) + item_price = 'item_price_example' # str | Item price, if not sent, items registered price will be used (optional) + item_note = 'item_note_example' # str | Item note (optional) + item_paid = False # bool | If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. If payments is set, itemPaid is ignored. (optional) (default to False) + sale_date = '2013-10-20T19:20:30+01:00' # datetime | posting date (optional) + payments = [cloudbeds_pms_v1_3.PostItemRequestPaymentsInner()] # List[PostItemRequestPaymentsInner] | list of payments If the item is already paid (optional) + + try: + # postItem + api_response = api_instance.post_item_post(property_id=property_id, reservation_id=reservation_id, house_account_id=house_account_id, group_code=group_code, sub_reservation_id=sub_reservation_id, item_id=item_id, item_quantity=item_quantity, item_price=item_price, item_note=item_note, item_paid=item_paid, sale_date=sale_date, payments=payments) + print("The response of ItemApi->post_item_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ItemApi->post_item_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **reservation_id** | **str**| Reservation identifier. Required if no houseAccountID or groupCode is provided. | [optional] + **house_account_id** | **str**| House account identifier. Required if no reservationID or groupCode is provided. | [optional] + **group_code** | **str**| Group identifier. Required if no reservationID or houseAccountID is provided. | [optional] + **sub_reservation_id** | **str**| Sub Reservation identifier. | [optional] + **item_id** | **str**| Item identifier | [optional] + **item_quantity** | **int**| Items quantity | [optional] + **item_price** | **str**| Item price, if not sent, items registered price will be used | [optional] + **item_note** | **str**| Item note | [optional] + **item_paid** | **bool**| If the item is already paid. Note: If set to true, a payment in cash will be registered for the total value of the item, taxes and fees. If this is not the expected behavior, set to false, and register the operation manually. If payments is set, itemPaid is ignored. | [optional] [default to False] + **sale_date** | **datetime**| posting date | [optional] + **payments** | [**List[PostItemRequestPaymentsInner]**](PostItemRequestPaymentsInner.md)| list of payments If the item is already paid | [optional] + +### Return type + +[**PostItemResponse**](PostItemResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_items_to_inventory_post** +> PostItemsToInventoryResponse post_items_to_inventory_post(item=item) + +postItemsToInventory + +Adds new items batch
¹ only if item.stockInventory = true
+ +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_items_to_inventory_request_item import PostItemsToInventoryRequestItem +from cloudbeds_pms_v1_3.models.post_items_to_inventory_response import PostItemsToInventoryResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ItemApi(api_client) + item = cloudbeds_pms_v1_3.PostItemsToInventoryRequestItem() # PostItemsToInventoryRequestItem | (optional) + + try: + # postItemsToInventory + api_response = api_instance.post_items_to_inventory_post(item=item) + print("The response of ItemApi->post_items_to_inventory_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ItemApi->post_items_to_inventory_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **item** | [**PostItemsToInventoryRequestItem**](PostItemsToInventoryRequestItem.md)| | [optional] + +### Return type + +[**PostItemsToInventoryResponse**](PostItemsToInventoryResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_void_item_post** +> PostVoidItemResponse post_void_item_post(property_id=property_id, reservation_id=reservation_id, house_account_id=house_account_id, group_code=group_code, sold_product_id=sold_product_id) + +postVoidItem + +Voids the itemID transaction on the specified Reservation ID, House Account ID, or Group. If payments were sent in calls [postItem](https://developers.cloudbeds.com/reference/post_postitem) or [postCustomItem](https://developers.cloudbeds.com/reference/post_postcustomitem), they will be deleted too. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_void_item_response import PostVoidItemResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ItemApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + reservation_id = 'reservation_id_example' # str | Reservation identifier. Required if no houseAccountID or groupCode is provided. (optional) + house_account_id = 'house_account_id_example' # str | House Account identifier. Required if no reservationID or groupCode is provided. (optional) + group_code = 'group_code_example' # str | Group identifier. Required if no reservationID or houseAccountID is provided. (optional) + sold_product_id = 'sold_product_id_example' # str | Item identifier (optional) + + try: + # postVoidItem + api_response = api_instance.post_void_item_post(property_id=property_id, reservation_id=reservation_id, house_account_id=house_account_id, group_code=group_code, sold_product_id=sold_product_id) + print("The response of ItemApi->post_void_item_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ItemApi->post_void_item_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **reservation_id** | **str**| Reservation identifier. Required if no houseAccountID or groupCode is provided. | [optional] + **house_account_id** | **str**| House Account identifier. Required if no reservationID or groupCode is provided. | [optional] + **group_code** | **str**| Group identifier. Required if no reservationID or houseAccountID is provided. | [optional] + **sold_product_id** | **str**| Item identifier | [optional] + +### Return type + +[**PostVoidItemResponse**](PostVoidItemResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **put_item_to_inventory_put** +> PutItemToInventoryResponse put_item_to_inventory_put(property_id=property_id, item_id=item_id, item_name=item_name, item_type=item_type, item_sku=item_sku, item_code=item_code, item_description=item_description, item_price=item_price, stock_inventory=stock_inventory, item_quantity=item_quantity, reorder_threshold=reorder_threshold, stop_sell_met=stop_sell_met, stop_sell=stop_sell) + +putItemToInventory + +Updates an item with information provided
¹ only if item.stockInventory = true
+ +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.put_item_to_inventory_response import PutItemToInventoryResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ItemApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + item_id = 'item_id_example' # str | Item identifier (optional) + item_name = 'item_name_example' # str | Item name (optional) + item_type = 'item_type_example' # str | Item type (optional) + item_sku = 'item_sku_example' # str | Item SKU. Will be generated if not set (optional) + item_code = 'item_code_example' # str | Item code (optional) + item_description = 'item_description_example' # str | Item description (optional) + item_price = 3.4 # float | Item price (optional) + stock_inventory = True # bool | Track stock inventory for this item (optional) + item_quantity = 56 # int | ¹ Current amount of item available (optional) + reorder_threshold = 56 # int | ¹ Quantity at which to reorder item (optional) + stop_sell_met = True # bool | ¹ true - Whether item is at or below value set for stop-sell threshold. (optional) + stop_sell = 56 # int | ¹ Quantity at which to stop selling product. (optional) + + try: + # putItemToInventory + api_response = api_instance.put_item_to_inventory_put(property_id=property_id, item_id=item_id, item_name=item_name, item_type=item_type, item_sku=item_sku, item_code=item_code, item_description=item_description, item_price=item_price, stock_inventory=stock_inventory, item_quantity=item_quantity, reorder_threshold=reorder_threshold, stop_sell_met=stop_sell_met, stop_sell=stop_sell) + print("The response of ItemApi->put_item_to_inventory_put:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ItemApi->put_item_to_inventory_put: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **item_id** | **str**| Item identifier | [optional] + **item_name** | **str**| Item name | [optional] + **item_type** | **str**| Item type | [optional] + **item_sku** | **str**| Item SKU. Will be generated if not set | [optional] + **item_code** | **str**| Item code | [optional] + **item_description** | **str**| Item description | [optional] + **item_price** | **float**| Item price | [optional] + **stock_inventory** | **bool**| Track stock inventory for this item | [optional] + **item_quantity** | **int**| ¹ Current amount of item available | [optional] + **reorder_threshold** | **int**| ¹ Quantity at which to reorder item | [optional] + **stop_sell_met** | **bool**| ¹ true - Whether item is at or below value set for stop-sell threshold. | [optional] + **stop_sell** | **int**| ¹ Quantity at which to stop selling product. | [optional] + +### Return type + +[**PutItemToInventoryResponse**](PutItemToInventoryResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/PackageApi.md b/cloudbeds_pms_v1_3/docs/PackageApi.md new file mode 100644 index 0000000..9e19706 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PackageApi.md @@ -0,0 +1,174 @@ +# cloudbeds_pms_v1_3.PackageApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_package_names_get**](PackageApi.md#get_package_names_get) | **GET** /getPackageNames | getPackageNames +[**get_packages_get**](PackageApi.md#get_packages_get) | **GET** /getPackages | getPackages + + +# **get_package_names_get** +> GetPackagesResponse get_package_names_get(property_id=property_id) + +getPackageNames + +Return a list of billing package names for a property + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_packages_response import GetPackagesResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.PackageApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # getPackageNames + api_response = api_instance.get_package_names_get(property_id=property_id) + print("The response of PackageApi->get_package_names_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PackageApi->get_package_names_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**GetPackagesResponse**](GetPackagesResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_packages_get** +> GetPackagesResponse get_packages_get(property_id=property_id) + +getPackages + +This efficient method allows you to retrieve the collection of packages associated with a property. Packages here define a group of features that a property has the ability to utilize or access. By invoking this API method, developers will get a comprehensive view of the feature sets that are available and active for a specific property. The getPackages method boasts a seamless execution that offers essential information, vital in enhancing property management, understanding available functionalities and ultimately, optimizing user experience. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_packages_response import GetPackagesResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.PackageApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # getPackages + api_response = api_instance.get_packages_get(property_id=property_id) + print("The response of PackageApi->get_packages_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PackageApi->get_packages_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**GetPackagesResponse**](GetPackagesResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/PaymentApi.md b/cloudbeds_pms_v1_3/docs/PaymentApi.md new file mode 100644 index 0000000..1561968 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PaymentApi.md @@ -0,0 +1,649 @@ +# cloudbeds_pms_v1_3.PaymentApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_payment_methods_get**](PaymentApi.md#get_payment_methods_get) | **GET** /getPaymentMethods | getPaymentMethods +[**get_payments_capabilities_get**](PaymentApi.md#get_payments_capabilities_get) | **GET** /getPaymentsCapabilities | getPaymentsCapabilities +[**post_charge_post**](PaymentApi.md#post_charge_post) | **POST** /postCharge | postCharge +[**post_credit_card_post**](PaymentApi.md#post_credit_card_post) | **POST** /postCreditCard | postCreditCard +[**post_custom_payment_method_post**](PaymentApi.md#post_custom_payment_method_post) | **POST** /postCustomPaymentMethod | postCustomPaymentMethod +[**post_payment_post**](PaymentApi.md#post_payment_post) | **POST** /postPayment | postPayment +[**post_void_payment_post**](PaymentApi.md#post_void_payment_post) | **POST** /postVoidPayment | postVoidPayment + + +# **get_payment_methods_get** +> GetPaymentMethodsResponse get_payment_methods_get(property_id=property_id, lang=lang) + +getPaymentMethods + +Get a list of active methods for a property, or list of properties + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_payment_methods_response import GetPaymentMethodsResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.PaymentApi(api_client) + property_id = 'property_id_example' # str | ID for the property to be queried (optional) + lang = en # str | Language that payment methods name should return (if available). (optional) (default to en) + + try: + # getPaymentMethods + api_response = api_instance.get_payment_methods_get(property_id=property_id, lang=lang) + print("The response of PaymentApi->get_payment_methods_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PaymentApi->get_payment_methods_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| ID for the property to be queried | [optional] + **lang** | **str**| Language that payment methods name should return (if available). | [optional] [default to en] + +### Return type + +[**GetPaymentMethodsResponse**](GetPaymentMethodsResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_payments_capabilities_get** +> GetPaymentsCapabilitiesResponse get_payments_capabilities_get(property_id=property_id) + +getPaymentsCapabilities + +Lists the payment capabilities of a given property + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_payments_capabilities_response import GetPaymentsCapabilitiesResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.PaymentApi(api_client) + property_id = 'property_id_example' # str | ID for the property to be queried (optional) + + try: + # getPaymentsCapabilities + api_response = api_instance.get_payments_capabilities_get(property_id=property_id) + print("The response of PaymentApi->get_payments_capabilities_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PaymentApi->get_payments_capabilities_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| ID for the property to be queried | [optional] + +### Return type + +[**GetPaymentsCapabilitiesResponse**](GetPaymentsCapabilitiesResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_charge_post** +> PostChargeResponse post_charge_post(property_id=property_id, reservation_id=reservation_id, house_account_id=house_account_id, group_id=group_id, accounts_receivable_ledger_id=accounts_receivable_ledger_id, amount=amount, currency=currency, description=description, card_token=card_token, payment_method_id=payment_method_id, is_deposit=is_deposit, redirect_url=redirect_url) + +postCharge + +Use a payment method to process a payment on a reservation, group profile, accounts receivable ledger, or house account. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_charge_response import PostChargeResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.PaymentApi(api_client) + property_id = 'property_id_example' # str | (optional) + reservation_id = 'reservation_id_example' # str | Reservation ID (optional) + house_account_id = 'house_account_id_example' # str | House Account ID (optional) + group_id = 'group_id_example' # str | Group ID (optional) + accounts_receivable_ledger_id = 'accounts_receivable_ledger_id_example' # str | Accounts Receivable Ledger ID (optional) + amount = 'amount_example' # str | Amount to charge (optional) + currency = 'currency_example' # str | Currency to charge (optional) + description = 'description_example' # str | Description of the payment to display on folio (optional) + card_token = 'card_token_example' # str | cardToken provided by Cloudbeds vault (optional) + payment_method_id = 'payment_method_id_example' # str | Payment method UUID (optional) + is_deposit = True # bool | determine if this payment is a deposit (default: false) (optional) + redirect_url = 'redirect_url_example' # str | client will be redirected to this page after he completed 3ds challenge. User will be redirected with HTTP get redirect and parameter **result** will be added to query string with possible values: - **failed** if 3ds challenge is not passed - **successful** if 3ds challenge is passed If not provided for card with 3ds the request will be rejected (optional) + + try: + # postCharge + api_response = api_instance.post_charge_post(property_id=property_id, reservation_id=reservation_id, house_account_id=house_account_id, group_id=group_id, accounts_receivable_ledger_id=accounts_receivable_ledger_id, amount=amount, currency=currency, description=description, card_token=card_token, payment_method_id=payment_method_id, is_deposit=is_deposit, redirect_url=redirect_url) + print("The response of PaymentApi->post_charge_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PaymentApi->post_charge_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| | [optional] + **reservation_id** | **str**| Reservation ID | [optional] + **house_account_id** | **str**| House Account ID | [optional] + **group_id** | **str**| Group ID | [optional] + **accounts_receivable_ledger_id** | **str**| Accounts Receivable Ledger ID | [optional] + **amount** | **str**| Amount to charge | [optional] + **currency** | **str**| Currency to charge | [optional] + **description** | **str**| Description of the payment to display on folio | [optional] + **card_token** | **str**| cardToken provided by Cloudbeds vault | [optional] + **payment_method_id** | **str**| Payment method UUID | [optional] + **is_deposit** | **bool**| determine if this payment is a deposit (default: false) | [optional] + **redirect_url** | **str**| client will be redirected to this page after he completed 3ds challenge. User will be redirected with HTTP get redirect and parameter **result** will be added to query string with possible values: - **failed** if 3ds challenge is not passed - **successful** if 3ds challenge is passed If not provided for card with 3ds the request will be rejected | [optional] + +### Return type + +[**PostChargeResponse**](PostChargeResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_credit_card_post** +> PostCardResponse post_credit_card_post(property_id=property_id, reservation_id=reservation_id, card_token=card_token, payment_method_id=payment_method_id, return_url=return_url) + +postCreditCard + +Returns the rate of the room type selected, based on the provided parameters + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_card_response import PostCardResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.PaymentApi(api_client) + property_id = 'property_id_example' # str | (optional) + reservation_id = 'reservation_id_example' # str | (optional) + card_token = 'card_token_example' # str | cardToken provided by Stripe JS, not recommended, not required if paymentMethodId is provided (optional) + payment_method_id = 'payment_method_id_example' # str | Payment Method ID provided by the payments SDK (optional) + return_url = 'return_url_example' # str | client will be redirected to this page after he completed 3ds challenge. User will be redirected with HTTP get redirect and parameter **result** will be added to query string with possible values: - **failed** if 3ds challenge is not passed - **successful** if 3ds challenge is passed If not provided for card with 3ds the request will be rejected (optional) + + try: + # postCreditCard + api_response = api_instance.post_credit_card_post(property_id=property_id, reservation_id=reservation_id, card_token=card_token, payment_method_id=payment_method_id, return_url=return_url) + print("The response of PaymentApi->post_credit_card_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PaymentApi->post_credit_card_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| | [optional] + **reservation_id** | **str**| | [optional] + **card_token** | **str**| cardToken provided by Stripe JS, not recommended, not required if paymentMethodId is provided | [optional] + **payment_method_id** | **str**| Payment Method ID provided by the payments SDK | [optional] + **return_url** | **str**| client will be redirected to this page after he completed 3ds challenge. User will be redirected with HTTP get redirect and parameter **result** will be added to query string with possible values: - **failed** if 3ds challenge is not passed - **successful** if 3ds challenge is passed If not provided for card with 3ds the request will be rejected | [optional] + +### Return type + +[**PostCardResponse**](PostCardResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_custom_payment_method_post** +> PostCustomPaymentMethodResponse post_custom_payment_method_post(property_id=property_id, method=method, method_name=method_name) + +postCustomPaymentMethod + +Add a Custom Payment Method to a property. This call does not allow to add Payment Methods: credit cards, bank transfer or Pay Pal. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_custom_payment_method_response import PostCustomPaymentMethodResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.PaymentApi(api_client) + property_id = 'property_id_example' # str | Property ID, if not sent will retrieve property ID from credentials, only one property ID call. (optional) + method = 'method_example' # str | Payment Method, value used in future calls. Must be unique for each property and no whitespaces are allowed (use camel case or underline instead). Will be verified against existing Payment Methods, if it exists, will try to enable it. (optional) + method_name = 'method_name_example' # str | Payment Method Name, value used to represent the Payment Method. Can use spaces. If nothing is sent, will use value for method. (optional) + + try: + # postCustomPaymentMethod + api_response = api_instance.post_custom_payment_method_post(property_id=property_id, method=method, method_name=method_name) + print("The response of PaymentApi->post_custom_payment_method_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PaymentApi->post_custom_payment_method_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID, if not sent will retrieve property ID from credentials, only one property ID call. | [optional] + **method** | **str**| Payment Method, value used in future calls. Must be unique for each property and no whitespaces are allowed (use camel case or underline instead). Will be verified against existing Payment Methods, if it exists, will try to enable it. | [optional] + **method_name** | **str**| Payment Method Name, value used to represent the Payment Method. Can use spaces. If nothing is sent, will use value for method. | [optional] + +### Return type + +[**PostCustomPaymentMethodResponse**](PostCustomPaymentMethodResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_payment_post** +> PostPaymentResponse post_payment_post(property_id=property_id, reservation_id=reservation_id, house_account_id=house_account_id, group_code=group_code, sub_reservation_id=sub_reservation_id, type=type, amount=amount, card_type=card_type, description=description, is_deposit=is_deposit) + +postPayment + +Add a payment to a specified reservation, house account, or group. If multiple IDs are provided, precedence is reservationID, then houseAccountID, then groupCode. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_payment_response import PostPaymentResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.PaymentApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + reservation_id = 'reservation_id_example' # str | Reservation identifier (optional) + house_account_id = 'house_account_id_example' # str | House Account identifier is necessary if reservationID not sent (optional) + group_code = 'group_code_example' # str | Group Code. Required if neither reservationID nor houseAccountID is sent (optional) + sub_reservation_id = 'sub_reservation_id_example' # str | The Sub Reservation identifier. reservationID is still mandatory if subReservationID is sent. (optional) + type = 'type_example' # str | Payment type. Use the call [getPaymentMethods](#api-Payment-getPaymentMethods) to get the properties enabled payment methods. (optional) + amount = 3.4 # float | Amount paid on this transaction (optional) + card_type = 'card_type_example' # str | If type = credit, cardType is necessary. Allowed values are property based, but possible strings are: \\\"visa\\\",\\\"master\\\",\\\"amex\\\",\\\"aura\\\",\\\"diners\\\",\\\"hiper\\\",\\\"elo\\\",\\\"Discover\\\",\\\"jcb\\\",\\\"maestro\\\",\\\"dan\\\",\\\"PostCard\\\",\\\"Eurocard\\\",\\\"union_pay\\\" (optional) + description = 'description_example' # str | Note to be added to payment (optional) + is_deposit = True # bool | determine if this payment is a deposit (default: false) (optional) + + try: + # postPayment + api_response = api_instance.post_payment_post(property_id=property_id, reservation_id=reservation_id, house_account_id=house_account_id, group_code=group_code, sub_reservation_id=sub_reservation_id, type=type, amount=amount, card_type=card_type, description=description, is_deposit=is_deposit) + print("The response of PaymentApi->post_payment_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PaymentApi->post_payment_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **reservation_id** | **str**| Reservation identifier | [optional] + **house_account_id** | **str**| House Account identifier is necessary if reservationID not sent | [optional] + **group_code** | **str**| Group Code. Required if neither reservationID nor houseAccountID is sent | [optional] + **sub_reservation_id** | **str**| The Sub Reservation identifier. reservationID is still mandatory if subReservationID is sent. | [optional] + **type** | **str**| Payment type. Use the call [getPaymentMethods](#api-Payment-getPaymentMethods) to get the properties enabled payment methods. | [optional] + **amount** | **float**| Amount paid on this transaction | [optional] + **card_type** | **str**| If type = credit, cardType is necessary. Allowed values are property based, but possible strings are: \\\"visa\\\",\\\"master\\\",\\\"amex\\\",\\\"aura\\\",\\\"diners\\\",\\\"hiper\\\",\\\"elo\\\",\\\"Discover\\\",\\\"jcb\\\",\\\"maestro\\\",\\\"dan\\\",\\\"PostCard\\\",\\\"Eurocard\\\",\\\"union_pay\\\" | [optional] + **description** | **str**| Note to be added to payment | [optional] + **is_deposit** | **bool**| determine if this payment is a deposit (default: false) | [optional] + +### Return type + +[**PostPaymentResponse**](PostPaymentResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_void_payment_post** +> PostVoidPaymentResponse post_void_payment_post(property_id=property_id, reservation_id=reservation_id, house_account_id=house_account_id, payment_id=payment_id) + +postVoidPayment + +Voids a payment (using paymentID) to a specified reservation or house account. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_void_payment_response import PostVoidPaymentResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.PaymentApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + reservation_id = 'reservation_id_example' # str | Reservation identifier (optional) + house_account_id = 'house_account_id_example' # str | House Account identifier is necessary if reservationID not sent (optional) + payment_id = 'payment_id_example' # str | paymentID of transaction that should be voided. (optional) + + try: + # postVoidPayment + api_response = api_instance.post_void_payment_post(property_id=property_id, reservation_id=reservation_id, house_account_id=house_account_id, payment_id=payment_id) + print("The response of PaymentApi->post_void_payment_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PaymentApi->post_void_payment_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **reservation_id** | **str**| Reservation identifier | [optional] + **house_account_id** | **str**| House Account identifier is necessary if reservationID not sent | [optional] + **payment_id** | **str**| paymentID of transaction that should be voided. | [optional] + +### Return type + +[**PostVoidPaymentResponse**](PostVoidPaymentResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/PostAccessTokenResponse.md b/cloudbeds_pms_v1_3/docs/PostAccessTokenResponse.md new file mode 100644 index 0000000..39bde77 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostAccessTokenResponse.md @@ -0,0 +1,33 @@ +# PostAccessTokenResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**access_token** | **str** | Authenticated access token. | [optional] +**token_type** | **str** | The type of the access token authenticated. | [optional] +**expires_in** | **int** | The expiration time of the access token in seconds. | [optional] +**refresh_token** | **str** | A token to refresh your access token without performing the full auth flow. | [optional] +**resources** | [**List[PostAccessTokenResponseResourcesInner]**](PostAccessTokenResponseResourcesInner.md) | List of resources associated with the token during consent | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_access_token_response import PostAccessTokenResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostAccessTokenResponse from a JSON string +post_access_token_response_instance = PostAccessTokenResponse.from_json(json) +# print the JSON string representation of the object +print(PostAccessTokenResponse.to_json()) + +# convert the object into a dict +post_access_token_response_dict = post_access_token_response_instance.to_dict() +# create an instance of PostAccessTokenResponse from a dict +post_access_token_response_from_dict = PostAccessTokenResponse.from_dict(post_access_token_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostAccessTokenResponseResourcesInner.md b/cloudbeds_pms_v1_3/docs/PostAccessTokenResponseResourcesInner.md new file mode 100644 index 0000000..b24f00e --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostAccessTokenResponseResourcesInner.md @@ -0,0 +1,30 @@ +# PostAccessTokenResponseResourcesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | A type of associated resource | [optional] +**id** | **str** | Unique ID of associated resource | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_access_token_response_resources_inner import PostAccessTokenResponseResourcesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostAccessTokenResponseResourcesInner from a JSON string +post_access_token_response_resources_inner_instance = PostAccessTokenResponseResourcesInner.from_json(json) +# print the JSON string representation of the object +print(PostAccessTokenResponseResourcesInner.to_json()) + +# convert the object into a dict +post_access_token_response_resources_inner_dict = post_access_token_response_resources_inner_instance.to_dict() +# create an instance of PostAccessTokenResponseResourcesInner from a dict +post_access_token_response_resources_inner_from_dict = PostAccessTokenResponseResourcesInner.from_dict(post_access_token_response_resources_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostAdjustmentResponse.md b/cloudbeds_pms_v1_3/docs/PostAdjustmentResponse.md new file mode 100644 index 0000000..e7e7950 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostAdjustmentResponse.md @@ -0,0 +1,31 @@ +# PostAdjustmentResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**PostAdjustmentResponseData**](PostAdjustmentResponseData.md) | | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_adjustment_response import PostAdjustmentResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostAdjustmentResponse from a JSON string +post_adjustment_response_instance = PostAdjustmentResponse.from_json(json) +# print the JSON string representation of the object +print(PostAdjustmentResponse.to_json()) + +# convert the object into a dict +post_adjustment_response_dict = post_adjustment_response_instance.to_dict() +# create an instance of PostAdjustmentResponse from a dict +post_adjustment_response_from_dict = PostAdjustmentResponse.from_dict(post_adjustment_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostAdjustmentResponseData.md b/cloudbeds_pms_v1_3/docs/PostAdjustmentResponseData.md new file mode 100644 index 0000000..ed5d3b2 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostAdjustmentResponseData.md @@ -0,0 +1,30 @@ +# PostAdjustmentResponseData + +post Adjustment details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**adjustment_id** | **str** | Adjustment transaction identifier | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_adjustment_response_data import PostAdjustmentResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of PostAdjustmentResponseData from a JSON string +post_adjustment_response_data_instance = PostAdjustmentResponseData.from_json(json) +# print the JSON string representation of the object +print(PostAdjustmentResponseData.to_json()) + +# convert the object into a dict +post_adjustment_response_data_dict = post_adjustment_response_data_instance.to_dict() +# create an instance of PostAdjustmentResponseData from a dict +post_adjustment_response_data_from_dict = PostAdjustmentResponseData.from_dict(post_adjustment_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostAppErrorResponse.md b/cloudbeds_pms_v1_3/docs/PostAppErrorResponse.md new file mode 100644 index 0000000..30e4002 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostAppErrorResponse.md @@ -0,0 +1,30 @@ +# PostAppErrorResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**PostAppErrorResponseData**](PostAppErrorResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_app_error_response import PostAppErrorResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostAppErrorResponse from a JSON string +post_app_error_response_instance = PostAppErrorResponse.from_json(json) +# print the JSON string representation of the object +print(PostAppErrorResponse.to_json()) + +# convert the object into a dict +post_app_error_response_dict = post_app_error_response_instance.to_dict() +# create an instance of PostAppErrorResponse from a dict +post_app_error_response_from_dict = PostAppErrorResponse.from_dict(post_app_error_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostAppErrorResponseData.md b/cloudbeds_pms_v1_3/docs/PostAppErrorResponseData.md new file mode 100644 index 0000000..4bb944c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostAppErrorResponseData.md @@ -0,0 +1,30 @@ +# PostAppErrorResponseData + +Integration state details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_id** | **str** | Unique ID of error recorded in Cloudbeds | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_app_error_response_data import PostAppErrorResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of PostAppErrorResponseData from a JSON string +post_app_error_response_data_instance = PostAppErrorResponseData.from_json(json) +# print the JSON string representation of the object +print(PostAppErrorResponseData.to_json()) + +# convert the object into a dict +post_app_error_response_data_dict = post_app_error_response_data_instance.to_dict() +# create an instance of PostAppErrorResponseData from a dict +post_app_error_response_data_from_dict = PostAppErrorResponseData.from_dict(post_app_error_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostAppPropertySettingResponse.md b/cloudbeds_pms_v1_3/docs/PostAppPropertySettingResponse.md new file mode 100644 index 0000000..6d5e11e --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostAppPropertySettingResponse.md @@ -0,0 +1,30 @@ +# PostAppPropertySettingResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Success | [optional] +**data** | [**PostAppPropertySettingResponseData**](PostAppPropertySettingResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_app_property_setting_response import PostAppPropertySettingResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostAppPropertySettingResponse from a JSON string +post_app_property_setting_response_instance = PostAppPropertySettingResponse.from_json(json) +# print the JSON string representation of the object +print(PostAppPropertySettingResponse.to_json()) + +# convert the object into a dict +post_app_property_setting_response_dict = post_app_property_setting_response_instance.to_dict() +# create an instance of PostAppPropertySettingResponse from a dict +post_app_property_setting_response_from_dict = PostAppPropertySettingResponse.from_dict(post_app_property_setting_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostAppPropertySettingResponseData.md b/cloudbeds_pms_v1_3/docs/PostAppPropertySettingResponseData.md new file mode 100644 index 0000000..9c6ca84 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostAppPropertySettingResponseData.md @@ -0,0 +1,32 @@ +# PostAppPropertySettingResponseData + +Data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | ID | [optional] +**key** | **str** | Key | [optional] +**value** | **str** | Value | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_app_property_setting_response_data import PostAppPropertySettingResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of PostAppPropertySettingResponseData from a JSON string +post_app_property_setting_response_data_instance = PostAppPropertySettingResponseData.from_json(json) +# print the JSON string representation of the object +print(PostAppPropertySettingResponseData.to_json()) + +# convert the object into a dict +post_app_property_setting_response_data_dict = post_app_property_setting_response_data_instance.to_dict() +# create an instance of PostAppPropertySettingResponseData from a dict +post_app_property_setting_response_data_from_dict = PostAppPropertySettingResponseData.from_dict(post_app_property_setting_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostAppStateResponse.md b/cloudbeds_pms_v1_3/docs/PostAppStateResponse.md new file mode 100644 index 0000000..7ce0481 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostAppStateResponse.md @@ -0,0 +1,29 @@ +# PostAppStateResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_app_state_response import PostAppStateResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostAppStateResponse from a JSON string +post_app_state_response_instance = PostAppStateResponse.from_json(json) +# print the JSON string representation of the object +print(PostAppStateResponse.to_json()) + +# convert the object into a dict +post_app_state_response_dict = post_app_state_response_instance.to_dict() +# create an instance of PostAppStateResponse from a dict +post_app_state_response_from_dict = PostAppStateResponse.from_dict(post_app_state_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostAppendCustomItemResponse.md b/cloudbeds_pms_v1_3/docs/PostAppendCustomItemResponse.md new file mode 100644 index 0000000..bd36561 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostAppendCustomItemResponse.md @@ -0,0 +1,30 @@ +# PostAppendCustomItemResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**PostAppendCustomItemResponseData**](PostAppendCustomItemResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_append_custom_item_response import PostAppendCustomItemResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostAppendCustomItemResponse from a JSON string +post_append_custom_item_response_instance = PostAppendCustomItemResponse.from_json(json) +# print the JSON string representation of the object +print(PostAppendCustomItemResponse.to_json()) + +# convert the object into a dict +post_append_custom_item_response_dict = post_append_custom_item_response_instance.to_dict() +# create an instance of PostAppendCustomItemResponse from a dict +post_append_custom_item_response_from_dict = PostAppendCustomItemResponse.from_dict(post_append_custom_item_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostAppendCustomItemResponseData.md b/cloudbeds_pms_v1_3/docs/PostAppendCustomItemResponseData.md new file mode 100644 index 0000000..96a44e1 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostAppendCustomItemResponseData.md @@ -0,0 +1,31 @@ +# PostAppendCustomItemResponseData + +Sold product details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sold_product_id** | **str** | Sold product identifier (Usable to void this product in future). | [optional] +**transaction_id** | **str** | Transaction identifier | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_append_custom_item_response_data import PostAppendCustomItemResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of PostAppendCustomItemResponseData from a JSON string +post_append_custom_item_response_data_instance = PostAppendCustomItemResponseData.from_json(json) +# print the JSON string representation of the object +print(PostAppendCustomItemResponseData.to_json()) + +# convert the object into a dict +post_append_custom_item_response_data_dict = post_append_custom_item_response_data_instance.to_dict() +# create an instance of PostAppendCustomItemResponseData from a dict +post_append_custom_item_response_data_from_dict = PostAppendCustomItemResponseData.from_dict(post_append_custom_item_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCardResponse.md b/cloudbeds_pms_v1_3/docs/PostCardResponse.md new file mode 100644 index 0000000..e06aee7 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCardResponse.md @@ -0,0 +1,30 @@ +# PostCardResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**PostCardResponseData**](PostCardResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_card_response import PostCardResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCardResponse from a JSON string +post_card_response_instance = PostCardResponse.from_json(json) +# print the JSON string representation of the object +print(PostCardResponse.to_json()) + +# convert the object into a dict +post_card_response_dict = post_card_response_instance.to_dict() +# create an instance of PostCardResponse from a dict +post_card_response_from_dict = PostCardResponse.from_dict(post_card_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCardResponseData.md b/cloudbeds_pms_v1_3/docs/PostCardResponseData.md new file mode 100644 index 0000000..22fd001 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCardResponseData.md @@ -0,0 +1,33 @@ +# PostCardResponseData + +Rates details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**card_id** | **str** | Card ID | [optional] +**card_number** | **str** | Ending digits of the credit card | [optional] +**card_type** | **str** | Abbreviated name of credit card type | [optional] +**redirect_url** | **str** | null if no 3ds required | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_card_response_data import PostCardResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCardResponseData from a JSON string +post_card_response_data_instance = PostCardResponseData.from_json(json) +# print the JSON string representation of the object +print(PostCardResponseData.to_json()) + +# convert the object into a dict +post_card_response_data_dict = post_card_response_data_instance.to_dict() +# create an instance of PostCardResponseData from a dict +post_card_response_data_from_dict = PostCardResponseData.from_dict(post_card_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostChargeResponse.md b/cloudbeds_pms_v1_3/docs/PostChargeResponse.md new file mode 100644 index 0000000..df5e18b --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostChargeResponse.md @@ -0,0 +1,30 @@ +# PostChargeResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request was completed | [optional] +**data** | [**PostChargeResponseData**](PostChargeResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_charge_response import PostChargeResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostChargeResponse from a JSON string +post_charge_response_instance = PostChargeResponse.from_json(json) +# print the JSON string representation of the object +print(PostChargeResponse.to_json()) + +# convert the object into a dict +post_charge_response_dict = post_charge_response_instance.to_dict() +# create an instance of PostChargeResponse from a dict +post_charge_response_from_dict = PostChargeResponse.from_dict(post_charge_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostChargeResponseData.md b/cloudbeds_pms_v1_3/docs/PostChargeResponseData.md new file mode 100644 index 0000000..bc69424 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostChargeResponseData.md @@ -0,0 +1,34 @@ +# PostChargeResponseData + +Payment details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_id** | **str** | Payment ID | [optional] +**transaction_id** | **str** | Transaction ID | [optional] +**payment_status** | **str** | the status of the payment, could be 'pending' if the payment requires a next action | [optional] +**payment_type** | **str** | detected payment type. Ex: 'cards', 'oxxo' | [optional] +**next_action** | [**PostChargeResponseDataNextAction**](PostChargeResponseDataNextAction.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_charge_response_data import PostChargeResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of PostChargeResponseData from a JSON string +post_charge_response_data_instance = PostChargeResponseData.from_json(json) +# print the JSON string representation of the object +print(PostChargeResponseData.to_json()) + +# convert the object into a dict +post_charge_response_data_dict = post_charge_response_data_instance.to_dict() +# create an instance of PostChargeResponseData from a dict +post_charge_response_data_from_dict = PostChargeResponseData.from_dict(post_charge_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostChargeResponseDataNextAction.md b/cloudbeds_pms_v1_3/docs/PostChargeResponseDataNextAction.md new file mode 100644 index 0000000..2a20446 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostChargeResponseDataNextAction.md @@ -0,0 +1,31 @@ +# PostChargeResponseDataNextAction + +not set if no next action is required + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | The type of next action required. Ex: 'redirect' | [optional] +**details** | [**PostChargeResponseDataNextActionDetails**](PostChargeResponseDataNextActionDetails.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_charge_response_data_next_action import PostChargeResponseDataNextAction + +# TODO update the JSON string below +json = "{}" +# create an instance of PostChargeResponseDataNextAction from a JSON string +post_charge_response_data_next_action_instance = PostChargeResponseDataNextAction.from_json(json) +# print the JSON string representation of the object +print(PostChargeResponseDataNextAction.to_json()) + +# convert the object into a dict +post_charge_response_data_next_action_dict = post_charge_response_data_next_action_instance.to_dict() +# create an instance of PostChargeResponseDataNextAction from a dict +post_charge_response_data_next_action_from_dict = PostChargeResponseDataNextAction.from_dict(post_charge_response_data_next_action_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostChargeResponseDataNextActionDetails.md b/cloudbeds_pms_v1_3/docs/PostChargeResponseDataNextActionDetails.md new file mode 100644 index 0000000..dbf65a6 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostChargeResponseDataNextActionDetails.md @@ -0,0 +1,31 @@ +# PostChargeResponseDataNextActionDetails + +The details of the next action + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**url** | **str** | The URL to redirect the user to | [optional] +**method** | **str** | The HTTP method to use when redirecting the user | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_charge_response_data_next_action_details import PostChargeResponseDataNextActionDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of PostChargeResponseDataNextActionDetails from a JSON string +post_charge_response_data_next_action_details_instance = PostChargeResponseDataNextActionDetails.from_json(json) +# print the JSON string representation of the object +print(PostChargeResponseDataNextActionDetails.to_json()) + +# convert the object into a dict +post_charge_response_data_next_action_details_dict = post_charge_response_data_next_action_details_instance.to_dict() +# create an instance of PostChargeResponseDataNextActionDetails from a dict +post_charge_response_data_next_action_details_from_dict = PostChargeResponseDataNextActionDetails.from_dict(post_charge_response_data_next_action_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockNotesResponse.md b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockNotesResponse.md new file mode 100644 index 0000000..08087f4 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockNotesResponse.md @@ -0,0 +1,30 @@ +# PostCreateAllotmentBlockNotesResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**PostCreateAllotmentBlockNotesResponseData**](PostCreateAllotmentBlockNotesResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_create_allotment_block_notes_response import PostCreateAllotmentBlockNotesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCreateAllotmentBlockNotesResponse from a JSON string +post_create_allotment_block_notes_response_instance = PostCreateAllotmentBlockNotesResponse.from_json(json) +# print the JSON string representation of the object +print(PostCreateAllotmentBlockNotesResponse.to_json()) + +# convert the object into a dict +post_create_allotment_block_notes_response_dict = post_create_allotment_block_notes_response_instance.to_dict() +# create an instance of PostCreateAllotmentBlockNotesResponse from a dict +post_create_allotment_block_notes_response_from_dict = PostCreateAllotmentBlockNotesResponse.from_dict(post_create_allotment_block_notes_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockNotesResponseData.md b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockNotesResponseData.md new file mode 100644 index 0000000..44a978c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockNotesResponseData.md @@ -0,0 +1,36 @@ +# PostCreateAllotmentBlockNotesResponseData + +The created note + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | Note ID | [optional] +**text** | **str** | Note contents | [optional] +**created_by** | **str** | User Name | [optional] +**created_at** | **datetime** | Creation datetime (format: Y-m-d H:i:s) | [optional] +**updated_at** | **datetime** | Last modification datetime (format: Y-m-d H:i:s) | [optional] +**archived_at** | **datetime** | Archival datetime (format: Y-m-d H:i:s) | [optional] +**status** | **str** | Note status | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_create_allotment_block_notes_response_data import PostCreateAllotmentBlockNotesResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCreateAllotmentBlockNotesResponseData from a JSON string +post_create_allotment_block_notes_response_data_instance = PostCreateAllotmentBlockNotesResponseData.from_json(json) +# print the JSON string representation of the object +print(PostCreateAllotmentBlockNotesResponseData.to_json()) + +# convert the object into a dict +post_create_allotment_block_notes_response_data_dict = post_create_allotment_block_notes_response_data_instance.to_dict() +# create an instance of PostCreateAllotmentBlockNotesResponseData from a dict +post_create_allotment_block_notes_response_data_from_dict = PostCreateAllotmentBlockNotesResponseData.from_dict(post_create_allotment_block_notes_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInner.md b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInner.md new file mode 100644 index 0000000..0cc3bee --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInner.md @@ -0,0 +1,30 @@ +# PostCreateAllotmentBlockRequestAllotmentIntervalsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**policy_id** | **str** | Policy ID to associate with the interval | [optional] +**availability** | [**List[PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner]**](PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner import PostCreateAllotmentBlockRequestAllotmentIntervalsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCreateAllotmentBlockRequestAllotmentIntervalsInner from a JSON string +post_create_allotment_block_request_allotment_intervals_inner_instance = PostCreateAllotmentBlockRequestAllotmentIntervalsInner.from_json(json) +# print the JSON string representation of the object +print(PostCreateAllotmentBlockRequestAllotmentIntervalsInner.to_json()) + +# convert the object into a dict +post_create_allotment_block_request_allotment_intervals_inner_dict = post_create_allotment_block_request_allotment_intervals_inner_instance.to_dict() +# create an instance of PostCreateAllotmentBlockRequestAllotmentIntervalsInner from a dict +post_create_allotment_block_request_allotment_intervals_inner_from_dict = PostCreateAllotmentBlockRequestAllotmentIntervalsInner.from_dict(post_create_allotment_block_request_allotment_intervals_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.md b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.md new file mode 100644 index 0000000..9bb3d0e --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.md @@ -0,0 +1,34 @@ +# PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_date** | **date** | the day within the interval (YYYY-MM-DD) | [optional] +**block_allotted** | **int** | Total number of units available for the | [optional] +**rate** | **str** | the price if applicable | [optional] +**guest_pricing** | [**PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing**](PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.md) | | [optional] +**restrictions** | [**PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions**](PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions.md) | | [optional] +**rooms** | **List[str]** | Array of room IDs assigned to this date | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner import PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner from a JSON string +post_create_allotment_block_request_allotment_intervals_inner_availability_inner_instance = PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.from_json(json) +# print the JSON string representation of the object +print(PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.to_json()) + +# convert the object into a dict +post_create_allotment_block_request_allotment_intervals_inner_availability_inner_dict = post_create_allotment_block_request_allotment_intervals_inner_availability_inner_instance.to_dict() +# create an instance of PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner from a dict +post_create_allotment_block_request_allotment_intervals_inner_availability_inner_from_dict = PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.from_dict(post_create_allotment_block_request_allotment_intervals_inner_availability_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.md b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.md new file mode 100644 index 0000000..1dd6afe --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.md @@ -0,0 +1,35 @@ +# PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing + +Guest pricing data if applicable. Note: the number of applicable keys varies here based on the occupancy settings for the room type. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**adult1** | **str** | Price for adult 1 | [optional] +**adult2** | **str** | Price for adult 2 | [optional] +**adult3** | **str** | Price for adult 3 | [optional] +**child1** | **str** | Price for child 1 | [optional] +**child2** | **str** | Price for child 2 | [optional] +**child3** | **str** | Price for child 3 | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing import PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing from a JSON string +post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing_instance = PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.from_json(json) +# print the JSON string representation of the object +print(PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.to_json()) + +# convert the object into a dict +post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing_dict = post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing_instance.to_dict() +# create an instance of PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing from a dict +post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing_from_dict = PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.from_dict(post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions.md b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions.md new file mode 100644 index 0000000..004b3ff --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions.md @@ -0,0 +1,35 @@ +# PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions + +Interval restrictions if applicable + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**min_los** | **int** | Minimum length of stay requirement | [optional] +**max_los** | **int** | Maximum length of stay requirement | [optional] +**cut_off_days** | **int** | How many days before arrival should guests be required to book | [optional] +**last_minute_booking_days** | **int** | How many days before the arrival guests are allowed to book | [optional] +**closed_to_arrival** | **int** | If the interval dates are closed for arrival | [optional] +**closed_to_departure** | **int** | If the interval dates are closed for departure | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions import PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions from a JSON string +post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions_instance = PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions.from_json(json) +# print the JSON string representation of the object +print(PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions.to_json()) + +# convert the object into a dict +post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions_dict = post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions_instance.to_dict() +# create an instance of PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions from a dict +post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions_from_dict = PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions.from_dict(post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAutoRelease.md b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAutoRelease.md new file mode 100644 index 0000000..8b4a55f --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockRequestAutoRelease.md @@ -0,0 +1,32 @@ +# PostCreateAllotmentBlockRequestAutoRelease + +Optional auto-release configuration + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**release_type** | **str** | The type of auto-release | [optional] +**days** | **int** | The number of days prior to the end of the allotment block to begin releasing dates from the allotment block | [optional] +**release_time** | **str** | The hour to being the auto-release in HH:00 format, e.g. '00:00', '01:00'... | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_auto_release import PostCreateAllotmentBlockRequestAutoRelease + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCreateAllotmentBlockRequestAutoRelease from a JSON string +post_create_allotment_block_request_auto_release_instance = PostCreateAllotmentBlockRequestAutoRelease.from_json(json) +# print the JSON string representation of the object +print(PostCreateAllotmentBlockRequestAutoRelease.to_json()) + +# convert the object into a dict +post_create_allotment_block_request_auto_release_dict = post_create_allotment_block_request_auto_release_instance.to_dict() +# create an instance of PostCreateAllotmentBlockRequestAutoRelease from a dict +post_create_allotment_block_request_auto_release_from_dict = PostCreateAllotmentBlockRequestAutoRelease.from_dict(post_create_allotment_block_request_auto_release_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponse.md b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponse.md new file mode 100644 index 0000000..d152b03 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponse.md @@ -0,0 +1,32 @@ +# PostCreateAllotmentBlockResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**start_date** | **date** | Date on or after which each returned allotmentBlock applies | [optional] +**end_date** | **date** | Date on or before which each returned allotmentBlock applies | [optional] +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[PostCreateAllotmentBlockResponseDataInner]**](PostCreateAllotmentBlockResponseDataInner.md) | Allotment Blocks | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response import PostCreateAllotmentBlockResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCreateAllotmentBlockResponse from a JSON string +post_create_allotment_block_response_instance = PostCreateAllotmentBlockResponse.from_json(json) +# print the JSON string representation of the object +print(PostCreateAllotmentBlockResponse.to_json()) + +# convert the object into a dict +post_create_allotment_block_response_dict = post_create_allotment_block_response_instance.to_dict() +# create an instance of PostCreateAllotmentBlockResponse from a dict +post_create_allotment_block_response_from_dict = PostCreateAllotmentBlockResponse.from_dict(post_create_allotment_block_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInner.md b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInner.md new file mode 100644 index 0000000..8a57bbe --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInner.md @@ -0,0 +1,43 @@ +# PostCreateAllotmentBlockResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_id** | **str** | Property ID associated to the allotment block | [optional] +**allotment_block_code** | **str** | Allotment block code | [optional] +**allotment_block_status** | **str** | Allotment block status | [optional] +**allotment_block_name** | **str** | Allotment block name | [optional] +**allotment_block_id** | **str** | Allotment block ID | [optional] +**rate_type** | **str** | Rate type for the allotment block | [optional] +**rate_plan_id** | **str** | Rate plan ID if applicable | [optional] +**allotment_type** | **str** | the type of allotment block | [optional] +**group_id** | **str** | Group profile ID associated to the allotment block | [optional] +**group_code** | **str** | Group profile code associated to the allotment block | [optional] +**event_id** | **str** | Event ID associated to the allotment block | [optional] +**event_code** | **str** | Event code associated to the allotment block | [optional] +**is_auto_release** | **bool** | If the allotment block is configured for auto-release | [optional] +**auto_release** | [**PostCreateAllotmentBlockResponseDataInnerAutoRelease**](PostCreateAllotmentBlockResponseDataInnerAutoRelease.md) | | [optional] +**allotment_intervals** | [**List[PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner]**](PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.md) | array of interval data by room type | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner import PostCreateAllotmentBlockResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCreateAllotmentBlockResponseDataInner from a JSON string +post_create_allotment_block_response_data_inner_instance = PostCreateAllotmentBlockResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(PostCreateAllotmentBlockResponseDataInner.to_json()) + +# convert the object into a dict +post_create_allotment_block_response_data_inner_dict = post_create_allotment_block_response_data_inner_instance.to_dict() +# create an instance of PostCreateAllotmentBlockResponseDataInner from a dict +post_create_allotment_block_response_data_inner_from_dict = PostCreateAllotmentBlockResponseDataInner.from_dict(post_create_allotment_block_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.md b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.md new file mode 100644 index 0000000..e70a29b --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.md @@ -0,0 +1,34 @@ +# PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**policy_id** | **str** | Policy ID associated with the interval | [optional] +**room_type_id** | **str** | Room type ID | [optional] +**start_date** | **date** | Interval start date | [optional] +**end_date** | **date** | Interval end date | [optional] +**availability** | [**PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability**](PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability.md) | | [optional] +**restrictions** | [**PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions**](PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner from a JSON string +post_create_allotment_block_response_data_inner_allotment_intervals_inner_instance = PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.from_json(json) +# print the JSON string representation of the object +print(PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.to_json()) + +# convert the object into a dict +post_create_allotment_block_response_data_inner_allotment_intervals_inner_dict = post_create_allotment_block_response_data_inner_allotment_intervals_inner_instance.to_dict() +# create an instance of PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner from a dict +post_create_allotment_block_response_data_inner_allotment_intervals_inner_from_dict = PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.from_dict(post_create_allotment_block_response_data_inner_allotment_intervals_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability.md b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability.md new file mode 100644 index 0000000..2e3e7b7 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability.md @@ -0,0 +1,36 @@ +# PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability + +Interval availability data by day in interval + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_date** | **date** | Day within interval | [optional] +**block_remaining** | **int** | Number of units remaining for the room type for this day | [optional] +**block_allotted** | **int** | Total number of units available for the room type for this day | [optional] +**block_confirmed** | **int** | Number of units booked for the room type for this day | [optional] +**rate** | **str** | the price | [optional] +**guest_pricing** | [**PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing**](PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing.md) | | [optional] +**rooms** | **List[str]** | Array of room IDs assigned to this date | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability from a JSON string +post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_instance = PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability.from_json(json) +# print the JSON string representation of the object +print(PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability.to_json()) + +# convert the object into a dict +post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_dict = post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_instance.to_dict() +# create an instance of PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability from a dict +post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_from_dict = PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability.from_dict(post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing.md b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing.md new file mode 100644 index 0000000..b8c634c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing.md @@ -0,0 +1,35 @@ +# PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing + +Guest pricing data if applicable. Note: the number of results varies here based on the occupancy settings and custom guest pricing for the room type. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**adult1** | **str** | Price for adult 1 | [optional] +**adult2** | **str** | Price for adult 2 | [optional] +**adult3** | **str** | Price for adult 3 | [optional] +**child1** | **str** | Price for child 1 | [optional] +**child2** | **str** | Price for child 2 | [optional] +**child3** | **str** | Price for child 3 | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing from a JSON string +post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing_instance = PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing.from_json(json) +# print the JSON string representation of the object +print(PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing.to_json()) + +# convert the object into a dict +post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing_dict = post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing_instance.to_dict() +# create an instance of PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing from a dict +post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing_from_dict = PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing.from_dict(post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.md b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.md new file mode 100644 index 0000000..da61289 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.md @@ -0,0 +1,35 @@ +# PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions + +Interval restrictions if applicable + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**min_los** | **int** | Minimum length of stay requirement | [optional] +**max_los** | **int** | Maximum length of stay requirement | [optional] +**cut_off_days** | **int** | How many days before arrival should the guests be required to book | [optional] +**last_minute_booking_days** | **int** | Hoe many days before the arrival guests are allowed to book | [optional] +**closed_to_arrival** | **int** | If the interval dates are closed for arrival | [optional] +**closed_to_departure** | **int** | If the interval dates are closed for departure | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions from a JSON string +post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions_instance = PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.from_json(json) +# print the JSON string representation of the object +print(PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.to_json()) + +# convert the object into a dict +post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions_dict = post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions_instance.to_dict() +# create an instance of PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions from a dict +post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions_from_dict = PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.from_dict(post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAutoRelease.md b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAutoRelease.md new file mode 100644 index 0000000..4d33482 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCreateAllotmentBlockResponseDataInnerAutoRelease.md @@ -0,0 +1,32 @@ +# PostCreateAllotmentBlockResponseDataInnerAutoRelease + +auto-release data if applicable + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**release_type** | **str** | The type of auto-release | [optional] +**days** | **int** | The number of days prior to the end of the allotment block to begin releasing dates from the allotment block | [optional] +**release_time** | **str** | The hour to being the auto-release in HH:00 format, e.g. '00:00', '01:00'... | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_auto_release import PostCreateAllotmentBlockResponseDataInnerAutoRelease + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCreateAllotmentBlockResponseDataInnerAutoRelease from a JSON string +post_create_allotment_block_response_data_inner_auto_release_instance = PostCreateAllotmentBlockResponseDataInnerAutoRelease.from_json(json) +# print the JSON string representation of the object +print(PostCreateAllotmentBlockResponseDataInnerAutoRelease.to_json()) + +# convert the object into a dict +post_create_allotment_block_response_data_inner_auto_release_dict = post_create_allotment_block_response_data_inner_auto_release_instance.to_dict() +# create an instance of PostCreateAllotmentBlockResponseDataInnerAutoRelease from a dict +post_create_allotment_block_response_data_inner_auto_release_from_dict = PostCreateAllotmentBlockResponseDataInnerAutoRelease.from_dict(post_create_allotment_block_response_data_inner_auto_release_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCustomFieldResponse.md b/cloudbeds_pms_v1_3/docs/PostCustomFieldResponse.md new file mode 100644 index 0000000..53648e1 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCustomFieldResponse.md @@ -0,0 +1,31 @@ +# PostCustomFieldResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**PostCustomFieldResponseData**](PostCustomFieldResponseData.md) | | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_custom_field_response import PostCustomFieldResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCustomFieldResponse from a JSON string +post_custom_field_response_instance = PostCustomFieldResponse.from_json(json) +# print the JSON string representation of the object +print(PostCustomFieldResponse.to_json()) + +# convert the object into a dict +post_custom_field_response_dict = post_custom_field_response_instance.to_dict() +# create an instance of PostCustomFieldResponse from a dict +post_custom_field_response_from_dict = PostCustomFieldResponse.from_dict(post_custom_field_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCustomFieldResponseData.md b/cloudbeds_pms_v1_3/docs/PostCustomFieldResponseData.md new file mode 100644 index 0000000..282fb8d --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCustomFieldResponseData.md @@ -0,0 +1,32 @@ +# PostCustomFieldResponseData + +Field details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**field_id** | **str** | Field name | [optional] +**name** | **str** | Field name | [optional] +**shortcode** | **str** | Internal reference and is used for integration purposes such as custom links and the API | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_custom_field_response_data import PostCustomFieldResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCustomFieldResponseData from a JSON string +post_custom_field_response_data_instance = PostCustomFieldResponseData.from_json(json) +# print the JSON string representation of the object +print(PostCustomFieldResponseData.to_json()) + +# convert the object into a dict +post_custom_field_response_data_dict = post_custom_field_response_data_instance.to_dict() +# create an instance of PostCustomFieldResponseData from a dict +post_custom_field_response_data_from_dict = PostCustomFieldResponseData.from_dict(post_custom_field_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCustomItemRequestItemsInner.md b/cloudbeds_pms_v1_3/docs/PostCustomItemRequestItemsInner.md new file mode 100644 index 0000000..c1d277b --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCustomItemRequestItemsInner.md @@ -0,0 +1,37 @@ +# PostCustomItemRequestItemsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**app_item_id** | **str** | Identifier of item. Future calls using the same ID will use previously sent item name and description. Item name/description sent in new request will be ignored. | [optional] +**item_sku** | **str** | Item SKU identifier | [optional] +**item_quantity** | **int** | Items quantity | [optional] +**item_price** | **float** | Item price | [optional] +**item_name** | **str** | Item name | [optional] +**item_category_name** | **str** | Item category name | [optional] +**item_note** | **str** | Item note | [optional] +**item_taxes** | [**List[PostCustomItemRequestItemsInnerItemTaxesInner]**](PostCustomItemRequestItemsInnerItemTaxesInner.md) | list of taxes applied to item | [optional] +**item_fees** | [**List[PostCustomItemRequestItemsInnerItemFeesInner]**](PostCustomItemRequestItemsInnerItemFeesInner.md) | list of fees applied to item | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner import PostCustomItemRequestItemsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCustomItemRequestItemsInner from a JSON string +post_custom_item_request_items_inner_instance = PostCustomItemRequestItemsInner.from_json(json) +# print the JSON string representation of the object +print(PostCustomItemRequestItemsInner.to_json()) + +# convert the object into a dict +post_custom_item_request_items_inner_dict = post_custom_item_request_items_inner_instance.to_dict() +# create an instance of PostCustomItemRequestItemsInner from a dict +post_custom_item_request_items_inner_from_dict = PostCustomItemRequestItemsInner.from_dict(post_custom_item_request_items_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCustomItemRequestItemsInnerItemFeesInner.md b/cloudbeds_pms_v1_3/docs/PostCustomItemRequestItemsInnerItemFeesInner.md new file mode 100644 index 0000000..e044b63 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCustomItemRequestItemsInnerItemFeesInner.md @@ -0,0 +1,30 @@ +# PostCustomItemRequestItemsInnerItemFeesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**fee_name** | **str** | fee name | [optional] +**fee_value** | **float** | fee value | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner_item_fees_inner import PostCustomItemRequestItemsInnerItemFeesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCustomItemRequestItemsInnerItemFeesInner from a JSON string +post_custom_item_request_items_inner_item_fees_inner_instance = PostCustomItemRequestItemsInnerItemFeesInner.from_json(json) +# print the JSON string representation of the object +print(PostCustomItemRequestItemsInnerItemFeesInner.to_json()) + +# convert the object into a dict +post_custom_item_request_items_inner_item_fees_inner_dict = post_custom_item_request_items_inner_item_fees_inner_instance.to_dict() +# create an instance of PostCustomItemRequestItemsInnerItemFeesInner from a dict +post_custom_item_request_items_inner_item_fees_inner_from_dict = PostCustomItemRequestItemsInnerItemFeesInner.from_dict(post_custom_item_request_items_inner_item_fees_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCustomItemRequestItemsInnerItemTaxesInner.md b/cloudbeds_pms_v1_3/docs/PostCustomItemRequestItemsInnerItemTaxesInner.md new file mode 100644 index 0000000..741ecdd --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCustomItemRequestItemsInnerItemTaxesInner.md @@ -0,0 +1,30 @@ +# PostCustomItemRequestItemsInnerItemTaxesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tax_name** | **str** | tax name | [optional] +**tax_value** | **float** | tax value | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner_item_taxes_inner import PostCustomItemRequestItemsInnerItemTaxesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCustomItemRequestItemsInnerItemTaxesInner from a JSON string +post_custom_item_request_items_inner_item_taxes_inner_instance = PostCustomItemRequestItemsInnerItemTaxesInner.from_json(json) +# print the JSON string representation of the object +print(PostCustomItemRequestItemsInnerItemTaxesInner.to_json()) + +# convert the object into a dict +post_custom_item_request_items_inner_item_taxes_inner_dict = post_custom_item_request_items_inner_item_taxes_inner_instance.to_dict() +# create an instance of PostCustomItemRequestItemsInnerItemTaxesInner from a dict +post_custom_item_request_items_inner_item_taxes_inner_from_dict = PostCustomItemRequestItemsInnerItemTaxesInner.from_dict(post_custom_item_request_items_inner_item_taxes_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCustomItemRequestPaymentsInner.md b/cloudbeds_pms_v1_3/docs/PostCustomItemRequestPaymentsInner.md new file mode 100644 index 0000000..de4c46d --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCustomItemRequestPaymentsInner.md @@ -0,0 +1,32 @@ +# PostCustomItemRequestPaymentsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_type** | **str** | Payment method. Use the call [getPaymentMethods](#api-Payment-getPaymentMethods) to get the properties enabled payment methods. | [optional] +**card_type** | **str** | When paymentType is cards or credit, the cardType could be specified (visa, master etc.). The list of types can be found with [getPaymentMethods](#api-Payment-getPaymentMethods) (cardCode inside cardTypes). If omitted, payment is treated as Credit Card Without Details. | [optional] +**amount** | **float** | payment amount | [optional] +**notes** | **str** | payment note | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_custom_item_request_payments_inner import PostCustomItemRequestPaymentsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCustomItemRequestPaymentsInner from a JSON string +post_custom_item_request_payments_inner_instance = PostCustomItemRequestPaymentsInner.from_json(json) +# print the JSON string representation of the object +print(PostCustomItemRequestPaymentsInner.to_json()) + +# convert the object into a dict +post_custom_item_request_payments_inner_dict = post_custom_item_request_payments_inner_instance.to_dict() +# create an instance of PostCustomItemRequestPaymentsInner from a dict +post_custom_item_request_payments_inner_from_dict = PostCustomItemRequestPaymentsInner.from_dict(post_custom_item_request_payments_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCustomItemResponse.md b/cloudbeds_pms_v1_3/docs/PostCustomItemResponse.md new file mode 100644 index 0000000..395e7a2 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCustomItemResponse.md @@ -0,0 +1,30 @@ +# PostCustomItemResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**PostCustomItemResponseData**](PostCustomItemResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_custom_item_response import PostCustomItemResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCustomItemResponse from a JSON string +post_custom_item_response_instance = PostCustomItemResponse.from_json(json) +# print the JSON string representation of the object +print(PostCustomItemResponse.to_json()) + +# convert the object into a dict +post_custom_item_response_dict = post_custom_item_response_instance.to_dict() +# create an instance of PostCustomItemResponse from a dict +post_custom_item_response_from_dict = PostCustomItemResponse.from_dict(post_custom_item_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCustomItemResponseData.md b/cloudbeds_pms_v1_3/docs/PostCustomItemResponseData.md new file mode 100644 index 0000000..4d2fa69 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCustomItemResponseData.md @@ -0,0 +1,32 @@ +# PostCustomItemResponseData + +Sold product details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sold_product_id** | **str** | Sold product identifier (Usable to void this product in future). | [optional] +**transaction_id** | **str** | Transaction identifier | [optional] +**notice** | **str** | In case that a referenceID was sent, for second time, this field will alert that nothing was created or updated. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_custom_item_response_data import PostCustomItemResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCustomItemResponseData from a JSON string +post_custom_item_response_data_instance = PostCustomItemResponseData.from_json(json) +# print the JSON string representation of the object +print(PostCustomItemResponseData.to_json()) + +# convert the object into a dict +post_custom_item_response_data_dict = post_custom_item_response_data_instance.to_dict() +# create an instance of PostCustomItemResponseData from a dict +post_custom_item_response_data_from_dict = PostCustomItemResponseData.from_dict(post_custom_item_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostCustomPaymentMethodResponse.md b/cloudbeds_pms_v1_3/docs/PostCustomPaymentMethodResponse.md new file mode 100644 index 0000000..4648911 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostCustomPaymentMethodResponse.md @@ -0,0 +1,30 @@ +# PostCustomPaymentMethodResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_custom_payment_method_response import PostCustomPaymentMethodResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostCustomPaymentMethodResponse from a JSON string +post_custom_payment_method_response_instance = PostCustomPaymentMethodResponse.from_json(json) +# print the JSON string representation of the object +print(PostCustomPaymentMethodResponse.to_json()) + +# convert the object into a dict +post_custom_payment_method_response_dict = post_custom_payment_method_response_instance.to_dict() +# create an instance of PostCustomPaymentMethodResponse from a dict +post_custom_payment_method_response_from_dict = PostCustomPaymentMethodResponse.from_dict(post_custom_payment_method_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostDeleteAllotmentBlockResponse.md b/cloudbeds_pms_v1_3/docs/PostDeleteAllotmentBlockResponse.md new file mode 100644 index 0000000..61b912a --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostDeleteAllotmentBlockResponse.md @@ -0,0 +1,29 @@ +# PostDeleteAllotmentBlockResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_delete_allotment_block_response import PostDeleteAllotmentBlockResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostDeleteAllotmentBlockResponse from a JSON string +post_delete_allotment_block_response_instance = PostDeleteAllotmentBlockResponse.from_json(json) +# print the JSON string representation of the object +print(PostDeleteAllotmentBlockResponse.to_json()) + +# convert the object into a dict +post_delete_allotment_block_response_dict = post_delete_allotment_block_response_instance.to_dict() +# create an instance of PostDeleteAllotmentBlockResponse from a dict +post_delete_allotment_block_response_from_dict = PostDeleteAllotmentBlockResponse.from_dict(post_delete_allotment_block_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostDeleteAppPropertySettingsResponse.md b/cloudbeds_pms_v1_3/docs/PostDeleteAppPropertySettingsResponse.md new file mode 100644 index 0000000..36d5af8 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostDeleteAppPropertySettingsResponse.md @@ -0,0 +1,30 @@ +# PostDeleteAppPropertySettingsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Success | [optional] +**message** | **str** | Response message | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_delete_app_property_settings_response import PostDeleteAppPropertySettingsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostDeleteAppPropertySettingsResponse from a JSON string +post_delete_app_property_settings_response_instance = PostDeleteAppPropertySettingsResponse.from_json(json) +# print the JSON string representation of the object +print(PostDeleteAppPropertySettingsResponse.to_json()) + +# convert the object into a dict +post_delete_app_property_settings_response_dict = post_delete_app_property_settings_response_instance.to_dict() +# create an instance of PostDeleteAppPropertySettingsResponse from a dict +post_delete_app_property_settings_response_from_dict = PostDeleteAppPropertySettingsResponse.from_dict(post_delete_app_property_settings_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostEmailScheduleRequestSchedule.md b/cloudbeds_pms_v1_3/docs/PostEmailScheduleRequestSchedule.md new file mode 100644 index 0000000..7c98dbe --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostEmailScheduleRequestSchedule.md @@ -0,0 +1,31 @@ +# PostEmailScheduleRequestSchedule + + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reservation_status_change** | [**PostEmailScheduleRequestScheduleReservationStatusChange**](PostEmailScheduleRequestScheduleReservationStatusChange.md) | | [optional] +**reservation_event** | [**PostEmailScheduleRequestScheduleReservationEvent**](PostEmailScheduleRequestScheduleReservationEvent.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule import PostEmailScheduleRequestSchedule + +# TODO update the JSON string below +json = "{}" +# create an instance of PostEmailScheduleRequestSchedule from a JSON string +post_email_schedule_request_schedule_instance = PostEmailScheduleRequestSchedule.from_json(json) +# print the JSON string representation of the object +print(PostEmailScheduleRequestSchedule.to_json()) + +# convert the object into a dict +post_email_schedule_request_schedule_dict = post_email_schedule_request_schedule_instance.to_dict() +# create an instance of PostEmailScheduleRequestSchedule from a dict +post_email_schedule_request_schedule_from_dict = PostEmailScheduleRequestSchedule.from_dict(post_email_schedule_request_schedule_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostEmailScheduleRequestScheduleReservationEvent.md b/cloudbeds_pms_v1_3/docs/PostEmailScheduleRequestScheduleReservationEvent.md new file mode 100644 index 0000000..27558de --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostEmailScheduleRequestScheduleReservationEvent.md @@ -0,0 +1,32 @@ +# PostEmailScheduleRequestScheduleReservationEvent + + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**event** | **str** | Specify event that triggers email sending | [optional] +**days** | **int** | Number of days prior to or after the event | [optional] +**time** | **str** | Time of the day | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule_reservation_event import PostEmailScheduleRequestScheduleReservationEvent + +# TODO update the JSON string below +json = "{}" +# create an instance of PostEmailScheduleRequestScheduleReservationEvent from a JSON string +post_email_schedule_request_schedule_reservation_event_instance = PostEmailScheduleRequestScheduleReservationEvent.from_json(json) +# print the JSON string representation of the object +print(PostEmailScheduleRequestScheduleReservationEvent.to_json()) + +# convert the object into a dict +post_email_schedule_request_schedule_reservation_event_dict = post_email_schedule_request_schedule_reservation_event_instance.to_dict() +# create an instance of PostEmailScheduleRequestScheduleReservationEvent from a dict +post_email_schedule_request_schedule_reservation_event_from_dict = PostEmailScheduleRequestScheduleReservationEvent.from_dict(post_email_schedule_request_schedule_reservation_event_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostEmailScheduleRequestScheduleReservationStatusChange.md b/cloudbeds_pms_v1_3/docs/PostEmailScheduleRequestScheduleReservationStatusChange.md new file mode 100644 index 0000000..b2867e6 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostEmailScheduleRequestScheduleReservationStatusChange.md @@ -0,0 +1,30 @@ +# PostEmailScheduleRequestScheduleReservationStatusChange + + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**status** | **str** | Specify which reservation status change triggers sending the email | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule_reservation_status_change import PostEmailScheduleRequestScheduleReservationStatusChange + +# TODO update the JSON string below +json = "{}" +# create an instance of PostEmailScheduleRequestScheduleReservationStatusChange from a JSON string +post_email_schedule_request_schedule_reservation_status_change_instance = PostEmailScheduleRequestScheduleReservationStatusChange.from_json(json) +# print the JSON string representation of the object +print(PostEmailScheduleRequestScheduleReservationStatusChange.to_json()) + +# convert the object into a dict +post_email_schedule_request_schedule_reservation_status_change_dict = post_email_schedule_request_schedule_reservation_status_change_instance.to_dict() +# create an instance of PostEmailScheduleRequestScheduleReservationStatusChange from a dict +post_email_schedule_request_schedule_reservation_status_change_from_dict = PostEmailScheduleRequestScheduleReservationStatusChange.from_dict(post_email_schedule_request_schedule_reservation_status_change_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostEmailScheduleResponse.md b/cloudbeds_pms_v1_3/docs/PostEmailScheduleResponse.md new file mode 100644 index 0000000..4c29143 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostEmailScheduleResponse.md @@ -0,0 +1,31 @@ +# PostEmailScheduleResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**email_schedule_id** | **str** | The ID of the created email schedule. Only present if success = true | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_email_schedule_response import PostEmailScheduleResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostEmailScheduleResponse from a JSON string +post_email_schedule_response_instance = PostEmailScheduleResponse.from_json(json) +# print the JSON string representation of the object +print(PostEmailScheduleResponse.to_json()) + +# convert the object into a dict +post_email_schedule_response_dict = post_email_schedule_response_instance.to_dict() +# create an instance of PostEmailScheduleResponse from a dict +post_email_schedule_response_from_dict = PostEmailScheduleResponse.from_dict(post_email_schedule_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostEmailTemplateRequestBody.md b/cloudbeds_pms_v1_3/docs/PostEmailTemplateRequestBody.md new file mode 100644 index 0000000..10d503a --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostEmailTemplateRequestBody.md @@ -0,0 +1,33 @@ +# PostEmailTemplateRequestBody + +Email message body. The body key should be a language code (IETF). A few examples are listed below. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**en** | **str** | Email message body in English | [optional] +**es** | **str** | Email message body in Spanish | [optional] +**ru** | **str** | Email message body in Russian | [optional] +**pt_br** | **str** | Email message body in Portuguese | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_email_template_request_body import PostEmailTemplateRequestBody + +# TODO update the JSON string below +json = "{}" +# create an instance of PostEmailTemplateRequestBody from a JSON string +post_email_template_request_body_instance = PostEmailTemplateRequestBody.from_json(json) +# print the JSON string representation of the object +print(PostEmailTemplateRequestBody.to_json()) + +# convert the object into a dict +post_email_template_request_body_dict = post_email_template_request_body_instance.to_dict() +# create an instance of PostEmailTemplateRequestBody from a dict +post_email_template_request_body_from_dict = PostEmailTemplateRequestBody.from_dict(post_email_template_request_body_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostEmailTemplateRequestSubject.md b/cloudbeds_pms_v1_3/docs/PostEmailTemplateRequestSubject.md new file mode 100644 index 0000000..c08a565 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostEmailTemplateRequestSubject.md @@ -0,0 +1,33 @@ +# PostEmailTemplateRequestSubject + +Email message subject. The subject key should be a language code (IETF). A few examples are listed below. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**en** | **str** | Email message subject in English | [optional] +**es** | **str** | Email message subject in Spanish | [optional] +**ru** | **str** | Email message subject in Russian | [optional] +**pt_br** | **str** | Email message subject in Portuguese | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_email_template_request_subject import PostEmailTemplateRequestSubject + +# TODO update the JSON string below +json = "{}" +# create an instance of PostEmailTemplateRequestSubject from a JSON string +post_email_template_request_subject_instance = PostEmailTemplateRequestSubject.from_json(json) +# print the JSON string representation of the object +print(PostEmailTemplateRequestSubject.to_json()) + +# convert the object into a dict +post_email_template_request_subject_dict = post_email_template_request_subject_instance.to_dict() +# create an instance of PostEmailTemplateRequestSubject from a dict +post_email_template_request_subject_from_dict = PostEmailTemplateRequestSubject.from_dict(post_email_template_request_subject_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostEmailTemplateResponse.md b/cloudbeds_pms_v1_3/docs/PostEmailTemplateResponse.md new file mode 100644 index 0000000..c3aeccf --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostEmailTemplateResponse.md @@ -0,0 +1,31 @@ +# PostEmailTemplateResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**email_template_id** | **str** | The ID of the created email template. Only present if success = true | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_email_template_response import PostEmailTemplateResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostEmailTemplateResponse from a JSON string +post_email_template_response_instance = PostEmailTemplateResponse.from_json(json) +# print the JSON string representation of the object +print(PostEmailTemplateResponse.to_json()) + +# convert the object into a dict +post_email_template_response_dict = post_email_template_response_instance.to_dict() +# create an instance of PostEmailTemplateResponse from a dict +post_email_template_response_from_dict = PostEmailTemplateResponse.from_dict(post_email_template_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostFileResponse.md b/cloudbeds_pms_v1_3/docs/PostFileResponse.md new file mode 100644 index 0000000..a7c2583 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostFileResponse.md @@ -0,0 +1,31 @@ +# PostFileResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] +**data** | [**PostGuestDocumentResponseData**](PostGuestDocumentResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_file_response import PostFileResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostFileResponse from a JSON string +post_file_response_instance = PostFileResponse.from_json(json) +# print the JSON string representation of the object +print(PostFileResponse.to_json()) + +# convert the object into a dict +post_file_response_dict = post_file_response_instance.to_dict() +# create an instance of PostFileResponse from a dict +post_file_response_from_dict = PostFileResponse.from_dict(post_file_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostGovernmentReceiptResponse.md b/cloudbeds_pms_v1_3/docs/PostGovernmentReceiptResponse.md new file mode 100644 index 0000000..3bbcc7b --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostGovernmentReceiptResponse.md @@ -0,0 +1,30 @@ +# PostGovernmentReceiptResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_government_receipt_response import PostGovernmentReceiptResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostGovernmentReceiptResponse from a JSON string +post_government_receipt_response_instance = PostGovernmentReceiptResponse.from_json(json) +# print the JSON string representation of the object +print(PostGovernmentReceiptResponse.to_json()) + +# convert the object into a dict +post_government_receipt_response_dict = post_government_receipt_response_instance.to_dict() +# create an instance of PostGovernmentReceiptResponse from a dict +post_government_receipt_response_from_dict = PostGovernmentReceiptResponse.from_dict(post_government_receipt_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostGroupNoteResponse.md b/cloudbeds_pms_v1_3/docs/PostGroupNoteResponse.md new file mode 100644 index 0000000..f09b1b8 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostGroupNoteResponse.md @@ -0,0 +1,31 @@ +# PostGroupNoteResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Success | [optional] +**code** | **int** | code HTTP status code | [optional] +**data** | [**List[PostGroupNoteResponseDataInner]**](PostGroupNoteResponseDataInner.md) | Data | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_group_note_response import PostGroupNoteResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostGroupNoteResponse from a JSON string +post_group_note_response_instance = PostGroupNoteResponse.from_json(json) +# print the JSON string representation of the object +print(PostGroupNoteResponse.to_json()) + +# convert the object into a dict +post_group_note_response_dict = post_group_note_response_instance.to_dict() +# create an instance of PostGroupNoteResponse from a dict +post_group_note_response_from_dict = PostGroupNoteResponse.from_dict(post_group_note_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostGroupNoteResponseDataInner.md b/cloudbeds_pms_v1_3/docs/PostGroupNoteResponseDataInner.md new file mode 100644 index 0000000..790db21 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostGroupNoteResponseDataInner.md @@ -0,0 +1,36 @@ +# PostGroupNoteResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | ID for the note | [optional] +**group_profile_id** | **str** | Group profile ID | [optional] +**text** | **str** | Note text | [optional] +**created_by** | **str** | Created by | [optional] +**created_at** | **str** | Created at | [optional] +**updated_at** | **str** | Updated at | [optional] +**archived** | **str** | Note archived | [optional] +**archived_at** | **str** | Note archived at | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_group_note_response_data_inner import PostGroupNoteResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostGroupNoteResponseDataInner from a JSON string +post_group_note_response_data_inner_instance = PostGroupNoteResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(PostGroupNoteResponseDataInner.to_json()) + +# convert the object into a dict +post_group_note_response_data_inner_dict = post_group_note_response_data_inner_instance.to_dict() +# create an instance of PostGroupNoteResponseDataInner from a dict +post_group_note_response_data_inner_from_dict = PostGroupNoteResponseDataInner.from_dict(post_group_note_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostGuestDocumentResponse.md b/cloudbeds_pms_v1_3/docs/PostGuestDocumentResponse.md new file mode 100644 index 0000000..8f3223e --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostGuestDocumentResponse.md @@ -0,0 +1,31 @@ +# PostGuestDocumentResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] +**data** | [**PostGuestDocumentResponseData**](PostGuestDocumentResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_guest_document_response import PostGuestDocumentResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostGuestDocumentResponse from a JSON string +post_guest_document_response_instance = PostGuestDocumentResponse.from_json(json) +# print the JSON string representation of the object +print(PostGuestDocumentResponse.to_json()) + +# convert the object into a dict +post_guest_document_response_dict = post_guest_document_response_instance.to_dict() +# create an instance of PostGuestDocumentResponse from a dict +post_guest_document_response_from_dict = PostGuestDocumentResponse.from_dict(post_guest_document_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostGuestDocumentResponseData.md b/cloudbeds_pms_v1_3/docs/PostGuestDocumentResponseData.md new file mode 100644 index 0000000..346b796 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostGuestDocumentResponseData.md @@ -0,0 +1,30 @@ +# PostGuestDocumentResponseData + +Details for the uploaded file + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**file_id** | **str** | uploaded file identifier | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_guest_document_response_data import PostGuestDocumentResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of PostGuestDocumentResponseData from a JSON string +post_guest_document_response_data_instance = PostGuestDocumentResponseData.from_json(json) +# print the JSON string representation of the object +print(PostGuestDocumentResponseData.to_json()) + +# convert the object into a dict +post_guest_document_response_data_dict = post_guest_document_response_data_instance.to_dict() +# create an instance of PostGuestDocumentResponseData from a dict +post_guest_document_response_data_from_dict = PostGuestDocumentResponseData.from_dict(post_guest_document_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostGuestNoteResponse.md b/cloudbeds_pms_v1_3/docs/PostGuestNoteResponse.md new file mode 100644 index 0000000..5d10842 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostGuestNoteResponse.md @@ -0,0 +1,31 @@ +# PostGuestNoteResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**guest_note_id** | **str** | Guest note ID | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_guest_note_response import PostGuestNoteResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostGuestNoteResponse from a JSON string +post_guest_note_response_instance = PostGuestNoteResponse.from_json(json) +# print the JSON string representation of the object +print(PostGuestNoteResponse.to_json()) + +# convert the object into a dict +post_guest_note_response_dict = post_guest_note_response_instance.to_dict() +# create an instance of PostGuestNoteResponse from a dict +post_guest_note_response_from_dict = PostGuestNoteResponse.from_dict(post_guest_note_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostGuestPhotoResponse.md b/cloudbeds_pms_v1_3/docs/PostGuestPhotoResponse.md new file mode 100644 index 0000000..63be2a8 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostGuestPhotoResponse.md @@ -0,0 +1,31 @@ +# PostGuestPhotoResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] +**data** | [**PostGuestDocumentResponseData**](PostGuestDocumentResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_guest_photo_response import PostGuestPhotoResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostGuestPhotoResponse from a JSON string +post_guest_photo_response_instance = PostGuestPhotoResponse.from_json(json) +# print the JSON string representation of the object +print(PostGuestPhotoResponse.to_json()) + +# convert the object into a dict +post_guest_photo_response_dict = post_guest_photo_response_instance.to_dict() +# create an instance of PostGuestPhotoResponse from a dict +post_guest_photo_response_from_dict = PostGuestPhotoResponse.from_dict(post_guest_photo_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostGuestRequestCustomFieldsInner.md b/cloudbeds_pms_v1_3/docs/PostGuestRequestCustomFieldsInner.md new file mode 100644 index 0000000..f096ccb --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostGuestRequestCustomFieldsInner.md @@ -0,0 +1,30 @@ +# PostGuestRequestCustomFieldsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**custom_field_name** | **str** | Custom Field shortcode. | [optional] +**custom_field_value** | **str** | Custom field value. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_guest_request_custom_fields_inner import PostGuestRequestCustomFieldsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostGuestRequestCustomFieldsInner from a JSON string +post_guest_request_custom_fields_inner_instance = PostGuestRequestCustomFieldsInner.from_json(json) +# print the JSON string representation of the object +print(PostGuestRequestCustomFieldsInner.to_json()) + +# convert the object into a dict +post_guest_request_custom_fields_inner_dict = post_guest_request_custom_fields_inner_instance.to_dict() +# create an instance of PostGuestRequestCustomFieldsInner from a dict +post_guest_request_custom_fields_inner_from_dict = PostGuestRequestCustomFieldsInner.from_dict(post_guest_request_custom_fields_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostGuestResponse.md b/cloudbeds_pms_v1_3/docs/PostGuestResponse.md new file mode 100644 index 0000000..2e03e3b --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostGuestResponse.md @@ -0,0 +1,31 @@ +# PostGuestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**guest_id** | **str** | Returns the Guest ID if the request could be completed successfully | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_guest_response import PostGuestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostGuestResponse from a JSON string +post_guest_response_instance = PostGuestResponse.from_json(json) +# print the JSON string representation of the object +print(PostGuestResponse.to_json()) + +# convert the object into a dict +post_guest_response_dict = post_guest_response_instance.to_dict() +# create an instance of PostGuestResponse from a dict +post_guest_response_from_dict = PostGuestResponse.from_dict(post_guest_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostGuestsToRoomResponse.md b/cloudbeds_pms_v1_3/docs/PostGuestsToRoomResponse.md new file mode 100644 index 0000000..6be0340 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostGuestsToRoomResponse.md @@ -0,0 +1,30 @@ +# PostGuestsToRoomResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_guests_to_room_response import PostGuestsToRoomResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostGuestsToRoomResponse from a JSON string +post_guests_to_room_response_instance = PostGuestsToRoomResponse.from_json(json) +# print the JSON string representation of the object +print(PostGuestsToRoomResponse.to_json()) + +# convert the object into a dict +post_guests_to_room_response_dict = post_guests_to_room_response_instance.to_dict() +# create an instance of PostGuestsToRoomResponse from a dict +post_guests_to_room_response_from_dict = PostGuestsToRoomResponse.from_dict(post_guests_to_room_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostHousekeeperResponse.md b/cloudbeds_pms_v1_3/docs/PostHousekeeperResponse.md new file mode 100644 index 0000000..19dd776 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostHousekeeperResponse.md @@ -0,0 +1,31 @@ +# PostHousekeeperResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**housekeeper_id** | **str** | Housekeeper ID. Returned if success = true. | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_housekeeper_response import PostHousekeeperResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostHousekeeperResponse from a JSON string +post_housekeeper_response_instance = PostHousekeeperResponse.from_json(json) +# print the JSON string representation of the object +print(PostHousekeeperResponse.to_json()) + +# convert the object into a dict +post_housekeeper_response_dict = post_housekeeper_response_instance.to_dict() +# create an instance of PostHousekeeperResponse from a dict +post_housekeeper_response_from_dict = PostHousekeeperResponse.from_dict(post_housekeeper_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostHousekeepingAssignmentResponse.md b/cloudbeds_pms_v1_3/docs/PostHousekeepingAssignmentResponse.md new file mode 100644 index 0000000..4574770 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostHousekeepingAssignmentResponse.md @@ -0,0 +1,30 @@ +# PostHousekeepingAssignmentResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_housekeeping_assignment_response import PostHousekeepingAssignmentResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostHousekeepingAssignmentResponse from a JSON string +post_housekeeping_assignment_response_instance = PostHousekeepingAssignmentResponse.from_json(json) +# print the JSON string representation of the object +print(PostHousekeepingAssignmentResponse.to_json()) + +# convert the object into a dict +post_housekeeping_assignment_response_dict = post_housekeeping_assignment_response_instance.to_dict() +# create an instance of PostHousekeepingAssignmentResponse from a dict +post_housekeeping_assignment_response_from_dict = PostHousekeepingAssignmentResponse.from_dict(post_housekeeping_assignment_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostHousekeepingStatusResponse.md b/cloudbeds_pms_v1_3/docs/PostHousekeepingStatusResponse.md new file mode 100644 index 0000000..e3a6ad4 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostHousekeepingStatusResponse.md @@ -0,0 +1,31 @@ +# PostHousekeepingStatusResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**PostHousekeepingStatusResponseData**](PostHousekeepingStatusResponseData.md) | | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_housekeeping_status_response import PostHousekeepingStatusResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostHousekeepingStatusResponse from a JSON string +post_housekeeping_status_response_instance = PostHousekeepingStatusResponse.from_json(json) +# print the JSON string representation of the object +print(PostHousekeepingStatusResponse.to_json()) + +# convert the object into a dict +post_housekeeping_status_response_dict = post_housekeeping_status_response_instance.to_dict() +# create an instance of PostHousekeepingStatusResponse from a dict +post_housekeeping_status_response_from_dict = PostHousekeepingStatusResponse.from_dict(post_housekeeping_status_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostHousekeepingStatusResponseData.md b/cloudbeds_pms_v1_3/docs/PostHousekeepingStatusResponseData.md new file mode 100644 index 0000000..cde3097 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostHousekeepingStatusResponseData.md @@ -0,0 +1,36 @@ +# PostHousekeepingStatusResponseData + + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_date** | **date** | Date for last date/time that the room condition changed | [optional] +**room_id** | **str** | ID of room | [optional] +**room_condition** | **str** | New room condition. \"inspected\" status is available only if the property has the feature enabled. | [optional] +**room_comments** | **str** | New room comments. | [optional] +**do_not_disturb** | **bool** | New \"do not disturb\" status | [optional] +**refused_service** | **bool** | New \"refused service\" status | [optional] +**vacant_pickup** | **bool** | New \"vacant_pickup\" status | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_housekeeping_status_response_data import PostHousekeepingStatusResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of PostHousekeepingStatusResponseData from a JSON string +post_housekeeping_status_response_data_instance = PostHousekeepingStatusResponseData.from_json(json) +# print the JSON string representation of the object +print(PostHousekeepingStatusResponseData.to_json()) + +# convert the object into a dict +post_housekeeping_status_response_data_dict = post_housekeeping_status_response_data_instance.to_dict() +# create an instance of PostHousekeepingStatusResponseData from a dict +post_housekeeping_status_response_data_from_dict = PostHousekeepingStatusResponseData.from_dict(post_housekeeping_status_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostItemCategoryResponse.md b/cloudbeds_pms_v1_3/docs/PostItemCategoryResponse.md new file mode 100644 index 0000000..4b3fffa --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostItemCategoryResponse.md @@ -0,0 +1,31 @@ +# PostItemCategoryResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**category_id** | **str** | Category unique identifier (if success = true) | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_item_category_response import PostItemCategoryResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostItemCategoryResponse from a JSON string +post_item_category_response_instance = PostItemCategoryResponse.from_json(json) +# print the JSON string representation of the object +print(PostItemCategoryResponse.to_json()) + +# convert the object into a dict +post_item_category_response_dict = post_item_category_response_instance.to_dict() +# create an instance of PostItemCategoryResponse from a dict +post_item_category_response_from_dict = PostItemCategoryResponse.from_dict(post_item_category_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostItemRequestPaymentsInner.md b/cloudbeds_pms_v1_3/docs/PostItemRequestPaymentsInner.md new file mode 100644 index 0000000..72a9e0a --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostItemRequestPaymentsInner.md @@ -0,0 +1,31 @@ +# PostItemRequestPaymentsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_type** | **str** | Payment method. Use the call [getPaymentMethods](#api-Payment-getPaymentMethods) to get the properties enabled payment methods. | [optional] +**amount** | **float** | payment amount | [optional] +**notes** | **str** | payment note | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_item_request_payments_inner import PostItemRequestPaymentsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostItemRequestPaymentsInner from a JSON string +post_item_request_payments_inner_instance = PostItemRequestPaymentsInner.from_json(json) +# print the JSON string representation of the object +print(PostItemRequestPaymentsInner.to_json()) + +# convert the object into a dict +post_item_request_payments_inner_dict = post_item_request_payments_inner_instance.to_dict() +# create an instance of PostItemRequestPaymentsInner from a dict +post_item_request_payments_inner_from_dict = PostItemRequestPaymentsInner.from_dict(post_item_request_payments_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostItemResponse.md b/cloudbeds_pms_v1_3/docs/PostItemResponse.md new file mode 100644 index 0000000..96ae9ea --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostItemResponse.md @@ -0,0 +1,31 @@ +# PostItemResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**PostItemResponseData**](PostItemResponseData.md) | | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_item_response import PostItemResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostItemResponse from a JSON string +post_item_response_instance = PostItemResponse.from_json(json) +# print the JSON string representation of the object +print(PostItemResponse.to_json()) + +# convert the object into a dict +post_item_response_dict = post_item_response_instance.to_dict() +# create an instance of PostItemResponse from a dict +post_item_response_from_dict = PostItemResponse.from_dict(post_item_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostItemResponseData.md b/cloudbeds_pms_v1_3/docs/PostItemResponseData.md new file mode 100644 index 0000000..a840fd2 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostItemResponseData.md @@ -0,0 +1,35 @@ +# PostItemResponseData + +Sold product details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sold_product_id** | **str** | Sold product identifier (Usable to void this product in future). | [optional] +**transaction_id** | **str** | Transaction identifier | [optional] +**transaction_status** | **str** | Transaction Status is returned \"Pending\" when sale date is in the future. | [optional] +**remaining_item_quantity** | **int** | Remaining number of items in stock (if applicable) | [optional] +**reorder_needed** | **bool** | true - Whether item is at or below value set for reorder threshold. | [optional] +**stop_sell_met** | **bool** | true - Whether item is at or below value set for stop-sell threshold. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_item_response_data import PostItemResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of PostItemResponseData from a JSON string +post_item_response_data_instance = PostItemResponseData.from_json(json) +# print the JSON string representation of the object +print(PostItemResponseData.to_json()) + +# convert the object into a dict +post_item_response_data_dict = post_item_response_data_instance.to_dict() +# create an instance of PostItemResponseData from a dict +post_item_response_data_from_dict = PostItemResponseData.from_dict(post_item_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostItemsToInventoryRequestItem.md b/cloudbeds_pms_v1_3/docs/PostItemsToInventoryRequestItem.md new file mode 100644 index 0000000..64602d1 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostItemsToInventoryRequestItem.md @@ -0,0 +1,42 @@ +# PostItemsToInventoryRequestItem + +Items + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_id** | **str** | Property ID | [optional] +**item_name** | **str** | Item name | [optional] +**category_id** | **str** | Item category identifier | [optional] +**item_type** | **str** | Item type | [optional] +**item_sku** | **str** | Item SKU. Will be generated if not set | [optional] +**item_code** | **str** | Item code | [optional] +**item_description** | **str** | Item description | [optional] +**item_price** | **float** | Item price<br />When ItemPrice is blank the item will be created as Free / Complimentaty item without price | [optional] +**stock_inventory** | **bool** | Track stock inventory for this item | [optional] [default to False] +**item_quantity** | **int** | ¹ Current amount of item available | [optional] +**reorder_threshold** | **int** | ¹ Quantity at which to reorder item | [optional] +**stop_sell_met** | **bool** | ¹ true - Whether item is at or below value set for stop-sell threshold. | [optional] [default to False] +**stop_sell** | **int** | ¹ Quantity at which to stop selling product. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_items_to_inventory_request_item import PostItemsToInventoryRequestItem + +# TODO update the JSON string below +json = "{}" +# create an instance of PostItemsToInventoryRequestItem from a JSON string +post_items_to_inventory_request_item_instance = PostItemsToInventoryRequestItem.from_json(json) +# print the JSON string representation of the object +print(PostItemsToInventoryRequestItem.to_json()) + +# convert the object into a dict +post_items_to_inventory_request_item_dict = post_items_to_inventory_request_item_instance.to_dict() +# create an instance of PostItemsToInventoryRequestItem from a dict +post_items_to_inventory_request_item_from_dict = PostItemsToInventoryRequestItem.from_dict(post_items_to_inventory_request_item_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostItemsToInventoryResponse.md b/cloudbeds_pms_v1_3/docs/PostItemsToInventoryResponse.md new file mode 100644 index 0000000..8d10b91 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostItemsToInventoryResponse.md @@ -0,0 +1,31 @@ +# PostItemsToInventoryResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[PostItemsToInventoryResponseDataInner]**](PostItemsToInventoryResponseDataInner.md) | Sold product details | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_items_to_inventory_response import PostItemsToInventoryResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostItemsToInventoryResponse from a JSON string +post_items_to_inventory_response_instance = PostItemsToInventoryResponse.from_json(json) +# print the JSON string representation of the object +print(PostItemsToInventoryResponse.to_json()) + +# convert the object into a dict +post_items_to_inventory_response_dict = post_items_to_inventory_response_instance.to_dict() +# create an instance of PostItemsToInventoryResponse from a dict +post_items_to_inventory_response_from_dict = PostItemsToInventoryResponse.from_dict(post_items_to_inventory_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostItemsToInventoryResponseDataInner.md b/cloudbeds_pms_v1_3/docs/PostItemsToInventoryResponseDataInner.md new file mode 100644 index 0000000..df3079a --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostItemsToInventoryResponseDataInner.md @@ -0,0 +1,31 @@ +# PostItemsToInventoryResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**item_id** | **str** | Item identifier | [optional] +**item_sku** | **str** | Item SKU | [optional] +**item_name** | **str** | Item name | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_items_to_inventory_response_data_inner import PostItemsToInventoryResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostItemsToInventoryResponseDataInner from a JSON string +post_items_to_inventory_response_data_inner_instance = PostItemsToInventoryResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(PostItemsToInventoryResponseDataInner.to_json()) + +# convert the object into a dict +post_items_to_inventory_response_data_inner_dict = post_items_to_inventory_response_data_inner_instance.to_dict() +# create an instance of PostItemsToInventoryResponseDataInner from a dict +post_items_to_inventory_response_data_inner_from_dict = PostItemsToInventoryResponseDataInner.from_dict(post_items_to_inventory_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostNewHouseAccountResponse.md b/cloudbeds_pms_v1_3/docs/PostNewHouseAccountResponse.md new file mode 100644 index 0000000..a2985d9 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostNewHouseAccountResponse.md @@ -0,0 +1,31 @@ +# PostNewHouseAccountResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**PostNewHouseAccountResponseData**](PostNewHouseAccountResponseData.md) | | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_new_house_account_response import PostNewHouseAccountResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostNewHouseAccountResponse from a JSON string +post_new_house_account_response_instance = PostNewHouseAccountResponse.from_json(json) +# print the JSON string representation of the object +print(PostNewHouseAccountResponse.to_json()) + +# convert the object into a dict +post_new_house_account_response_dict = post_new_house_account_response_instance.to_dict() +# create an instance of PostNewHouseAccountResponse from a dict +post_new_house_account_response_from_dict = PostNewHouseAccountResponse.from_dict(post_new_house_account_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostNewHouseAccountResponseData.md b/cloudbeds_pms_v1_3/docs/PostNewHouseAccountResponseData.md new file mode 100644 index 0000000..977de68 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostNewHouseAccountResponseData.md @@ -0,0 +1,30 @@ +# PostNewHouseAccountResponseData + +House Account details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**house_account_id** | **str** | Unique identifier of created House Account | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_new_house_account_response_data import PostNewHouseAccountResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of PostNewHouseAccountResponseData from a JSON string +post_new_house_account_response_data_instance = PostNewHouseAccountResponseData.from_json(json) +# print the JSON string representation of the object +print(PostNewHouseAccountResponseData.to_json()) + +# convert the object into a dict +post_new_house_account_response_data_dict = post_new_house_account_response_data_instance.to_dict() +# create an instance of PostNewHouseAccountResponseData from a dict +post_new_house_account_response_data_from_dict = PostNewHouseAccountResponseData.from_dict(post_new_house_account_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostPatchGroupResponse.md b/cloudbeds_pms_v1_3/docs/PostPatchGroupResponse.md new file mode 100644 index 0000000..7e2da26 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostPatchGroupResponse.md @@ -0,0 +1,30 @@ +# PostPatchGroupResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Success | [optional] +**data** | [**List[PostPatchGroupResponseDataInner]**](PostPatchGroupResponseDataInner.md) | Data | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_patch_group_response import PostPatchGroupResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostPatchGroupResponse from a JSON string +post_patch_group_response_instance = PostPatchGroupResponse.from_json(json) +# print the JSON string representation of the object +print(PostPatchGroupResponse.to_json()) + +# convert the object into a dict +post_patch_group_response_dict = post_patch_group_response_instance.to_dict() +# create an instance of PostPatchGroupResponse from a dict +post_patch_group_response_from_dict = PostPatchGroupResponse.from_dict(post_patch_group_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostPatchGroupResponseDataInner.md b/cloudbeds_pms_v1_3/docs/PostPatchGroupResponseDataInner.md new file mode 100644 index 0000000..864c954 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostPatchGroupResponseDataInner.md @@ -0,0 +1,41 @@ +# PostPatchGroupResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**group_code** | **str** | Unique ID for a group | [optional] +**name** | **str** | The name of the group | [optional] +**type** | **str** | The type of the group | [optional] +**status** | **str** | Group status | [optional] +**created** | **datetime** | Group created time | [optional] +**source_id** | **str** | The third-party source ID for this group, can be null | [optional] +**address1** | **str** | Address | [optional] +**address2** | **str** | Address2 | [optional] +**city** | **str** | City | [optional] +**zip** | **str** | Zip | [optional] +**state** | **str** | State | [optional] +**id** | **str** | ID | [optional] +**property_id** | **str** | Property Id | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_patch_group_response_data_inner import PostPatchGroupResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostPatchGroupResponseDataInner from a JSON string +post_patch_group_response_data_inner_instance = PostPatchGroupResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(PostPatchGroupResponseDataInner.to_json()) + +# convert the object into a dict +post_patch_group_response_data_inner_dict = post_patch_group_response_data_inner_instance.to_dict() +# create an instance of PostPatchGroupResponseDataInner from a dict +post_patch_group_response_data_inner_from_dict = PostPatchGroupResponseDataInner.from_dict(post_patch_group_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostPatchRateRequestRatesInner.md b/cloudbeds_pms_v1_3/docs/PostPatchRateRequestRatesInner.md new file mode 100644 index 0000000..3fc80c5 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostPatchRateRequestRatesInner.md @@ -0,0 +1,30 @@ +# PostPatchRateRequestRatesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**rate_id** | **str** | Rate ID | [optional] +**interval** | [**PostPatchRateRequestRatesInnerInterval**](PostPatchRateRequestRatesInnerInterval.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_patch_rate_request_rates_inner import PostPatchRateRequestRatesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostPatchRateRequestRatesInner from a JSON string +post_patch_rate_request_rates_inner_instance = PostPatchRateRequestRatesInner.from_json(json) +# print the JSON string representation of the object +print(PostPatchRateRequestRatesInner.to_json()) + +# convert the object into a dict +post_patch_rate_request_rates_inner_dict = post_patch_rate_request_rates_inner_instance.to_dict() +# create an instance of PostPatchRateRequestRatesInner from a dict +post_patch_rate_request_rates_inner_from_dict = PostPatchRateRequestRatesInner.from_dict(post_patch_rate_request_rates_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostPatchRateRequestRatesInnerInterval.md b/cloudbeds_pms_v1_3/docs/PostPatchRateRequestRatesInnerInterval.md new file mode 100644 index 0000000..ec45e09 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostPatchRateRequestRatesInnerInterval.md @@ -0,0 +1,40 @@ +# PostPatchRateRequestRatesInnerInterval + +Rate update details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**start_date** | **date** | Interval Start date. Format: YYYY-MM-DD | [optional] +**end_date** | **date** | Interval End date. Format: YYYY-MM-DD | [optional] +**rate** | **float** | Base rate for the selected date | [optional] +**max_los** | **int** | Maximum length of stay for the selected date. | [optional] +**min_los** | **int** | Minimum length of stay for the selected date. | [optional] +**closed_to_arrival** | **bool** | Whether it is closed to arrival. | [optional] +**closed_to_departure** | **bool** | Whether it is closed to departure. | [optional] +**cut_off** | **int** | Cut off time for the selected date. | [optional] +**last_minute_booking** | **int** | Last minute bookings. | [optional] +**blocked** | **bool** | Whether the accommodation is blocked. | [optional] +**guest_pricing** | [**PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing**](PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_patch_rate_request_rates_inner_interval import PostPatchRateRequestRatesInnerInterval + +# TODO update the JSON string below +json = "{}" +# create an instance of PostPatchRateRequestRatesInnerInterval from a JSON string +post_patch_rate_request_rates_inner_interval_instance = PostPatchRateRequestRatesInnerInterval.from_json(json) +# print the JSON string representation of the object +print(PostPatchRateRequestRatesInnerInterval.to_json()) + +# convert the object into a dict +post_patch_rate_request_rates_inner_interval_dict = post_patch_rate_request_rates_inner_interval_instance.to_dict() +# create an instance of PostPatchRateRequestRatesInnerInterval from a dict +post_patch_rate_request_rates_inner_interval_from_dict = PostPatchRateRequestRatesInnerInterval.from_dict(post_patch_rate_request_rates_inner_interval_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostPatchRateResponse.md b/cloudbeds_pms_v1_3/docs/PostPatchRateResponse.md new file mode 100644 index 0000000..1f5ecc7 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostPatchRateResponse.md @@ -0,0 +1,31 @@ +# PostPatchRateResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns true if the request could be completed | [optional] +**job_reference_id** | **str** | ReferenceId ID for the job created for this update. This can be used to track success of the batch for this rate update. See getRateJobs or the Rate Batch Job Webhook | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_patch_rate_response import PostPatchRateResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostPatchRateResponse from a JSON string +post_patch_rate_response_instance = PostPatchRateResponse.from_json(json) +# print the JSON string representation of the object +print(PostPatchRateResponse.to_json()) + +# convert the object into a dict +post_patch_rate_response_dict = post_patch_rate_response_instance.to_dict() +# create an instance of PostPatchRateResponse from a dict +post_patch_rate_response_from_dict = PostPatchRateResponse.from_dict(post_patch_rate_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostPaymentResponse.md b/cloudbeds_pms_v1_3/docs/PostPaymentResponse.md new file mode 100644 index 0000000..445e2b5 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostPaymentResponse.md @@ -0,0 +1,32 @@ +# PostPaymentResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**payment_id** | **str** | Returns paymentID of transaction | [optional] +**transaction_id** | **str** | Returns transactionID | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_payment_response import PostPaymentResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostPaymentResponse from a JSON string +post_payment_response_instance = PostPaymentResponse.from_json(json) +# print the JSON string representation of the object +print(PostPaymentResponse.to_json()) + +# convert the object into a dict +post_payment_response_dict = post_payment_response_instance.to_dict() +# create an instance of PostPaymentResponse from a dict +post_payment_response_from_dict = PostPaymentResponse.from_dict(post_payment_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostPutAppPropertySettingsResponse.md b/cloudbeds_pms_v1_3/docs/PostPutAppPropertySettingsResponse.md new file mode 100644 index 0000000..92dd6a7 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostPutAppPropertySettingsResponse.md @@ -0,0 +1,30 @@ +# PostPutAppPropertySettingsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Success | [optional] +**data** | [**PostAppPropertySettingResponseData**](PostAppPropertySettingResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_put_app_property_settings_response import PostPutAppPropertySettingsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostPutAppPropertySettingsResponse from a JSON string +post_put_app_property_settings_response_instance = PostPutAppPropertySettingsResponse.from_json(json) +# print the JSON string representation of the object +print(PostPutAppPropertySettingsResponse.to_json()) + +# convert the object into a dict +post_put_app_property_settings_response_dict = post_put_app_property_settings_response_instance.to_dict() +# create an instance of PostPutAppPropertySettingsResponse from a dict +post_put_app_property_settings_response_from_dict = PostPutAppPropertySettingsResponse.from_dict(post_put_app_property_settings_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostPutGroupResponse.md b/cloudbeds_pms_v1_3/docs/PostPutGroupResponse.md new file mode 100644 index 0000000..cbbad3f --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostPutGroupResponse.md @@ -0,0 +1,30 @@ +# PostPutGroupResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Success | [optional] +**data** | [**List[PostPatchGroupResponseDataInner]**](PostPatchGroupResponseDataInner.md) | Data | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_put_group_response import PostPutGroupResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostPutGroupResponse from a JSON string +post_put_group_response_instance = PostPutGroupResponse.from_json(json) +# print the JSON string representation of the object +print(PostPutGroupResponse.to_json()) + +# convert the object into a dict +post_put_group_response_dict = post_put_group_response_instance.to_dict() +# create an instance of PostPutGroupResponse from a dict +post_put_group_response_from_dict = PostPutGroupResponse.from_dict(post_put_group_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostPutRateRequestRatesInner.md b/cloudbeds_pms_v1_3/docs/PostPutRateRequestRatesInner.md new file mode 100644 index 0000000..3954ff2 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostPutRateRequestRatesInner.md @@ -0,0 +1,30 @@ +# PostPutRateRequestRatesInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**rate_id** | **str** | Rate ID | [optional] +**interval** | [**List[PostPutRateRequestRatesInnerIntervalInner]**](PostPutRateRequestRatesInnerIntervalInner.md) | Rate update details | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_put_rate_request_rates_inner import PostPutRateRequestRatesInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostPutRateRequestRatesInner from a JSON string +post_put_rate_request_rates_inner_instance = PostPutRateRequestRatesInner.from_json(json) +# print the JSON string representation of the object +print(PostPutRateRequestRatesInner.to_json()) + +# convert the object into a dict +post_put_rate_request_rates_inner_dict = post_put_rate_request_rates_inner_instance.to_dict() +# create an instance of PostPutRateRequestRatesInner from a dict +post_put_rate_request_rates_inner_from_dict = PostPutRateRequestRatesInner.from_dict(post_put_rate_request_rates_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostPutRateRequestRatesInnerIntervalInner.md b/cloudbeds_pms_v1_3/docs/PostPutRateRequestRatesInnerIntervalInner.md new file mode 100644 index 0000000..60493a0 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostPutRateRequestRatesInnerIntervalInner.md @@ -0,0 +1,31 @@ +# PostPutRateRequestRatesInnerIntervalInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**start_date** | **date** | Interval Start date. Format: YYYY-MM-DD | [optional] +**end_date** | **date** | Interval End date. Format: YYYY-MM-DD | [optional] +**rate** | **float** | Base rate for the selected date | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_put_rate_request_rates_inner_interval_inner import PostPutRateRequestRatesInnerIntervalInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostPutRateRequestRatesInnerIntervalInner from a JSON string +post_put_rate_request_rates_inner_interval_inner_instance = PostPutRateRequestRatesInnerIntervalInner.from_json(json) +# print the JSON string representation of the object +print(PostPutRateRequestRatesInnerIntervalInner.to_json()) + +# convert the object into a dict +post_put_rate_request_rates_inner_interval_inner_dict = post_put_rate_request_rates_inner_interval_inner_instance.to_dict() +# create an instance of PostPutRateRequestRatesInnerIntervalInner from a dict +post_put_rate_request_rates_inner_interval_inner_from_dict = PostPutRateRequestRatesInnerIntervalInner.from_dict(post_put_rate_request_rates_inner_interval_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostPutRateResponse.md b/cloudbeds_pms_v1_3/docs/PostPutRateResponse.md new file mode 100644 index 0000000..036cd9d --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostPutRateResponse.md @@ -0,0 +1,31 @@ +# PostPutRateResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns true if the request could be completed | [optional] +**job_reference_id** | **str** | ReferenceId ID for the job created for this update. This can be used to track success of the batch for this rate update. See getRateJobs or the Rate Batch Job Webhook | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_put_rate_response import PostPutRateResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostPutRateResponse from a JSON string +post_put_rate_response_instance = PostPutRateResponse.from_json(json) +# print the JSON string representation of the object +print(PostPutRateResponse.to_json()) + +# convert the object into a dict +post_put_rate_response_dict = post_put_rate_response_instance.to_dict() +# create an instance of PostPutRateResponse from a dict +post_put_rate_response_from_dict = PostPutRateResponse.from_dict(post_put_rate_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostReservationDocumentResponse.md b/cloudbeds_pms_v1_3/docs/PostReservationDocumentResponse.md new file mode 100644 index 0000000..80293d2 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostReservationDocumentResponse.md @@ -0,0 +1,31 @@ +# PostReservationDocumentResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] +**data** | [**PostGuestDocumentResponseData**](PostGuestDocumentResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_reservation_document_response import PostReservationDocumentResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostReservationDocumentResponse from a JSON string +post_reservation_document_response_instance = PostReservationDocumentResponse.from_json(json) +# print the JSON string representation of the object +print(PostReservationDocumentResponse.to_json()) + +# convert the object into a dict +post_reservation_document_response_dict = post_reservation_document_response_instance.to_dict() +# create an instance of PostReservationDocumentResponse from a dict +post_reservation_document_response_from_dict = PostReservationDocumentResponse.from_dict(post_reservation_document_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostReservationNoteResponse.md b/cloudbeds_pms_v1_3/docs/PostReservationNoteResponse.md new file mode 100644 index 0000000..20c20b8 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostReservationNoteResponse.md @@ -0,0 +1,31 @@ +# PostReservationNoteResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**reservation_note_id** | **str** | Reservation note ID | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_reservation_note_response import PostReservationNoteResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostReservationNoteResponse from a JSON string +post_reservation_note_response_instance = PostReservationNoteResponse.from_json(json) +# print the JSON string representation of the object +print(PostReservationNoteResponse.to_json()) + +# convert the object into a dict +post_reservation_note_response_dict = post_reservation_note_response_instance.to_dict() +# create an instance of PostReservationNoteResponse from a dict +post_reservation_note_response_from_dict = PostReservationNoteResponse.from_dict(post_reservation_note_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostReservationRequestAdultsInner.md b/cloudbeds_pms_v1_3/docs/PostReservationRequestAdultsInner.md new file mode 100644 index 0000000..27cf781 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostReservationRequestAdultsInner.md @@ -0,0 +1,31 @@ +# PostReservationRequestAdultsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**room_type_id** | **str** | Room Type ID | [optional] +**quantity** | **int** | Quantity of adults for the room type ID | [optional] +**room_id** | **str** | ID of the individual room | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_reservation_request_adults_inner import PostReservationRequestAdultsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostReservationRequestAdultsInner from a JSON string +post_reservation_request_adults_inner_instance = PostReservationRequestAdultsInner.from_json(json) +# print the JSON string representation of the object +print(PostReservationRequestAdultsInner.to_json()) + +# convert the object into a dict +post_reservation_request_adults_inner_dict = post_reservation_request_adults_inner_instance.to_dict() +# create an instance of PostReservationRequestAdultsInner from a dict +post_reservation_request_adults_inner_from_dict = PostReservationRequestAdultsInner.from_dict(post_reservation_request_adults_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostReservationRequestChildrenInner.md b/cloudbeds_pms_v1_3/docs/PostReservationRequestChildrenInner.md new file mode 100644 index 0000000..1313306 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostReservationRequestChildrenInner.md @@ -0,0 +1,31 @@ +# PostReservationRequestChildrenInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**room_type_id** | **str** | Room Type ID | [optional] +**quantity** | **int** | Number of children for the room type ID | [optional] +**room_id** | **str** | ID of the individual room | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_reservation_request_children_inner import PostReservationRequestChildrenInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostReservationRequestChildrenInner from a JSON string +post_reservation_request_children_inner_instance = PostReservationRequestChildrenInner.from_json(json) +# print the JSON string representation of the object +print(PostReservationRequestChildrenInner.to_json()) + +# convert the object into a dict +post_reservation_request_children_inner_dict = post_reservation_request_children_inner_instance.to_dict() +# create an instance of PostReservationRequestChildrenInner from a dict +post_reservation_request_children_inner_from_dict = PostReservationRequestChildrenInner.from_dict(post_reservation_request_children_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostReservationRequestCustomFieldsInner.md b/cloudbeds_pms_v1_3/docs/PostReservationRequestCustomFieldsInner.md new file mode 100644 index 0000000..f85a907 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostReservationRequestCustomFieldsInner.md @@ -0,0 +1,30 @@ +# PostReservationRequestCustomFieldsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**field_name** | **str** | Internal custom field reference. Must match the registered name (shortcode) in backend. Pay Attention | [optional] +**field_value** | **str** | Custom field value. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_reservation_request_custom_fields_inner import PostReservationRequestCustomFieldsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostReservationRequestCustomFieldsInner from a JSON string +post_reservation_request_custom_fields_inner_instance = PostReservationRequestCustomFieldsInner.from_json(json) +# print the JSON string representation of the object +print(PostReservationRequestCustomFieldsInner.to_json()) + +# convert the object into a dict +post_reservation_request_custom_fields_inner_dict = post_reservation_request_custom_fields_inner_instance.to_dict() +# create an instance of PostReservationRequestCustomFieldsInner from a dict +post_reservation_request_custom_fields_inner_from_dict = PostReservationRequestCustomFieldsInner.from_dict(post_reservation_request_custom_fields_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostReservationRequestRoomsInner.md b/cloudbeds_pms_v1_3/docs/PostReservationRequestRoomsInner.md new file mode 100644 index 0000000..521f324 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostReservationRequestRoomsInner.md @@ -0,0 +1,32 @@ +# PostReservationRequestRoomsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**room_type_id** | **str** | Room Type ID | [optional] +**quantity** | **int** | Quantity of rooms for the room type ID | [optional] +**room_id** | **str** | ID of the individual room to be booked. This feature must be enabled on \"MyBookings\" settings, and the room should be available at the time of the booking or else it will result in an unassigned room. It will automatically override \"quantity\" value to 1 and roomTypeID when used. | [optional] +**room_rate_id** | **str** | Specific Rate ID used for the room type ID. Can be ommitted. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_reservation_request_rooms_inner import PostReservationRequestRoomsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostReservationRequestRoomsInner from a JSON string +post_reservation_request_rooms_inner_instance = PostReservationRequestRoomsInner.from_json(json) +# print the JSON string representation of the object +print(PostReservationRequestRoomsInner.to_json()) + +# convert the object into a dict +post_reservation_request_rooms_inner_dict = post_reservation_request_rooms_inner_instance.to_dict() +# create an instance of PostReservationRequestRoomsInner from a dict +post_reservation_request_rooms_inner_from_dict = PostReservationRequestRoomsInner.from_dict(post_reservation_request_rooms_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostReservationResponse.md b/cloudbeds_pms_v1_3/docs/PostReservationResponse.md new file mode 100644 index 0000000..ac6a0ff --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostReservationResponse.md @@ -0,0 +1,42 @@ +# PostReservationResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**reservation_id** | **str** | Reservation identifier | [optional] +**status** | **str** | Reservation status<br /> 'not_confirmed' - Reservation is pending confirmation<br /> 'confirmed' - Reservation is confirmed<br /> | [optional] +**guest_id** | **str** | Guest ID | [optional] +**guest_first_name** | **str** | Guest First Name | [optional] +**guest_last_name** | **str** | Guest Last Name | [optional] +**guest_gender** | **str** | Guest Gender | [optional] +**guest_email** | **str** | Guest Email | [optional] +**start_date** | **date** | Reservation CheckIn date | [optional] +**end_date** | **date** | Reservation CheckOut date | [optional] +**date_created** | **datetime** | Reservation creation datetime | [optional] +**grand_total** | **float** | Grand Total | [optional] +**unassigned** | [**List[PostReservationResponseUnassignedInner]**](PostReservationResponseUnassignedInner.md) | unassigned rooms array | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_reservation_response import PostReservationResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostReservationResponse from a JSON string +post_reservation_response_instance = PostReservationResponse.from_json(json) +# print the JSON string representation of the object +print(PostReservationResponse.to_json()) + +# convert the object into a dict +post_reservation_response_dict = post_reservation_response_instance.to_dict() +# create an instance of PostReservationResponse from a dict +post_reservation_response_from_dict = PostReservationResponse.from_dict(post_reservation_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostReservationResponseUnassignedInner.md b/cloudbeds_pms_v1_3/docs/PostReservationResponseUnassignedInner.md new file mode 100644 index 0000000..e076abe --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostReservationResponseUnassignedInner.md @@ -0,0 +1,35 @@ +# PostReservationResponseUnassignedInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sub_reservation_id** | **str** | | [optional] +**room_type_name** | **str** | | [optional] +**room_type_id** | **str** | | [optional] +**adults** | **int** | Adults included in rate | [optional] +**children** | **int** | Children included in rate | [optional] +**daily_rates** | [**List[GetReservationResponseDataAssignedInnerDailyRatesInner]**](GetReservationResponseDataAssignedInnerDailyRatesInner.md) | rates for room | [optional] +**room_total** | **float** | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_reservation_response_unassigned_inner import PostReservationResponseUnassignedInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostReservationResponseUnassignedInner from a JSON string +post_reservation_response_unassigned_inner_instance = PostReservationResponseUnassignedInner.from_json(json) +# print the JSON string representation of the object +print(PostReservationResponseUnassignedInner.to_json()) + +# convert the object into a dict +post_reservation_response_unassigned_inner_dict = post_reservation_response_unassigned_inner_instance.to_dict() +# create an instance of PostReservationResponseUnassignedInner from a dict +post_reservation_response_unassigned_inner_from_dict = PostReservationResponseUnassignedInner.from_dict(post_reservation_response_unassigned_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostRoomAssignResponse.md b/cloudbeds_pms_v1_3/docs/PostRoomAssignResponse.md new file mode 100644 index 0000000..d47f5a6 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostRoomAssignResponse.md @@ -0,0 +1,30 @@ +# PostRoomAssignResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_room_assign_response import PostRoomAssignResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostRoomAssignResponse from a JSON string +post_room_assign_response_instance = PostRoomAssignResponse.from_json(json) +# print the JSON string representation of the object +print(PostRoomAssignResponse.to_json()) + +# convert the object into a dict +post_room_assign_response_dict = post_room_assign_response_instance.to_dict() +# create an instance of PostRoomAssignResponse from a dict +post_room_assign_response_from_dict = PostRoomAssignResponse.from_dict(post_room_assign_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostRoomBlockRequestRoomsInner.md b/cloudbeds_pms_v1_3/docs/PostRoomBlockRequestRoomsInner.md new file mode 100644 index 0000000..bb466b3 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostRoomBlockRequestRoomsInner.md @@ -0,0 +1,30 @@ +# PostRoomBlockRequestRoomsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**room_id** | **str** | Room ID | [optional] +**room_type_id** | **str** | Room type ID | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_room_block_request_rooms_inner import PostRoomBlockRequestRoomsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostRoomBlockRequestRoomsInner from a JSON string +post_room_block_request_rooms_inner_instance = PostRoomBlockRequestRoomsInner.from_json(json) +# print the JSON string representation of the object +print(PostRoomBlockRequestRoomsInner.to_json()) + +# convert the object into a dict +post_room_block_request_rooms_inner_dict = post_room_block_request_rooms_inner_instance.to_dict() +# create an instance of PostRoomBlockRequestRoomsInner from a dict +post_room_block_request_rooms_inner_from_dict = PostRoomBlockRequestRoomsInner.from_dict(post_room_block_request_rooms_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostRoomBlockResponse.md b/cloudbeds_pms_v1_3/docs/PostRoomBlockResponse.md new file mode 100644 index 0000000..6d5f529 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostRoomBlockResponse.md @@ -0,0 +1,37 @@ +# PostRoomBlockResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**property_id** | **str** | Property ID | [optional] +**room_block_id** | **str** | Room block ID | [optional] +**room_block_type** | **str** | Room block type. ‘blocked’ - Room block. ‘out_of_service’ - Out of service block. 'courtesy_hold' - Courtesy hold block. | [optional] +**room_block_reason** | **str** | Room block reason | [optional] +**start_date** | **date** | Room block start date | [optional] +**end_date** | **date** | Room block end date | [optional] +**rooms** | [**List[PostRoomBlockResponseRoomsInner]**](PostRoomBlockResponseRoomsInner.md) | All rooms for room block. For properties using split inventory, this includes both source rooms (explicitly requested) and linked rooms (automatically added based on shared inventory configuration). | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_room_block_response import PostRoomBlockResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostRoomBlockResponse from a JSON string +post_room_block_response_instance = PostRoomBlockResponse.from_json(json) +# print the JSON string representation of the object +print(PostRoomBlockResponse.to_json()) + +# convert the object into a dict +post_room_block_response_dict = post_room_block_response_instance.to_dict() +# create an instance of PostRoomBlockResponse from a dict +post_room_block_response_from_dict = PostRoomBlockResponse.from_dict(post_room_block_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostRoomBlockResponseRoomsInner.md b/cloudbeds_pms_v1_3/docs/PostRoomBlockResponseRoomsInner.md new file mode 100644 index 0000000..0ee62b1 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostRoomBlockResponseRoomsInner.md @@ -0,0 +1,32 @@ +# PostRoomBlockResponseRoomsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**event_id** | **str** | Event ID (unique identifier for this specific room's block entry) | [optional] +**room_id** | **str** | Room ID | [optional] +**room_type_id** | **str** | Room Type ID | [optional] +**is_source** | **bool** | Indicates whether this room was explicitly requested (true) or automatically added due to split inventory configuration (false). Auto-added rooms cannot be individually removed or swapped; they are managed through their source room. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_room_block_response_rooms_inner import PostRoomBlockResponseRoomsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostRoomBlockResponseRoomsInner from a JSON string +post_room_block_response_rooms_inner_instance = PostRoomBlockResponseRoomsInner.from_json(json) +# print the JSON string representation of the object +print(PostRoomBlockResponseRoomsInner.to_json()) + +# convert the object into a dict +post_room_block_response_rooms_inner_dict = post_room_block_response_rooms_inner_instance.to_dict() +# create an instance of PostRoomBlockResponseRoomsInner from a dict +post_room_block_response_rooms_inner_from_dict = PostRoomBlockResponseRoomsInner.from_dict(post_room_block_response_rooms_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostRoomCheckInResponse.md b/cloudbeds_pms_v1_3/docs/PostRoomCheckInResponse.md new file mode 100644 index 0000000..527a0b4 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostRoomCheckInResponse.md @@ -0,0 +1,30 @@ +# PostRoomCheckInResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_room_check_in_response import PostRoomCheckInResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostRoomCheckInResponse from a JSON string +post_room_check_in_response_instance = PostRoomCheckInResponse.from_json(json) +# print the JSON string representation of the object +print(PostRoomCheckInResponse.to_json()) + +# convert the object into a dict +post_room_check_in_response_dict = post_room_check_in_response_instance.to_dict() +# create an instance of PostRoomCheckInResponse from a dict +post_room_check_in_response_from_dict = PostRoomCheckInResponse.from_dict(post_room_check_in_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostRoomCheckOutResponse.md b/cloudbeds_pms_v1_3/docs/PostRoomCheckOutResponse.md new file mode 100644 index 0000000..c0d6301 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostRoomCheckOutResponse.md @@ -0,0 +1,30 @@ +# PostRoomCheckOutResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_room_check_out_response import PostRoomCheckOutResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostRoomCheckOutResponse from a JSON string +post_room_check_out_response_instance = PostRoomCheckOutResponse.from_json(json) +# print the JSON string representation of the object +print(PostRoomCheckOutResponse.to_json()) + +# convert the object into a dict +post_room_check_out_response_dict = post_room_check_out_response_instance.to_dict() +# create an instance of PostRoomCheckOutResponse from a dict +post_room_check_out_response_from_dict = PostRoomCheckOutResponse.from_dict(post_room_check_out_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockNotesResponse.md b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockNotesResponse.md new file mode 100644 index 0000000..b9149d4 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockNotesResponse.md @@ -0,0 +1,30 @@ +# PostUpdateAllotmentBlockNotesResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**PostUpdateAllotmentBlockNotesResponseData**](PostUpdateAllotmentBlockNotesResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_update_allotment_block_notes_response import PostUpdateAllotmentBlockNotesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostUpdateAllotmentBlockNotesResponse from a JSON string +post_update_allotment_block_notes_response_instance = PostUpdateAllotmentBlockNotesResponse.from_json(json) +# print the JSON string representation of the object +print(PostUpdateAllotmentBlockNotesResponse.to_json()) + +# convert the object into a dict +post_update_allotment_block_notes_response_dict = post_update_allotment_block_notes_response_instance.to_dict() +# create an instance of PostUpdateAllotmentBlockNotesResponse from a dict +post_update_allotment_block_notes_response_from_dict = PostUpdateAllotmentBlockNotesResponse.from_dict(post_update_allotment_block_notes_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockNotesResponseData.md b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockNotesResponseData.md new file mode 100644 index 0000000..47b6555 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockNotesResponseData.md @@ -0,0 +1,36 @@ +# PostUpdateAllotmentBlockNotesResponseData + +The created note + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | Note ID | [optional] +**text** | **str** | Note contents | [optional] +**created_by** | **str** | User Name | [optional] +**created_at** | **datetime** | Creation datetime (format: Y-m-d H:i:s) | [optional] +**updated_at** | **datetime** | Last modification datetime (format: Y-m-d H:i:s) | [optional] +**archived_at** | **datetime** | Archival datetime (format: Y-m-d H:i:s) | [optional] +**status** | **bool** | Note status | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_update_allotment_block_notes_response_data import PostUpdateAllotmentBlockNotesResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of PostUpdateAllotmentBlockNotesResponseData from a JSON string +post_update_allotment_block_notes_response_data_instance = PostUpdateAllotmentBlockNotesResponseData.from_json(json) +# print the JSON string representation of the object +print(PostUpdateAllotmentBlockNotesResponseData.to_json()) + +# convert the object into a dict +post_update_allotment_block_notes_response_data_dict = post_update_allotment_block_notes_response_data_instance.to_dict() +# create an instance of PostUpdateAllotmentBlockNotesResponseData from a dict +post_update_allotment_block_notes_response_data_from_dict = PostUpdateAllotmentBlockNotesResponseData.from_dict(post_update_allotment_block_notes_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAllotmentIntervalsInner.md b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAllotmentIntervalsInner.md new file mode 100644 index 0000000..878e4a9 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAllotmentIntervalsInner.md @@ -0,0 +1,31 @@ +# PostUpdateAllotmentBlockRequestAllotmentIntervalsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**policy_id** | **str** | Policy ID to associate with the interval | [optional] +**room_type_id** | **str** | Room type id | [optional] +**availability** | [**List[PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner]**](PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.md) | Interval availability data by day in interval | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner import PostUpdateAllotmentBlockRequestAllotmentIntervalsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostUpdateAllotmentBlockRequestAllotmentIntervalsInner from a JSON string +post_update_allotment_block_request_allotment_intervals_inner_instance = PostUpdateAllotmentBlockRequestAllotmentIntervalsInner.from_json(json) +# print the JSON string representation of the object +print(PostUpdateAllotmentBlockRequestAllotmentIntervalsInner.to_json()) + +# convert the object into a dict +post_update_allotment_block_request_allotment_intervals_inner_dict = post_update_allotment_block_request_allotment_intervals_inner_instance.to_dict() +# create an instance of PostUpdateAllotmentBlockRequestAllotmentIntervalsInner from a dict +post_update_allotment_block_request_allotment_intervals_inner_from_dict = PostUpdateAllotmentBlockRequestAllotmentIntervalsInner.from_dict(post_update_allotment_block_request_allotment_intervals_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.md b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.md new file mode 100644 index 0000000..11bc804 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.md @@ -0,0 +1,34 @@ +# PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**block_allotted** | **int** | Total number of units available for the room type for this day | [optional] +**var_date** | **date** | the day within the interval (YYYY-MM-DD) | [optional] +**rate** | **str** | the price if applicable | [optional] +**guest_pricing** | [**PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing**](PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.md) | | [optional] +**restrictions** | [**PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions**](PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions.md) | | [optional] +**rooms** | **List[str]** | Array of room IDs assigned to this date the number of applicable keys varies here based on the occupancy settings for the room type. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner_availability_inner import PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner from a JSON string +post_update_allotment_block_request_allotment_intervals_inner_availability_inner_instance = PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.from_json(json) +# print the JSON string representation of the object +print(PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.to_json()) + +# convert the object into a dict +post_update_allotment_block_request_allotment_intervals_inner_availability_inner_dict = post_update_allotment_block_request_allotment_intervals_inner_availability_inner_instance.to_dict() +# create an instance of PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner from a dict +post_update_allotment_block_request_allotment_intervals_inner_availability_inner_from_dict = PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.from_dict(post_update_allotment_block_request_allotment_intervals_inner_availability_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.md b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.md new file mode 100644 index 0000000..4965418 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.md @@ -0,0 +1,35 @@ +# PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing + +Guest pricing data if applicable. Note: + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**adult1** | **str** | Price for adult 1 | [optional] +**adult2** | **str** | Price for adult 2 | [optional] +**adult3** | **str** | Price for adult 3 | [optional] +**child1** | **str** | Price for child 1 | [optional] +**child2** | **str** | Price for child 2 | [optional] +**child3** | **str** | Price for child 3 | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing import PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing + +# TODO update the JSON string below +json = "{}" +# create an instance of PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing from a JSON string +post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing_instance = PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.from_json(json) +# print the JSON string representation of the object +print(PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.to_json()) + +# convert the object into a dict +post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing_dict = post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing_instance.to_dict() +# create an instance of PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing from a dict +post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing_from_dict = PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.from_dict(post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAutoRelease.md b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAutoRelease.md new file mode 100644 index 0000000..218a0e4 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockRequestAutoRelease.md @@ -0,0 +1,32 @@ +# PostUpdateAllotmentBlockRequestAutoRelease + +Optional auto-release configuration NOTE: pass empty object to remove auto-release configuration + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**release_type** | **str** | The type of auto-release | [optional] +**days** | **int** | The number of days prior to the end of the allotment block to begin releasing dates from the allotment block | [optional] +**release_time** | **str** | The hour to being the auto-release in HH:00 format, e.g. '00:00', '01:00'... | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_auto_release import PostUpdateAllotmentBlockRequestAutoRelease + +# TODO update the JSON string below +json = "{}" +# create an instance of PostUpdateAllotmentBlockRequestAutoRelease from a JSON string +post_update_allotment_block_request_auto_release_instance = PostUpdateAllotmentBlockRequestAutoRelease.from_json(json) +# print the JSON string representation of the object +print(PostUpdateAllotmentBlockRequestAutoRelease.to_json()) + +# convert the object into a dict +post_update_allotment_block_request_auto_release_dict = post_update_allotment_block_request_auto_release_instance.to_dict() +# create an instance of PostUpdateAllotmentBlockRequestAutoRelease from a dict +post_update_allotment_block_request_auto_release_from_dict = PostUpdateAllotmentBlockRequestAutoRelease.from_dict(post_update_allotment_block_request_auto_release_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponse.md b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponse.md new file mode 100644 index 0000000..89f78e2 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponse.md @@ -0,0 +1,30 @@ +# PostUpdateAllotmentBlockResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**List[PostUpdateAllotmentBlockResponseDataInner]**](PostUpdateAllotmentBlockResponseDataInner.md) | Allotment Blocks | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response import PostUpdateAllotmentBlockResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostUpdateAllotmentBlockResponse from a JSON string +post_update_allotment_block_response_instance = PostUpdateAllotmentBlockResponse.from_json(json) +# print the JSON string representation of the object +print(PostUpdateAllotmentBlockResponse.to_json()) + +# convert the object into a dict +post_update_allotment_block_response_dict = post_update_allotment_block_response_instance.to_dict() +# create an instance of PostUpdateAllotmentBlockResponse from a dict +post_update_allotment_block_response_from_dict = PostUpdateAllotmentBlockResponse.from_dict(post_update_allotment_block_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponseDataInner.md b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponseDataInner.md new file mode 100644 index 0000000..a73cd51 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponseDataInner.md @@ -0,0 +1,43 @@ +# PostUpdateAllotmentBlockResponseDataInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_id** | **str** | Property ID associated to the allotment block | [optional] +**allotment_block_code** | **str** | Allotment block code | [optional] +**allotment_block_status** | **str** | Allotment block status | [optional] +**allotment_block_name** | **str** | Allotment block name | [optional] +**allotment_block_id** | **str** | Allotment block ID | [optional] +**rate_type** | **str** | Rate type for the allotment block | [optional] +**rate_plan_id** | **str** | Rate plan ID if applicable | [optional] +**allotment_type** | **str** | the type of allotment block | [optional] +**group_id** | **str** | Group profile ID associated to the allotment block | [optional] +**group_code** | **str** | Group profile code associated to the allotment block | [optional] +**event_id** | **str** | Event ID associated to the allotment block | [optional] +**event_code** | **str** | Event code associated to the allotment block | [optional] +**is_auto_release** | **bool** | If the allotment block is configured for auto-release | [optional] +**auto_release** | [**PostCreateAllotmentBlockResponseDataInnerAutoRelease**](PostCreateAllotmentBlockResponseDataInnerAutoRelease.md) | | [optional] +**allotment_intervals** | [**List[PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner]**](PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.md) | array of interval data by room type | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner import PostUpdateAllotmentBlockResponseDataInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostUpdateAllotmentBlockResponseDataInner from a JSON string +post_update_allotment_block_response_data_inner_instance = PostUpdateAllotmentBlockResponseDataInner.from_json(json) +# print the JSON string representation of the object +print(PostUpdateAllotmentBlockResponseDataInner.to_json()) + +# convert the object into a dict +post_update_allotment_block_response_data_inner_dict = post_update_allotment_block_response_data_inner_instance.to_dict() +# create an instance of PostUpdateAllotmentBlockResponseDataInner from a dict +post_update_allotment_block_response_data_inner_from_dict = PostUpdateAllotmentBlockResponseDataInner.from_dict(post_update_allotment_block_response_data_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.md b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.md new file mode 100644 index 0000000..9f41480 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.md @@ -0,0 +1,32 @@ +# PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**policy_id** | **str** | Policy ID associated with the interval | [optional] +**room_type_id** | **str** | Room type ID | [optional] +**availability** | [**PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability**](PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability.md) | | [optional] +**restrictions** | [**PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions**](PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner_allotment_intervals_inner import PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner from a JSON string +post_update_allotment_block_response_data_inner_allotment_intervals_inner_instance = PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.from_json(json) +# print the JSON string representation of the object +print(PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.to_json()) + +# convert the object into a dict +post_update_allotment_block_response_data_inner_allotment_intervals_inner_dict = post_update_allotment_block_response_data_inner_allotment_intervals_inner_instance.to_dict() +# create an instance of PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner from a dict +post_update_allotment_block_response_data_inner_allotment_intervals_inner_from_dict = PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.from_dict(post_update_allotment_block_response_data_inner_allotment_intervals_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.md b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.md new file mode 100644 index 0000000..be32d12 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.md @@ -0,0 +1,35 @@ +# PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions + +Interval restrictions if applicable + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**min_los** | **int** | Minimum length of stay requirement | [optional] +**max_los** | **int** | Maximum length of stay requirement | [optional] +**cut_off_days** | **int** | How many days before arrival should guests be required to book | [optional] +**last_minute_booking_days** | **int** | Hoe many days before the arrival guests are allowed to book | [optional] +**closed_to_arrival** | **int** | If the interval dates are closed for arrival | [optional] +**closed_to_departure** | **int** | If the interval dates are closed for departure | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions import PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions + +# TODO update the JSON string below +json = "{}" +# create an instance of PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions from a JSON string +post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions_instance = PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.from_json(json) +# print the JSON string representation of the object +print(PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.to_json()) + +# convert the object into a dict +post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions_dict = post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions_instance.to_dict() +# create an instance of PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions from a dict +post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions_from_dict = PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.from_dict(post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostVoidItemResponse.md b/cloudbeds_pms_v1_3/docs/PostVoidItemResponse.md new file mode 100644 index 0000000..21b294c --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostVoidItemResponse.md @@ -0,0 +1,30 @@ +# PostVoidItemResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_void_item_response import PostVoidItemResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostVoidItemResponse from a JSON string +post_void_item_response_instance = PostVoidItemResponse.from_json(json) +# print the JSON string representation of the object +print(PostVoidItemResponse.to_json()) + +# convert the object into a dict +post_void_item_response_dict = post_void_item_response_instance.to_dict() +# create an instance of PostVoidItemResponse from a dict +post_void_item_response_from_dict = PostVoidItemResponse.from_dict(post_void_item_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostVoidPaymentResponse.md b/cloudbeds_pms_v1_3/docs/PostVoidPaymentResponse.md new file mode 100644 index 0000000..7b7e26e --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostVoidPaymentResponse.md @@ -0,0 +1,30 @@ +# PostVoidPaymentResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_void_payment_response import PostVoidPaymentResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostVoidPaymentResponse from a JSON string +post_void_payment_response_instance = PostVoidPaymentResponse.from_json(json) +# print the JSON string representation of the object +print(PostVoidPaymentResponse.to_json()) + +# convert the object into a dict +post_void_payment_response_dict = post_void_payment_response_instance.to_dict() +# create an instance of PostVoidPaymentResponse from a dict +post_void_payment_response_from_dict = PostVoidPaymentResponse.from_dict(post_void_payment_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostWebhookResponse.md b/cloudbeds_pms_v1_3/docs/PostWebhookResponse.md new file mode 100644 index 0000000..9cec124 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostWebhookResponse.md @@ -0,0 +1,30 @@ +# PostWebhookResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**data** | [**PostWebhookResponseData**](PostWebhookResponseData.md) | | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_webhook_response import PostWebhookResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PostWebhookResponse from a JSON string +post_webhook_response_instance = PostWebhookResponse.from_json(json) +# print the JSON string representation of the object +print(PostWebhookResponse.to_json()) + +# convert the object into a dict +post_webhook_response_dict = post_webhook_response_instance.to_dict() +# create an instance of PostWebhookResponse from a dict +post_webhook_response_from_dict = PostWebhookResponse.from_dict(post_webhook_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PostWebhookResponseData.md b/cloudbeds_pms_v1_3/docs/PostWebhookResponseData.md new file mode 100644 index 0000000..28ced78 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PostWebhookResponseData.md @@ -0,0 +1,30 @@ +# PostWebhookResponseData + +Subscription details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**subscription_id** | **str** | Subscription ID | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.post_webhook_response_data import PostWebhookResponseData + +# TODO update the JSON string below +json = "{}" +# create an instance of PostWebhookResponseData from a JSON string +post_webhook_response_data_instance = PostWebhookResponseData.from_json(json) +# print the JSON string representation of the object +print(PostWebhookResponseData.to_json()) + +# convert the object into a dict +post_webhook_response_data_dict = post_webhook_response_data_instance.to_dict() +# create an instance of PostWebhookResponseData from a dict +post_webhook_response_data_from_dict = PostWebhookResponseData.from_dict(post_webhook_response_data_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PutGuestNoteResponse.md b/cloudbeds_pms_v1_3/docs/PutGuestNoteResponse.md new file mode 100644 index 0000000..8403f0b --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PutGuestNoteResponse.md @@ -0,0 +1,30 @@ +# PutGuestNoteResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.put_guest_note_response import PutGuestNoteResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PutGuestNoteResponse from a JSON string +put_guest_note_response_instance = PutGuestNoteResponse.from_json(json) +# print the JSON string representation of the object +print(PutGuestNoteResponse.to_json()) + +# convert the object into a dict +put_guest_note_response_dict = put_guest_note_response_instance.to_dict() +# create an instance of PutGuestNoteResponse from a dict +put_guest_note_response_from_dict = PutGuestNoteResponse.from_dict(put_guest_note_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PutGuestRequestGuestCustomFieldsInner.md b/cloudbeds_pms_v1_3/docs/PutGuestRequestGuestCustomFieldsInner.md new file mode 100644 index 0000000..a398481 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PutGuestRequestGuestCustomFieldsInner.md @@ -0,0 +1,30 @@ +# PutGuestRequestGuestCustomFieldsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**custom_field_name** | **str** | | [optional] +**custom_field_value** | **str** | Custom field value. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.put_guest_request_guest_custom_fields_inner import PutGuestRequestGuestCustomFieldsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PutGuestRequestGuestCustomFieldsInner from a JSON string +put_guest_request_guest_custom_fields_inner_instance = PutGuestRequestGuestCustomFieldsInner.from_json(json) +# print the JSON string representation of the object +print(PutGuestRequestGuestCustomFieldsInner.to_json()) + +# convert the object into a dict +put_guest_request_guest_custom_fields_inner_dict = put_guest_request_guest_custom_fields_inner_instance.to_dict() +# create an instance of PutGuestRequestGuestCustomFieldsInner from a dict +put_guest_request_guest_custom_fields_inner_from_dict = PutGuestRequestGuestCustomFieldsInner.from_dict(put_guest_request_guest_custom_fields_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PutGuestResponse.md b/cloudbeds_pms_v1_3/docs/PutGuestResponse.md new file mode 100644 index 0000000..1e5921a --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PutGuestResponse.md @@ -0,0 +1,30 @@ +# PutGuestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false), or in case any warning message is needed. If success = true, it usually does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.put_guest_response import PutGuestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PutGuestResponse from a JSON string +put_guest_response_instance = PutGuestResponse.from_json(json) +# print the JSON string representation of the object +print(PutGuestResponse.to_json()) + +# convert the object into a dict +put_guest_response_dict = put_guest_response_instance.to_dict() +# create an instance of PutGuestResponse from a dict +put_guest_response_from_dict = PutGuestResponse.from_dict(put_guest_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PutHouseAccountStatusResponse.md b/cloudbeds_pms_v1_3/docs/PutHouseAccountStatusResponse.md new file mode 100644 index 0000000..f7a477b --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PutHouseAccountStatusResponse.md @@ -0,0 +1,30 @@ +# PutHouseAccountStatusResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.put_house_account_status_response import PutHouseAccountStatusResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PutHouseAccountStatusResponse from a JSON string +put_house_account_status_response_instance = PutHouseAccountStatusResponse.from_json(json) +# print the JSON string representation of the object +print(PutHouseAccountStatusResponse.to_json()) + +# convert the object into a dict +put_house_account_status_response_dict = put_house_account_status_response_instance.to_dict() +# create an instance of PutHouseAccountStatusResponse from a dict +put_house_account_status_response_from_dict = PutHouseAccountStatusResponse.from_dict(put_house_account_status_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PutHousekeeperResponse.md b/cloudbeds_pms_v1_3/docs/PutHousekeeperResponse.md new file mode 100644 index 0000000..486d5a3 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PutHousekeeperResponse.md @@ -0,0 +1,30 @@ +# PutHousekeeperResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.put_housekeeper_response import PutHousekeeperResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PutHousekeeperResponse from a JSON string +put_housekeeper_response_instance = PutHousekeeperResponse.from_json(json) +# print the JSON string representation of the object +print(PutHousekeeperResponse.to_json()) + +# convert the object into a dict +put_housekeeper_response_dict = put_housekeeper_response_instance.to_dict() +# create an instance of PutHousekeeperResponse from a dict +put_housekeeper_response_from_dict = PutHousekeeperResponse.from_dict(put_housekeeper_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PutItemToInventoryResponse.md b/cloudbeds_pms_v1_3/docs/PutItemToInventoryResponse.md new file mode 100644 index 0000000..35668ac --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PutItemToInventoryResponse.md @@ -0,0 +1,30 @@ +# PutItemToInventoryResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.put_item_to_inventory_response import PutItemToInventoryResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PutItemToInventoryResponse from a JSON string +put_item_to_inventory_response_instance = PutItemToInventoryResponse.from_json(json) +# print the JSON string representation of the object +print(PutItemToInventoryResponse.to_json()) + +# convert the object into a dict +put_item_to_inventory_response_dict = put_item_to_inventory_response_instance.to_dict() +# create an instance of PutItemToInventoryResponse from a dict +put_item_to_inventory_response_from_dict = PutItemToInventoryResponse.from_dict(put_item_to_inventory_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PutReservationNoteResponse.md b/cloudbeds_pms_v1_3/docs/PutReservationNoteResponse.md new file mode 100644 index 0000000..d244da3 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PutReservationNoteResponse.md @@ -0,0 +1,30 @@ +# PutReservationNoteResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.put_reservation_note_response import PutReservationNoteResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PutReservationNoteResponse from a JSON string +put_reservation_note_response_instance = PutReservationNoteResponse.from_json(json) +# print the JSON string representation of the object +print(PutReservationNoteResponse.to_json()) + +# convert the object into a dict +put_reservation_note_response_dict = put_reservation_note_response_instance.to_dict() +# create an instance of PutReservationNoteResponse from a dict +put_reservation_note_response_from_dict = PutReservationNoteResponse.from_dict(put_reservation_note_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PutReservationRequestCustomFieldsInner.md b/cloudbeds_pms_v1_3/docs/PutReservationRequestCustomFieldsInner.md new file mode 100644 index 0000000..46b0851 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PutReservationRequestCustomFieldsInner.md @@ -0,0 +1,30 @@ +# PutReservationRequestCustomFieldsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**custom_field_name** | **str** | Internal custom field reference. Must match the registered name (shortcode) in backend. Pay Attention | [optional] +**custom_field_value** | **str** | Custom field value. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.put_reservation_request_custom_fields_inner import PutReservationRequestCustomFieldsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PutReservationRequestCustomFieldsInner from a JSON string +put_reservation_request_custom_fields_inner_instance = PutReservationRequestCustomFieldsInner.from_json(json) +# print the JSON string representation of the object +print(PutReservationRequestCustomFieldsInner.to_json()) + +# convert the object into a dict +put_reservation_request_custom_fields_inner_dict = put_reservation_request_custom_fields_inner_instance.to_dict() +# create an instance of PutReservationRequestCustomFieldsInner from a dict +put_reservation_request_custom_fields_inner_from_dict = PutReservationRequestCustomFieldsInner.from_dict(put_reservation_request_custom_fields_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PutReservationRequestRoomsInner.md b/cloudbeds_pms_v1_3/docs/PutReservationRequestRoomsInner.md new file mode 100644 index 0000000..e9716a7 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PutReservationRequestRoomsInner.md @@ -0,0 +1,36 @@ +# PutReservationRequestRoomsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sub_reservation_id** | **str** | Sub Reservation ID of the specific assigned room. Optional. | [optional] +**room_type_id** | **str** | Room Type ID. Mandatory if rooms are sent. | [optional] +**checkin_date** | **date** | Check-in date for this specific room. Mandatory if rooms are sent. | [optional] +**checkout_date** | **date** | Check-out date for this specific room. Mandatory if rooms are sent. | [optional] +**adults** | **int** | Quantity of adults for the room. Mandatory if rooms are sent. | [optional] +**children** | **int** | Number of children for the room. Mandatory if rooms are sent. | [optional] +**rate_id** | **str** | Rate ID for the room. Optional. | [optional] +**adjust_price** | **bool** | Whether to adjust pricing when changing room types. If false, preserves existing rates. Default is true. | [optional] [default to True] + +## Example + +```python +from cloudbeds_pms_v1_3.models.put_reservation_request_rooms_inner import PutReservationRequestRoomsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PutReservationRequestRoomsInner from a JSON string +put_reservation_request_rooms_inner_instance = PutReservationRequestRoomsInner.from_json(json) +# print the JSON string representation of the object +print(PutReservationRequestRoomsInner.to_json()) + +# convert the object into a dict +put_reservation_request_rooms_inner_dict = put_reservation_request_rooms_inner_instance.to_dict() +# create an instance of PutReservationRequestRoomsInner from a dict +put_reservation_request_rooms_inner_from_dict = PutReservationRequestRoomsInner.from_dict(put_reservation_request_rooms_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PutReservationResponse.md b/cloudbeds_pms_v1_3/docs/PutReservationResponse.md new file mode 100644 index 0000000..b0d2620 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PutReservationResponse.md @@ -0,0 +1,31 @@ +# PutReservationResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**message** | **str** | To be used in case any error occurs. | [optional] +**data** | **object** | Returns the reservation data as defined by getReservation call. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.put_reservation_response import PutReservationResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PutReservationResponse from a JSON string +put_reservation_response_instance = PutReservationResponse.from_json(json) +# print the JSON string representation of the object +print(PutReservationResponse.to_json()) + +# convert the object into a dict +put_reservation_response_dict = put_reservation_response_instance.to_dict() +# create an instance of PutReservationResponse from a dict +put_reservation_response_from_dict = PutReservationResponse.from_dict(put_reservation_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PutRoomBlockRequestRoomsInner.md b/cloudbeds_pms_v1_3/docs/PutRoomBlockRequestRoomsInner.md new file mode 100644 index 0000000..8184b68 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PutRoomBlockRequestRoomsInner.md @@ -0,0 +1,30 @@ +# PutRoomBlockRequestRoomsInner + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**room_id** | **str** | Room ID | [optional] +**room_type_id** | **str** | Room type ID | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.put_room_block_request_rooms_inner import PutRoomBlockRequestRoomsInner + +# TODO update the JSON string below +json = "{}" +# create an instance of PutRoomBlockRequestRoomsInner from a JSON string +put_room_block_request_rooms_inner_instance = PutRoomBlockRequestRoomsInner.from_json(json) +# print the JSON string representation of the object +print(PutRoomBlockRequestRoomsInner.to_json()) + +# convert the object into a dict +put_room_block_request_rooms_inner_dict = put_room_block_request_rooms_inner_instance.to_dict() +# create an instance of PutRoomBlockRequestRoomsInner from a dict +put_room_block_request_rooms_inner_from_dict = PutRoomBlockRequestRoomsInner.from_dict(put_room_block_request_rooms_inner_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/PutRoomBlockResponse.md b/cloudbeds_pms_v1_3/docs/PutRoomBlockResponse.md new file mode 100644 index 0000000..108681b --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/PutRoomBlockResponse.md @@ -0,0 +1,37 @@ +# PutRoomBlockResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | Returns if the request could be completed | [optional] +**property_id** | **str** | Property ID | [optional] +**room_block_id** | **str** | Room block ID | [optional] +**room_block_type** | **str** | Room block type. 'blocked' - Room block. 'out_of_service' - Out of service block. 'courtesy_hold' - Courtesy hold. | [optional] +**room_block_reason** | **str** | Room block reason | [optional] +**start_date** | **date** | Room block start date | [optional] +**end_date** | **date** | Room block end date | [optional] +**rooms** | [**List[PostRoomBlockResponseRoomsInner]**](PostRoomBlockResponseRoomsInner.md) | All rooms for room block. For properties using split inventory, this includes both source rooms (explicitly requested) and linked rooms (automatically added based on shared inventory configuration). | [optional] +**message** | **str** | To be used in case any error occurs (if success = false). If success = true, it does not exist. | [optional] + +## Example + +```python +from cloudbeds_pms_v1_3.models.put_room_block_response import PutRoomBlockResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PutRoomBlockResponse from a JSON string +put_room_block_response_instance = PutRoomBlockResponse.from_json(json) +# print the JSON string representation of the object +print(PutRoomBlockResponse.to_json()) + +# convert the object into a dict +put_room_block_response_dict = put_room_block_response_instance.to_dict() +# create an instance of PutRoomBlockResponse from a dict +put_room_block_response_from_dict = PutRoomBlockResponse.from_dict(put_room_block_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/cloudbeds_pms_v1_3/docs/RateApi.md b/cloudbeds_pms_v1_3/docs/RateApi.md new file mode 100644 index 0000000..384f812 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/RateApi.md @@ -0,0 +1,459 @@ +# cloudbeds_pms_v1_3.RateApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_rate_get**](RateApi.md#get_rate_get) | **GET** /getRate | getRate +[**get_rate_jobs_get**](RateApi.md#get_rate_jobs_get) | **GET** /getRateJobs | getRateJobs +[**get_rate_plans_get**](RateApi.md#get_rate_plans_get) | **GET** /getRatePlans | getRatePlans +[**patch_rate_post**](RateApi.md#patch_rate_post) | **POST** /patchRate | patchRate +[**put_rate_post**](RateApi.md#put_rate_post) | **POST** /putRate | putRate + + +# **get_rate_get** +> GetRateResponse get_rate_get(room_type_id, start_date, end_date, adults=adults, children=children, detailed_rates=detailed_rates, promo_code=promo_code) + +getRate + +Returns the rate of the room type selected, based on the provided parameters + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_rate_response import GetRateResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RateApi(api_client) + room_type_id = 'room_type_id_example' # str | Room Type ID + start_date = '2013-10-20' # date | Check-in date + end_date = '2013-10-20' # date | Check-out date + adults = 56 # int | Number of adults (optional) + children = 56 # int | Number of children (optional) + detailed_rates = False # bool | If the rates need detailed information (optional) (default to False) + promo_code = False # bool | Return information for one or more specific rate plans by promo code. This parameter is DEPRECATED and not recommended for usage. Use method getRatePlans instead (optional) (default to False) + + try: + # getRate + api_response = api_instance.get_rate_get(room_type_id, start_date, end_date, adults=adults, children=children, detailed_rates=detailed_rates, promo_code=promo_code) + print("The response of RateApi->get_rate_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RateApi->get_rate_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **room_type_id** | **str**| Room Type ID | + **start_date** | **date**| Check-in date | + **end_date** | **date**| Check-out date | + **adults** | **int**| Number of adults | [optional] + **children** | **int**| Number of children | [optional] + **detailed_rates** | **bool**| If the rates need detailed information | [optional] [default to False] + **promo_code** | **bool**| Return information for one or more specific rate plans by promo code. This parameter is DEPRECATED and not recommended for usage. Use method getRatePlans instead | [optional] [default to False] + +### Return type + +[**GetRateResponse**](GetRateResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_rate_jobs_get** +> GetRateJobsResponse get_rate_jobs_get(job_reference_id=job_reference_id, status=status) + +getRateJobs + +Returns a list of Rate Jobs. Rate jobs are only returned within 7 days of creation, after 7 days they will not be returned in the response. Requests which do not provide a jobReferenceID will be filtered by the client ID of the request's token. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_rate_jobs_response import GetRateJobsResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RateApi(api_client) + job_reference_id = 'job_reference_id_example' # str | Filter Rate Jobs by jobReferenceID (optional) + status = 'status_example' # str | Filter Rate Jobs based on status (optional) + + try: + # getRateJobs + api_response = api_instance.get_rate_jobs_get(job_reference_id=job_reference_id, status=status) + print("The response of RateApi->get_rate_jobs_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RateApi->get_rate_jobs_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **job_reference_id** | **str**| Filter Rate Jobs by jobReferenceID | [optional] + **status** | **str**| Filter Rate Jobs based on status | [optional] + +### Return type + +[**GetRateJobsResponse**](GetRateJobsResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_rate_plans_get** +> GetRatePlansResponse get_rate_plans_get(start_date, end_date, property_ids=property_ids, rate_ids=rate_ids, room_type_id=room_type_id, promo_code=promo_code, include_promo_code=include_promo_code, adults=adults, children=children, detailed_rates=detailed_rates, include_shared_rooms=include_shared_rooms) + +getRatePlans + +Returns the rates of the room type or promo code selected, based on the provided parameters. If no parameters are provided, then the method will return all publicly available rate plans. ### Group account support + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_rate_plans_response import GetRatePlansResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RateApi(api_client) + start_date = '2013-10-20' # date | Check-in date + end_date = '2013-10-20' # date | Check-out date + property_ids = 'property_ids_example' # str | List of property IDs, comma-separated, i.e. 37,345,89 (optional) + rate_ids = 'rate_ids_example' # str | List of Rate IDs, comma-separated, i.e. 37,345,89 (optional) + room_type_id = 'room_type_id_example' # str | List of Room Type IDs, comma-separated, i.e. 37,345,89 (optional) + promo_code = 'promo_code_example' # str | List of Promo Codes, comma-separated, i.e. 37,345,89 (optional) + include_promo_code = True # bool | Include rate plans with promo code (optional) (default to True) + adults = 56 # int | Number of adults (optional) + children = 56 # int | Number of children (optional) + detailed_rates = False # bool | If the rates need detailed information (optional) (default to False) + include_shared_rooms = False # bool | Include shared rooms in the result for multiple adults/children (optional) (default to False) + + try: + # getRatePlans + api_response = api_instance.get_rate_plans_get(start_date, end_date, property_ids=property_ids, rate_ids=rate_ids, room_type_id=room_type_id, promo_code=promo_code, include_promo_code=include_promo_code, adults=adults, children=children, detailed_rates=detailed_rates, include_shared_rooms=include_shared_rooms) + print("The response of RateApi->get_rate_plans_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RateApi->get_rate_plans_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **start_date** | **date**| Check-in date | + **end_date** | **date**| Check-out date | + **property_ids** | **str**| List of property IDs, comma-separated, i.e. 37,345,89 | [optional] + **rate_ids** | **str**| List of Rate IDs, comma-separated, i.e. 37,345,89 | [optional] + **room_type_id** | **str**| List of Room Type IDs, comma-separated, i.e. 37,345,89 | [optional] + **promo_code** | **str**| List of Promo Codes, comma-separated, i.e. 37,345,89 | [optional] + **include_promo_code** | **bool**| Include rate plans with promo code | [optional] [default to True] + **adults** | **int**| Number of adults | [optional] + **children** | **int**| Number of children | [optional] + **detailed_rates** | **bool**| If the rates need detailed information | [optional] [default to False] + **include_shared_rooms** | **bool**| Include shared rooms in the result for multiple adults/children | [optional] [default to False] + +### Return type + +[**GetRatePlansResponse**](GetRatePlansResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **patch_rate_post** +> PostPatchRateResponse patch_rate_post(rates=rates) + +patchRate + +Update the rate of the room based on rateID selected, based on the provided parameters. You can make multiple rate updates in a single API call. Providing a startDate and/or endDate will update rates only within the interval provided. Only non derived rates can be updated, requests to update a derived rate will return an error. This endpoint performs updates asynchronously, rate updates are added to a queue and the endpoint returns a job reference ID. This job reference ID can be used to track job status notifications or to look up details of the update once it is completed. The API is limited to 30 interval per update, sending more than 30 will return an error. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_patch_rate_request_rates_inner import PostPatchRateRequestRatesInner +from cloudbeds_pms_v1_3.models.post_patch_rate_response import PostPatchRateResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RateApi(api_client) + rates = [cloudbeds_pms_v1_3.PostPatchRateRequestRatesInner()] # List[PostPatchRateRequestRatesInner] | Array of rates to update (optional) + + try: + # patchRate + api_response = api_instance.patch_rate_post(rates=rates) + print("The response of RateApi->patch_rate_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RateApi->patch_rate_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **rates** | [**List[PostPatchRateRequestRatesInner]**](PostPatchRateRequestRatesInner.md)| Array of rates to update | [optional] + +### Return type + +[**PostPatchRateResponse**](PostPatchRateResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **put_rate_post** +> PostPutRateResponse put_rate_post(rates=rates) + +putRate + +Update the rate of the room based on rateID selected, based on the provided parameters. You can make multiple rate updates in a single API call. Providing a startDate and/or endDate will update rates only within the interval provided. Only non derived rates can be updated, requests to update a derived rate will return an error. This endpoint performs updates asynchronously, rate updates are added to a queue and the endpoint returns a job reference ID. This job reference ID can be used to track job status notifications or to look up details of the update once it is completed. The API is limited to 30 interval per update, sending more than 30 will return an error. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_put_rate_request_rates_inner import PostPutRateRequestRatesInner +from cloudbeds_pms_v1_3.models.post_put_rate_response import PostPutRateResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RateApi(api_client) + rates = [cloudbeds_pms_v1_3.PostPutRateRequestRatesInner()] # List[PostPutRateRequestRatesInner] | Array of rates to update (optional) + + try: + # putRate + api_response = api_instance.put_rate_post(rates=rates) + print("The response of RateApi->put_rate_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RateApi->put_rate_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **rates** | [**List[PostPutRateRequestRatesInner]**](PostPutRateRequestRatesInner.md)| Array of rates to update | [optional] + +### Return type + +[**PostPutRateResponse**](PostPutRateResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/ReservationApi.md b/cloudbeds_pms_v1_3/docs/ReservationApi.md new file mode 100644 index 0000000..3927698 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/ReservationApi.md @@ -0,0 +1,1194 @@ +# cloudbeds_pms_v1_3.ReservationApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**delete_reservation_note_delete**](ReservationApi.md#delete_reservation_note_delete) | **DELETE** /deleteReservationNote | deleteReservationNote +[**get_reservation_assignments_get**](ReservationApi.md#get_reservation_assignments_get) | **GET** /getReservationAssignments | getReservationAssignments +[**get_reservation_get**](ReservationApi.md#get_reservation_get) | **GET** /getReservation | getReservation +[**get_reservation_notes_get**](ReservationApi.md#get_reservation_notes_get) | **GET** /getReservationNotes | getReservationNotes +[**get_reservations_get**](ReservationApi.md#get_reservations_get) | **GET** /getReservations | getReservations +[**get_reservations_with_rate_details_get**](ReservationApi.md#get_reservations_with_rate_details_get) | **GET** /getReservationsWithRateDetails | getReservationsWithRateDetails +[**get_sources_get**](ReservationApi.md#get_sources_get) | **GET** /getSources | getSources +[**post_reservation_document_post**](ReservationApi.md#post_reservation_document_post) | **POST** /postReservationDocument | postReservationDocument +[**post_reservation_note_post**](ReservationApi.md#post_reservation_note_post) | **POST** /postReservationNote | postReservationNote +[**post_reservation_post**](ReservationApi.md#post_reservation_post) | **POST** /postReservation | postReservation +[**put_reservation_note_put**](ReservationApi.md#put_reservation_note_put) | **PUT** /putReservationNote | putReservationNote +[**put_reservation_put**](ReservationApi.md#put_reservation_put) | **PUT** /putReservation | putReservation + + +# **delete_reservation_note_delete** +> DeleteReservationNoteResponse delete_reservation_note_delete(reservation_id, reservation_note_id, property_id=property_id) + +deleteReservationNote + +Archives an existing reservation note. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.delete_reservation_note_response import DeleteReservationNoteResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ReservationApi(api_client) + reservation_id = 'reservation_id_example' # str | Reservation Unique Identifier + reservation_note_id = 'reservation_note_id_example' # str | Reservation Note ID + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # deleteReservationNote + api_response = api_instance.delete_reservation_note_delete(reservation_id, reservation_note_id, property_id=property_id) + print("The response of ReservationApi->delete_reservation_note_delete:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ReservationApi->delete_reservation_note_delete: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **reservation_id** | **str**| Reservation Unique Identifier | + **reservation_note_id** | **str**| Reservation Note ID | + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**DeleteReservationNoteResponse**](DeleteReservationNoteResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_reservation_assignments_get** +> GetReservationAssignmentsResponse get_reservation_assignments_get(property_id=property_id, var_date=var_date) + +getReservationAssignments + +Returns a list of rooms/reservations assigned for a selected date. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_reservation_assignments_response import GetReservationAssignmentsResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ReservationApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + var_date = '2013-10-20' # date | Date selected to get the assignments. If no date is passed, it will return the results for the current day. (optional) + + try: + # getReservationAssignments + api_response = api_instance.get_reservation_assignments_get(property_id=property_id, var_date=var_date) + print("The response of ReservationApi->get_reservation_assignments_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ReservationApi->get_reservation_assignments_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **var_date** | **date**| Date selected to get the assignments. If no date is passed, it will return the results for the current day. | [optional] + +### Return type + +[**GetReservationAssignmentsResponse**](GetReservationAssignmentsResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_reservation_get** +> GetReservationResponse get_reservation_get(reservation_id, property_id=property_id, include_guest_requirements=include_guest_requirements) + +getReservation + +Returns information on a booking specified by the reservationID parameter + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_reservation_response import GetReservationResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ReservationApi(api_client) + reservation_id = 'reservation_id_example' # str | Reservation Unique Identifier. Obtained from one of the \"Reservations\" group methods + property_id = 'property_id_example' # str | Property ID (optional) + include_guest_requirements = False # bool | Includes guest requirements data in the response. (optional) (default to False) + + try: + # getReservation + api_response = api_instance.get_reservation_get(reservation_id, property_id=property_id, include_guest_requirements=include_guest_requirements) + print("The response of ReservationApi->get_reservation_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ReservationApi->get_reservation_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **reservation_id** | **str**| Reservation Unique Identifier. Obtained from one of the \"Reservations\" group methods | + **property_id** | **str**| Property ID | [optional] + **include_guest_requirements** | **bool**| Includes guest requirements data in the response. | [optional] [default to False] + +### Return type + +[**GetReservationResponse**](GetReservationResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_reservation_notes_get** +> GetReservationNotesResponse get_reservation_notes_get(reservation_id, property_id=property_id) + +getReservationNotes + +Retrieves reservation notes based on parameters + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_reservation_notes_response import GetReservationNotesResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ReservationApi(api_client) + reservation_id = 'reservation_id_example' # str | Reservation Unique Identifier + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # getReservationNotes + api_response = api_instance.get_reservation_notes_get(reservation_id, property_id=property_id) + print("The response of ReservationApi->get_reservation_notes_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ReservationApi->get_reservation_notes_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **reservation_id** | **str**| Reservation Unique Identifier | + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**GetReservationNotesResponse**](GetReservationNotesResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_reservations_get** +> GetReservationsResponse get_reservations_get(property_id=property_id, status=status, results_from=results_from, results_to=results_to, modified_from=modified_from, modified_to=modified_to, check_in_from=check_in_from, check_in_to=check_in_to, check_out_from=check_out_from, check_out_to=check_out_to, dates_query_mode=dates_query_mode, room_id=room_id, room_name=room_name, room_type_id=room_type_id, include_guests_details=include_guests_details, include_guest_requirements=include_guest_requirements, include_custom_fields=include_custom_fields, include_all_rooms=include_all_rooms, source_id=source_id, source_reservation_id=source_reservation_id, rate_plan_id=rate_plan_id, first_name=first_name, last_name=last_name, guest_id=guest_id, allotment_block_code=allotment_block_code, group_code=group_code, sort_by_recent=sort_by_recent, page_number=page_number, page_size=page_size) + +getReservations + +Returns a list of reservations that matched the filters criteria.
Please note that some reservations modification may not be reflected in this timestamp. ### Group account support + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_reservations_response import GetReservationsResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ReservationApi(api_client) + property_id = 'property_id_example' # str | ID for the properties to be queried (comma-separated, i.e. 37,345,89).
It can be omitted if the API key is single-property, or to get results from all properties on an association. (optional) + status = 'status_example' # str | Filter by current reservation status (optional) + results_from = '2013-10-20T19:20:30+01:00' # datetime | Inferior limit datetime, used to filter reservations, based on booking date (optional) + results_to = '2013-10-20T19:20:30+01:00' # datetime | Superior limit datetime, used to filter reservations, based on booking date (optional) + modified_from = '2013-10-20T19:20:30+01:00' # datetime | Inferior limit datetime, used to filter reservations, based on booking modification date (optional) + modified_to = '2013-10-20T19:20:30+01:00' # datetime | Superior limit datetime, used to filter reservations, based on booking modification date (optional) + check_in_from = '2013-10-20' # date | Filters reservations result to return only reservations with check-in date range starting on this date (optional) + check_in_to = '2013-10-20' # date | Filters reservations result to return only reservations with check-in date range ending on this date (optional) + check_out_from = '2013-10-20' # date | Filters reservations result to return only reservations with check-out date range starting on this date (optional) + check_out_to = '2013-10-20' # date | Filters reservations result to return only reservations with check-out date range ending on this date (optional) + dates_query_mode = booking # str | If we should consider the booking's check-in/check-out dates or the start and end dates for the associated rooms. (optional) (default to booking) + room_id = 'room_id_example' # str | Filters reservation with the supplied room ID. CheckIn/checkOut dates OR status are required. If dates are provided and span more than one day, more than one reservation can be returned. If roomID supplied, roomName is ignored. (optional) + room_name = 'room_name_example' # str | Filters reservation with the supplied room name (customizable by each property). CheckIn/checkOut dates OR status are required. If dates are provided and span more than one day, more than one reservation can be returned. (optional) + room_type_id = 'room_type_id_example' # str | Filters reservation with the supplied Room Type ID. (optional) + include_guests_details = False # bool | If guests details should be included or not (optional) (default to False) + include_guest_requirements = False # bool | Includes guest requirements data in the response. Requires `includeGuestsDetails=true`. (optional) (default to False) + include_custom_fields = False # bool | If reservation custom fields should be included or not (optional) (default to False) + include_all_rooms = False # bool | When specified, the response will include an additional rooms field that combines both unassigned and assigned rooms. (optional) (default to False) + source_id = 'source_id_example' # str | Filters reservation with the supplied source ID. (optional) + source_reservation_id = 'source_reservation_id_example' # str | Filters reservation with the supplied reservation source ID. (optional) + rate_plan_id = 'rate_plan_id_example' # str | Filters reservation with the supplied rate plan ID. (optional) + first_name = 'first_name_example' # str | Filters reservation with the supplied primary guest first name. (optional) + last_name = 'last_name_example' # str | Filters reservation with the supplied primary guest last name. (optional) + guest_id = 'guest_id_example' # str | Filters reservation with the supplied Guest ID (Including additional guests). (optional) + allotment_block_code = 'allotment_block_code_example' # str | Filters reservation with the supplied allotment block code. (optional) + group_code = 'group_code_example' # str | Filters reservation with the supplied group code. (optional) + sort_by_recent = True # bool | Sort response results by most recent action (optional) + page_number = 1 # int | Results page number (optional) (default to 1) + page_size = 100 # int | Results page size. Max = 100 (optional) (default to 100) + + try: + # getReservations + api_response = api_instance.get_reservations_get(property_id=property_id, status=status, results_from=results_from, results_to=results_to, modified_from=modified_from, modified_to=modified_to, check_in_from=check_in_from, check_in_to=check_in_to, check_out_from=check_out_from, check_out_to=check_out_to, dates_query_mode=dates_query_mode, room_id=room_id, room_name=room_name, room_type_id=room_type_id, include_guests_details=include_guests_details, include_guest_requirements=include_guest_requirements, include_custom_fields=include_custom_fields, include_all_rooms=include_all_rooms, source_id=source_id, source_reservation_id=source_reservation_id, rate_plan_id=rate_plan_id, first_name=first_name, last_name=last_name, guest_id=guest_id, allotment_block_code=allotment_block_code, group_code=group_code, sort_by_recent=sort_by_recent, page_number=page_number, page_size=page_size) + print("The response of ReservationApi->get_reservations_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ReservationApi->get_reservations_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| ID for the properties to be queried (comma-separated, i.e. 37,345,89).<br /> It can be omitted if the API key is single-property, or to get results from all properties on an association. | [optional] + **status** | **str**| Filter by current reservation status | [optional] + **results_from** | **datetime**| Inferior limit datetime, used to filter reservations, based on booking date | [optional] + **results_to** | **datetime**| Superior limit datetime, used to filter reservations, based on booking date | [optional] + **modified_from** | **datetime**| Inferior limit datetime, used to filter reservations, based on booking modification date | [optional] + **modified_to** | **datetime**| Superior limit datetime, used to filter reservations, based on booking modification date | [optional] + **check_in_from** | **date**| Filters reservations result to return only reservations with check-in date range starting on this date | [optional] + **check_in_to** | **date**| Filters reservations result to return only reservations with check-in date range ending on this date | [optional] + **check_out_from** | **date**| Filters reservations result to return only reservations with check-out date range starting on this date | [optional] + **check_out_to** | **date**| Filters reservations result to return only reservations with check-out date range ending on this date | [optional] + **dates_query_mode** | **str**| If we should consider the booking's check-in/check-out dates or the start and end dates for the associated rooms. | [optional] [default to booking] + **room_id** | **str**| Filters reservation with the supplied room ID. CheckIn/checkOut dates OR status are required. If dates are provided and span more than one day, more than one reservation can be returned. If roomID supplied, roomName is ignored. | [optional] + **room_name** | **str**| Filters reservation with the supplied room name (customizable by each property). CheckIn/checkOut dates OR status are required. If dates are provided and span more than one day, more than one reservation can be returned. | [optional] + **room_type_id** | **str**| Filters reservation with the supplied Room Type ID. | [optional] + **include_guests_details** | **bool**| If guests details should be included or not | [optional] [default to False] + **include_guest_requirements** | **bool**| Includes guest requirements data in the response. Requires `includeGuestsDetails=true`. | [optional] [default to False] + **include_custom_fields** | **bool**| If reservation custom fields should be included or not | [optional] [default to False] + **include_all_rooms** | **bool**| When specified, the response will include an additional rooms field that combines both unassigned and assigned rooms. | [optional] [default to False] + **source_id** | **str**| Filters reservation with the supplied source ID. | [optional] + **source_reservation_id** | **str**| Filters reservation with the supplied reservation source ID. | [optional] + **rate_plan_id** | **str**| Filters reservation with the supplied rate plan ID. | [optional] + **first_name** | **str**| Filters reservation with the supplied primary guest first name. | [optional] + **last_name** | **str**| Filters reservation with the supplied primary guest last name. | [optional] + **guest_id** | **str**| Filters reservation with the supplied Guest ID (Including additional guests). | [optional] + **allotment_block_code** | **str**| Filters reservation with the supplied allotment block code. | [optional] + **group_code** | **str**| Filters reservation with the supplied group code. | [optional] + **sort_by_recent** | **bool**| Sort response results by most recent action | [optional] + **page_number** | **int**| Results page number | [optional] [default to 1] + **page_size** | **int**| Results page size. Max = 100 | [optional] [default to 100] + +### Return type + +[**GetReservationsResponse**](GetReservationsResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_reservations_with_rate_details_get** +> GetReservationsWithRateDetailsResponse get_reservations_with_rate_details_get(property_id=property_id, results_from=results_from, results_to=results_to, modified_from=modified_from, modified_to=modified_to, sort_by_recent=sort_by_recent, reservation_id=reservation_id, reservation_check_out_from=reservation_check_out_from, reservation_check_out_to=reservation_check_out_to, include_deleted=include_deleted, exclude_statuses=exclude_statuses, include_guests_details=include_guests_details, include_guest_requirements=include_guest_requirements, include_custom_fields=include_custom_fields, guest_id=guest_id, page_number=page_number, page_size=page_size) + +getReservationsWithRateDetails + +Returns a list of reservations with added information regarding booked rates and sources.
Please note that some reservations modification may not be reflected in this timestamp. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response import GetReservationsWithRateDetailsResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ReservationApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + results_from = '2013-10-20T19:20:30+01:00' # datetime | Inferior limit datetime, used to filter reservations, based on booking date (optional) + results_to = '2013-10-20T19:20:30+01:00' # datetime | Superior limit datetime, used to filter reservations, based on booking date. If it is not set, will return the reservations up to current date (optional) + modified_from = '2013-10-20T19:20:30+01:00' # datetime | Superior limit datetime, used to filter reservations, based on modification date. (optional) + modified_to = '2013-10-20T19:20:30+01:00' # datetime | Superior limit datetime, used to filter reservations, based on modification date. (optional) + sort_by_recent = True # bool | Sort response results by most recent action (optional) + reservation_id = 'reservation_id_example' # str | Reservation identifiers, comma-separated, i.e. 37,345,89, used to return transactions limited to the selected reservations. (optional) + reservation_check_out_from = '2013-10-20' # date | Superior limit datetime, used to filter reservations, based on reservation check-out date. (optional) + reservation_check_out_to = '2013-10-20' # date | Superior limit datetime, used to filter reservations, based on reservation check-out date. (optional) + include_deleted = False # bool | Include deleted reservations (optional) (default to False) + exclude_statuses = 'exclude_statuses_example' # str | List of statuses (separated by comma) to be excluded from search (optional) + include_guests_details = False # bool | If guests details should be included or not (optional) (default to False) + include_guest_requirements = False # bool | Includes guest requirements data in the response. Requires `includeGuestsDetails=true`. (optional) (default to False) + include_custom_fields = False # bool | If reservation custom fields should be included or not (optional) (default to False) + guest_id = 'guest_id_example' # str | Filters reservations with the supplied Guest ID (Including additional guests). (optional) + page_number = 1 # int | Results page number (optional) (default to 1) + page_size = 100 # int | Results page size. Max = 100 (optional) (default to 100) + + try: + # getReservationsWithRateDetails + api_response = api_instance.get_reservations_with_rate_details_get(property_id=property_id, results_from=results_from, results_to=results_to, modified_from=modified_from, modified_to=modified_to, sort_by_recent=sort_by_recent, reservation_id=reservation_id, reservation_check_out_from=reservation_check_out_from, reservation_check_out_to=reservation_check_out_to, include_deleted=include_deleted, exclude_statuses=exclude_statuses, include_guests_details=include_guests_details, include_guest_requirements=include_guest_requirements, include_custom_fields=include_custom_fields, guest_id=guest_id, page_number=page_number, page_size=page_size) + print("The response of ReservationApi->get_reservations_with_rate_details_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ReservationApi->get_reservations_with_rate_details_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **results_from** | **datetime**| Inferior limit datetime, used to filter reservations, based on booking date | [optional] + **results_to** | **datetime**| Superior limit datetime, used to filter reservations, based on booking date. If it is not set, will return the reservations up to current date | [optional] + **modified_from** | **datetime**| Superior limit datetime, used to filter reservations, based on modification date. | [optional] + **modified_to** | **datetime**| Superior limit datetime, used to filter reservations, based on modification date. | [optional] + **sort_by_recent** | **bool**| Sort response results by most recent action | [optional] + **reservation_id** | **str**| Reservation identifiers, comma-separated, i.e. 37,345,89, used to return transactions limited to the selected reservations. | [optional] + **reservation_check_out_from** | **date**| Superior limit datetime, used to filter reservations, based on reservation check-out date. | [optional] + **reservation_check_out_to** | **date**| Superior limit datetime, used to filter reservations, based on reservation check-out date. | [optional] + **include_deleted** | **bool**| Include deleted reservations | [optional] [default to False] + **exclude_statuses** | **str**| List of statuses (separated by comma) to be excluded from search | [optional] + **include_guests_details** | **bool**| If guests details should be included or not | [optional] [default to False] + **include_guest_requirements** | **bool**| Includes guest requirements data in the response. Requires `includeGuestsDetails=true`. | [optional] [default to False] + **include_custom_fields** | **bool**| If reservation custom fields should be included or not | [optional] [default to False] + **guest_id** | **str**| Filters reservations with the supplied Guest ID (Including additional guests). | [optional] + **page_number** | **int**| Results page number | [optional] [default to 1] + **page_size** | **int**| Results page size. Max = 100 | [optional] [default to 100] + +### Return type + +[**GetReservationsWithRateDetailsResponse**](GetReservationsWithRateDetailsResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_sources_get** +> GetSourcesResponse get_sources_get(property_ids=property_ids) + +getSources + +Gets available property sources + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_sources_response import GetSourcesResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ReservationApi(api_client) + property_ids = 'property_ids_example' # str | ID for the properties to be queried (comma-separated, i.e. 37,345,89).
(optional) + + try: + # getSources + api_response = api_instance.get_sources_get(property_ids=property_ids) + print("The response of ReservationApi->get_sources_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ReservationApi->get_sources_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_ids** | **str**| ID for the properties to be queried (comma-separated, i.e. 37,345,89).<br /> | [optional] + +### Return type + +[**GetSourcesResponse**](GetSourcesResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_reservation_document_post** +> PostReservationDocumentResponse post_reservation_document_post(property_id=property_id, reservation_id=reservation_id, file=file) + +postReservationDocument + +Attaches a document to a reservation + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_reservation_document_response import PostReservationDocumentResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ReservationApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + reservation_id = 'reservation_id_example' # str | Reservation Unique Identifier (optional) + file = None # bytearray | Form-based File Upload
Allowed file types: *.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json
Allowed max file size: 100MB (optional) + + try: + # postReservationDocument + api_response = api_instance.post_reservation_document_post(property_id=property_id, reservation_id=reservation_id, file=file) + print("The response of ReservationApi->post_reservation_document_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ReservationApi->post_reservation_document_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **reservation_id** | **str**| Reservation Unique Identifier | [optional] + **file** | **bytearray**| Form-based File Upload<br/> Allowed file types: <code>*.pdf, *.rtf, *.doc, *.docx, *.txt, *.jpg, *.jpeg, *.png, *.gif, *.csv, *.xls, *.xlsx, *.xml, *.json</code><br/> Allowed max file size: 100MB | [optional] + +### Return type + +[**PostReservationDocumentResponse**](PostReservationDocumentResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_reservation_note_post** +> PostReservationNoteResponse post_reservation_note_post(property_id=property_id, reservation_id=reservation_id, reservation_note=reservation_note, user_id=user_id, date_created=date_created) + +postReservationNote + +Adds a reservation note + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_reservation_note_response import PostReservationNoteResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ReservationApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + reservation_id = 'reservation_id_example' # str | Reservation Unique Identifier (optional) + reservation_note = 'reservation_note_example' # str | Note to be added to reservation (optional) + user_id = 'user_id_example' # str | User ID Identify the actual user that is posting the note (optional) + date_created = '2013-10-20T19:20:30+01:00' # datetime | Datetime the note was created. (optional) + + try: + # postReservationNote + api_response = api_instance.post_reservation_note_post(property_id=property_id, reservation_id=reservation_id, reservation_note=reservation_note, user_id=user_id, date_created=date_created) + print("The response of ReservationApi->post_reservation_note_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ReservationApi->post_reservation_note_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **reservation_id** | **str**| Reservation Unique Identifier | [optional] + **reservation_note** | **str**| Note to be added to reservation | [optional] + **user_id** | **str**| User ID Identify the actual user that is posting the note | [optional] + **date_created** | **datetime**| Datetime the note was created. | [optional] + +### Return type + +[**PostReservationNoteResponse**](PostReservationNoteResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_reservation_post** +> PostReservationResponse post_reservation_post(property_id=property_id, source_id=source_id, third_party_identifier=third_party_identifier, start_date=start_date, end_date=end_date, guest_first_name=guest_first_name, guest_last_name=guest_last_name, guest_gender=guest_gender, guest_country=guest_country, guest_zip=guest_zip, guest_email=guest_email, guest_phone=guest_phone, guest_requirements=guest_requirements, estimated_arrival_time=estimated_arrival_time, rooms=rooms, adults=adults, children=children, payment_method=payment_method, card_token=card_token, payment_authorization_code=payment_authorization_code, custom_fields=custom_fields, promo_code=promo_code, allotment_block_code=allotment_block_code, group_code=group_code, date_created=date_created, send_email_confirmation=send_email_confirmation) + +postReservation + +Adds a reservation to the selected property + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_reservation_request_adults_inner import PostReservationRequestAdultsInner +from cloudbeds_pms_v1_3.models.post_reservation_request_children_inner import PostReservationRequestChildrenInner +from cloudbeds_pms_v1_3.models.post_reservation_request_custom_fields_inner import PostReservationRequestCustomFieldsInner +from cloudbeds_pms_v1_3.models.post_reservation_request_rooms_inner import PostReservationRequestRoomsInner +from cloudbeds_pms_v1_3.models.post_reservation_response import PostReservationResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ReservationApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + source_id = 'source_id_example' # str | The third-party source ID for this reservation. (optional) + third_party_identifier = 'third_party_identifier_example' # str | If it was received from a booking channel, this can be an identifier from that channel. (optional) + start_date = '2013-10-20' # date | Check-In date. (optional) + end_date = '2013-10-20' # date | Check-Out date. (optional) + guest_first_name = 'guest_first_name_example' # str | First name of the guest (optional) + guest_last_name = 'guest_last_name_example' # str | Last name of the guest (optional) + guest_gender = 'guest_gender_example' # str | (optional) + guest_country = 'guest_country_example' # str | Valid ISO-Code for Country (2 characters) (optional) + guest_zip = 'guest_zip_example' # str | ZIP Code (optional) + guest_email = 'guest_email_example' # str | Guest email (optional) + guest_phone = 'guest_phone_example' # str | Guest main phone number (optional) + guest_requirements = None # List[object] | Object with guest requirements information. (optional) + estimated_arrival_time = 'estimated_arrival_time_example' # str | Estimated Arrival Time, 24-hour format. (optional) + rooms = [cloudbeds_pms_v1_3.PostReservationRequestRoomsInner()] # List[PostReservationRequestRoomsInner] | Array with quantity of rooms (optional) + adults = [cloudbeds_pms_v1_3.PostReservationRequestAdultsInner()] # List[PostReservationRequestAdultsInner] | Array with number of adults (optional) + children = [cloudbeds_pms_v1_3.PostReservationRequestChildrenInner()] # List[PostReservationRequestChildrenInner] | Array with number of children (optional) + payment_method = 'payment_method_example' # str | Payment Method of choice. (optional) + card_token = 'card_token_example' # str | Credit Card identifier. Payment Method must be credit. This field should be filled with credit card identifier according to gateway. Only available for Stripe and should send the Customer ID. (optional) + payment_authorization_code = 'payment_authorization_code_example' # str | Transaction identifier. Payment Method must be credit. This field should be filled with transaction identifier according to gateway. Only available for Stripe and it should be filled with Charge ID associated to the Payment Intent. (optional) + custom_fields = [cloudbeds_pms_v1_3.PostReservationRequestCustomFieldsInner()] # List[PostReservationRequestCustomFieldsInner] | Array with custom fields information (optional) + promo_code = 'promo_code_example' # str | Promotional code. Required for specials and packages that uses it. \\\"rateID\\\" parameter required for using \\\"promoCode\\\". (optional) + allotment_block_code = 'allotment_block_code_example' # str | Allotment block code to add reservation to allotment block. (optional) + group_code = 'group_code_example' # str | Code from the Aggregate Allotment block the reservation will be added to. (optional) + date_created = '2013-10-20T19:20:30+01:00' # datetime | Date reservation was made. Defaults to current date if omitted. (optional) + send_email_confirmation = True # bool | Send confirmation email to guest. (optional) (default to True) + + try: + # postReservation + api_response = api_instance.post_reservation_post(property_id=property_id, source_id=source_id, third_party_identifier=third_party_identifier, start_date=start_date, end_date=end_date, guest_first_name=guest_first_name, guest_last_name=guest_last_name, guest_gender=guest_gender, guest_country=guest_country, guest_zip=guest_zip, guest_email=guest_email, guest_phone=guest_phone, guest_requirements=guest_requirements, estimated_arrival_time=estimated_arrival_time, rooms=rooms, adults=adults, children=children, payment_method=payment_method, card_token=card_token, payment_authorization_code=payment_authorization_code, custom_fields=custom_fields, promo_code=promo_code, allotment_block_code=allotment_block_code, group_code=group_code, date_created=date_created, send_email_confirmation=send_email_confirmation) + print("The response of ReservationApi->post_reservation_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ReservationApi->post_reservation_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **source_id** | **str**| The third-party source ID for this reservation. | [optional] + **third_party_identifier** | **str**| If it was received from a booking channel, this can be an identifier from that channel. | [optional] + **start_date** | **date**| Check-In date. | [optional] + **end_date** | **date**| Check-Out date. | [optional] + **guest_first_name** | **str**| First name of the guest | [optional] + **guest_last_name** | **str**| Last name of the guest | [optional] + **guest_gender** | **str**| | [optional] + **guest_country** | **str**| Valid ISO-Code for Country (2 characters) | [optional] + **guest_zip** | **str**| ZIP Code | [optional] + **guest_email** | **str**| Guest email | [optional] + **guest_phone** | **str**| Guest main phone number | [optional] + **guest_requirements** | [**List[object]**](object.md)| Object with guest requirements information. | [optional] + **estimated_arrival_time** | **str**| Estimated Arrival Time, 24-hour format. | [optional] + **rooms** | [**List[PostReservationRequestRoomsInner]**](PostReservationRequestRoomsInner.md)| Array with quantity of rooms | [optional] + **adults** | [**List[PostReservationRequestAdultsInner]**](PostReservationRequestAdultsInner.md)| Array with number of adults | [optional] + **children** | [**List[PostReservationRequestChildrenInner]**](PostReservationRequestChildrenInner.md)| Array with number of children | [optional] + **payment_method** | **str**| Payment Method of choice. | [optional] + **card_token** | **str**| Credit Card identifier. Payment Method must be credit. This field should be filled with credit card identifier according to gateway. Only available for Stripe and should send the Customer ID. | [optional] + **payment_authorization_code** | **str**| Transaction identifier. Payment Method must be credit. This field should be filled with transaction identifier according to gateway. Only available for Stripe and it should be filled with Charge ID associated to the Payment Intent. | [optional] + **custom_fields** | [**List[PostReservationRequestCustomFieldsInner]**](PostReservationRequestCustomFieldsInner.md)| Array with custom fields information | [optional] + **promo_code** | **str**| Promotional code. Required for specials and packages that uses it. \\\"rateID\\\" parameter required for using \\\"promoCode\\\". | [optional] + **allotment_block_code** | **str**| Allotment block code to add reservation to allotment block. | [optional] + **group_code** | **str**| Code from the Aggregate Allotment block the reservation will be added to. | [optional] + **date_created** | **datetime**| Date reservation was made. Defaults to current date if omitted. | [optional] + **send_email_confirmation** | **bool**| Send confirmation email to guest. | [optional] [default to True] + +### Return type + +[**PostReservationResponse**](PostReservationResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **put_reservation_note_put** +> PutReservationNoteResponse put_reservation_note_put(property_id=property_id, reservation_id=reservation_id, reservation_note_id=reservation_note_id, reservation_note=reservation_note) + +putReservationNote + +Updates an existing reservation note. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.put_reservation_note_response import PutReservationNoteResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ReservationApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + reservation_id = 'reservation_id_example' # str | Reservation Unique Identifier (optional) + reservation_note_id = 'reservation_note_id_example' # str | Reservation Note ID (optional) + reservation_note = 'reservation_note_example' # str | Note to be added to reservation (optional) + + try: + # putReservationNote + api_response = api_instance.put_reservation_note_put(property_id=property_id, reservation_id=reservation_id, reservation_note_id=reservation_note_id, reservation_note=reservation_note) + print("The response of ReservationApi->put_reservation_note_put:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ReservationApi->put_reservation_note_put: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **reservation_id** | **str**| Reservation Unique Identifier | [optional] + **reservation_note_id** | **str**| Reservation Note ID | [optional] + **reservation_note** | **str**| Note to be added to reservation | [optional] + +### Return type + +[**PutReservationNoteResponse**](PutReservationNoteResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **put_reservation_put** +> PutReservationResponse put_reservation_put(property_id=property_id, reservation_id=reservation_id, estimated_arrival_time=estimated_arrival_time, status=status, checkout_date=checkout_date, custom_fields=custom_fields, rooms=rooms, date_created=date_created, send_status_change_email=send_status_change_email) + +putReservation + +Updates a reservation, such as custom fields, estimated arrival time, room configuration and reservation status. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.put_reservation_request_custom_fields_inner import PutReservationRequestCustomFieldsInner +from cloudbeds_pms_v1_3.models.put_reservation_request_rooms_inner import PutReservationRequestRoomsInner +from cloudbeds_pms_v1_3.models.put_reservation_response import PutReservationResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.ReservationApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + reservation_id = 'reservation_id_example' # str | Reservation Unique Identifier, one reservation ID per call. (optional) + estimated_arrival_time = 'estimated_arrival_time_example' # str | Estimated Arrival Time, 24-hour format. (optional) + status = 'status_example' # str | Reservation status
'confirmed' - Reservation is confirmed
'not_confirmed' - Reservation not passed confirmation
'canceled' - Reservation is canceled
'checked_in' - Guest is in hotel
'checked_out' - Guest already left hotel
'no_show' - Guest didn't showed up on check-in date (optional) + checkout_date = '2013-10-20' # date | Update the checkoutDate across the whole reservation (optional) + custom_fields = [cloudbeds_pms_v1_3.PutReservationRequestCustomFieldsInner()] # List[PutReservationRequestCustomFieldsInner] | Array with custom fields information (optional) + rooms = [cloudbeds_pms_v1_3.PutReservationRequestRoomsInner()] # List[PutReservationRequestRoomsInner] | Array with rooms information to change accommodations assigned to the reservation (optional) + date_created = '2013-10-20T19:20:30+01:00' # datetime | Date reservation was made. Do not change if omitted. (optional) + send_status_change_email = False # bool | Send email on reservation status change to property and guest. (optional) (default to False) + + try: + # putReservation + api_response = api_instance.put_reservation_put(property_id=property_id, reservation_id=reservation_id, estimated_arrival_time=estimated_arrival_time, status=status, checkout_date=checkout_date, custom_fields=custom_fields, rooms=rooms, date_created=date_created, send_status_change_email=send_status_change_email) + print("The response of ReservationApi->put_reservation_put:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ReservationApi->put_reservation_put: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **reservation_id** | **str**| Reservation Unique Identifier, one reservation ID per call. | [optional] + **estimated_arrival_time** | **str**| Estimated Arrival Time, 24-hour format. | [optional] + **status** | **str**| Reservation status<br /> 'confirmed' - Reservation is confirmed<br /> 'not_confirmed' - Reservation not passed confirmation<br /> 'canceled' - Reservation is canceled<br /> 'checked_in' - Guest is in hotel<br /> 'checked_out' - Guest already left hotel<br /> 'no_show' - Guest didn't showed up on check-in date | [optional] + **checkout_date** | **date**| Update the checkoutDate across the whole reservation | [optional] + **custom_fields** | [**List[PutReservationRequestCustomFieldsInner]**](PutReservationRequestCustomFieldsInner.md)| Array with custom fields information | [optional] + **rooms** | [**List[PutReservationRequestRoomsInner]**](PutReservationRequestRoomsInner.md)| Array with rooms information to change accommodations assigned to the reservation | [optional] + **date_created** | **datetime**| Date reservation was made. Do not change if omitted. | [optional] + **send_status_change_email** | **bool**| Send email on reservation status change to property and guest. | [optional] [default to False] + +### Return type + +[**PutReservationResponse**](PutReservationResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/RoomApi.md b/cloudbeds_pms_v1_3/docs/RoomApi.md new file mode 100644 index 0000000..66cc088 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/RoomApi.md @@ -0,0 +1,1253 @@ +# cloudbeds_pms_v1_3.RoomApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**delete_room_block_delete**](RoomApi.md#delete_room_block_delete) | **DELETE** /deleteRoomBlock | deleteRoomBlock +[**get_available_room_types_get**](RoomApi.md#get_available_room_types_get) | **GET** /getAvailableRoomTypes | getAvailableRoomTypes +[**get_reservation_room_details_get**](RoomApi.md#get_reservation_room_details_get) | **GET** /getReservationRoomDetails | getReservationRoomDetails +[**get_room_blocks_get**](RoomApi.md#get_room_blocks_get) | **GET** /getRoomBlocks | getRoomBlocks +[**get_room_types_get**](RoomApi.md#get_room_types_get) | **GET** /getRoomTypes | getRoomTypes +[**get_rooms_fees_and_taxes_get**](RoomApi.md#get_rooms_fees_and_taxes_get) | **GET** /getRoomsFeesAndTaxes | getRoomsFeesAndTaxes +[**get_rooms_get**](RoomApi.md#get_rooms_get) | **GET** /getRooms | getRooms +[**get_rooms_unassigned_get**](RoomApi.md#get_rooms_unassigned_get) | **GET** /getRoomsUnassigned | getRoomsUnassigned +[**post_room_assign_post**](RoomApi.md#post_room_assign_post) | **POST** /postRoomAssign | postRoomAssign +[**post_room_block_post**](RoomApi.md#post_room_block_post) | **POST** /postRoomBlock | postRoomBlock +[**post_room_check_in_post**](RoomApi.md#post_room_check_in_post) | **POST** /postRoomCheckIn | postRoomCheckIn +[**post_room_check_out_post**](RoomApi.md#post_room_check_out_post) | **POST** /postRoomCheckOut | postRoomCheckOut +[**put_room_block_put**](RoomApi.md#put_room_block_put) | **PUT** /putRoomBlock | putRoomBlock + + +# **delete_room_block_delete** +> DeleteRoomBlockResponse delete_room_block_delete(room_block_id, property_id=property_id) + +deleteRoomBlock + +Deletes a room block + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.delete_room_block_response import DeleteRoomBlockResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RoomApi(api_client) + room_block_id = 'room_block_id_example' # str | Room block ID + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # deleteRoomBlock + api_response = api_instance.delete_room_block_delete(room_block_id, property_id=property_id) + print("The response of RoomApi->delete_room_block_delete:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoomApi->delete_room_block_delete: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **room_block_id** | **str**| Room block ID | + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**DeleteRoomBlockResponse**](DeleteRoomBlockResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_available_room_types_get** +> GetAvailableRoomTypesResponse get_available_room_types_get(start_date, end_date, rooms, adults, children, property_ids=property_ids, promo_code=promo_code, detailed_rates=detailed_rates, include_shared_rooms=include_shared_rooms, sort=sort, order=order, min_rate=min_rate, max_rate=max_rate, page_number=page_number, page_size=page_size) + +getAvailableRoomTypes + +Returns a list of room types with availability considering the informed parameters ### Group account support + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_available_room_types_response import GetAvailableRoomTypesResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RoomApi(api_client) + start_date = '2013-10-20' # date | Check-In date. + end_date = '2013-10-20' # date | Check-Out date. + rooms = 1 # int | Number of rooms. (default to 1) + adults = 1 # int | Number of adults. (default to 1) + children = 56 # int | Number of children. + property_ids = 'property_ids_example' # str | Property ID list, comma-separated, i.e. 37,345,89 (optional) + promo_code = 'promo_code_example' # str | Promotional code (optional) + detailed_rates = False # bool | If detailed rates are expected (optional) (default to False) + include_shared_rooms = False # bool | Include shared rooms in the result for multiple adults/children (optional) (default to False) + sort = 'sort_example' # str | Sort parameter (optional) + order = asc # str | (optional) (default to asc) + min_rate = 3.4 # float | Minimum daily rate. Used to filter results (optional) + max_rate = 3.4 # float | Maximum daily rate. Used to filter results (optional) + page_number = 1 # int | Page number (optional) (default to 1) + page_size = 20 # int | Page size (optional) (default to 20) + + try: + # getAvailableRoomTypes + api_response = api_instance.get_available_room_types_get(start_date, end_date, rooms, adults, children, property_ids=property_ids, promo_code=promo_code, detailed_rates=detailed_rates, include_shared_rooms=include_shared_rooms, sort=sort, order=order, min_rate=min_rate, max_rate=max_rate, page_number=page_number, page_size=page_size) + print("The response of RoomApi->get_available_room_types_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoomApi->get_available_room_types_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **start_date** | **date**| Check-In date. | + **end_date** | **date**| Check-Out date. | + **rooms** | **int**| Number of rooms. | [default to 1] + **adults** | **int**| Number of adults. | [default to 1] + **children** | **int**| Number of children. | + **property_ids** | **str**| Property ID list, comma-separated, i.e. 37,345,89 | [optional] + **promo_code** | **str**| Promotional code | [optional] + **detailed_rates** | **bool**| If detailed rates are expected | [optional] [default to False] + **include_shared_rooms** | **bool**| Include shared rooms in the result for multiple adults/children | [optional] [default to False] + **sort** | **str**| Sort parameter | [optional] + **order** | **str**| | [optional] [default to asc] + **min_rate** | **float**| Minimum daily rate. Used to filter results | [optional] + **max_rate** | **float**| Maximum daily rate. Used to filter results | [optional] + **page_number** | **int**| Page number | [optional] [default to 1] + **page_size** | **int**| Page size | [optional] [default to 20] + +### Return type + +[**GetAvailableRoomTypesResponse**](GetAvailableRoomTypesResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_reservation_room_details_get** +> GetReservationRoomDetailsResponse get_reservation_room_details_get(sub_reservation_id, property_id=property_id) + +getReservationRoomDetails + +Returns information about particular room in reservation by its subReservationID + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_reservation_room_details_response import GetReservationRoomDetailsResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RoomApi(api_client) + sub_reservation_id = 'sub_reservation_id_example' # str | Sub Reservation ID of the specific assigned room + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # getReservationRoomDetails + api_response = api_instance.get_reservation_room_details_get(sub_reservation_id, property_id=property_id) + print("The response of RoomApi->get_reservation_room_details_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoomApi->get_reservation_room_details_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **sub_reservation_id** | **str**| Sub Reservation ID of the specific assigned room | + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**GetReservationRoomDetailsResponse**](GetReservationRoomDetailsResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_room_blocks_get** +> GetRoomBlocksResponse get_room_blocks_get(property_id=property_id, room_block_id=room_block_id, room_type_id=room_type_id, room_id=room_id, start_date=start_date, end_date=end_date, page_number=page_number, page_size=page_size) + +getRoomBlocks + +Returns a list of all room blocks considering the informed parameters. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_room_blocks_response import GetRoomBlocksResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RoomApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + room_block_id = 'room_block_id_example' # str | Room block ID (optional) + room_type_id = 'room_type_id_example' # str | Room type ID (optional) + room_id = 'room_id_example' # str | Room ID (optional) + start_date = '2013-10-20' # date | date\"] Start date - will filter for any room blocks that include this date (Date range must be one month or less) (optional) + end_date = '2013-10-20' # date | date\"] End date - will filter for any room blocks that include this date (Date range must be one month or less) (optional) + page_number = 1 # int | Page number (optional) (default to 1) + page_size = 20 # int | Page size (optional) (default to 20) + + try: + # getRoomBlocks + api_response = api_instance.get_room_blocks_get(property_id=property_id, room_block_id=room_block_id, room_type_id=room_type_id, room_id=room_id, start_date=start_date, end_date=end_date, page_number=page_number, page_size=page_size) + print("The response of RoomApi->get_room_blocks_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoomApi->get_room_blocks_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **room_block_id** | **str**| Room block ID | [optional] + **room_type_id** | **str**| Room type ID | [optional] + **room_id** | **str**| Room ID | [optional] + **start_date** | **date**| date\"] Start date - will filter for any room blocks that include this date (Date range must be one month or less) | [optional] + **end_date** | **date**| date\"] End date - will filter for any room blocks that include this date (Date range must be one month or less) | [optional] + **page_number** | **int**| Page number | [optional] [default to 1] + **page_size** | **int**| Page size | [optional] [default to 20] + +### Return type + +[**GetRoomBlocksResponse**](GetRoomBlocksResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_room_types_get** +> GetRoomTypesResponse get_room_types_get(property_ids=property_ids, room_type_ids=room_type_ids, start_date=start_date, end_date=end_date, adults=adults, children=children, detailed_rates=detailed_rates, room_type_name=room_type_name, property_city=property_city, property_name=property_name, max_guests=max_guests, page_number=page_number, page_size=page_size, sort=sort) + +getRoomTypes + +Returns a list of room types filtered by the selected parameters ### Group account support + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_room_types_response import GetRoomTypesResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RoomApi(api_client) + property_ids = 'property_ids_example' # str | Property ID list, comma-separated, i.e. 37,345,89 (optional) + room_type_ids = 'room_type_ids_example' # str | Room Type ID list, If more than one, send as comma-separated, i.e. 37,345,89 (optional) + start_date = '2013-10-20' # date | Check-in date. Required for the rates to be returned. (optional) + end_date = '2013-10-20' # date | Check-out date. Required for the rates to be returned. (optional) + adults = 56 # int | Number of adults. Required for the rates to be returned. (optional) + children = 56 # int | Number of children. Required for the rates to be returned. (optional) + detailed_rates = False # bool | If detailed rates are expected (optional) (default to False) + room_type_name = 'room_type_name_example' # str | Room type name, used to filter (optional) + property_city = 'property_city_example' # str | Hotel city, used to filter (optional) + property_name = 'property_name_example' # str | Hotel name, used to filter (optional) + max_guests = 'max_guests_example' # str | Max number of guests, used to filter (optional) + page_number = 1 # int | Page number (optional) (default to 1) + page_size = 20 # int | Page size (optional) (default to 20) + sort = 'sort_example' # str | Sorting rules, semicolon-separated. Format: `field[:direction]`, where `direction` is `asc` or `desc`, defaults to `asc` if not provided. Valid fields: `sorting_position`. Examples: - `sort=sorting_position` - `sort=sorting_position:desc` (optional) + + try: + # getRoomTypes + api_response = api_instance.get_room_types_get(property_ids=property_ids, room_type_ids=room_type_ids, start_date=start_date, end_date=end_date, adults=adults, children=children, detailed_rates=detailed_rates, room_type_name=room_type_name, property_city=property_city, property_name=property_name, max_guests=max_guests, page_number=page_number, page_size=page_size, sort=sort) + print("The response of RoomApi->get_room_types_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoomApi->get_room_types_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_ids** | **str**| Property ID list, comma-separated, i.e. 37,345,89 | [optional] + **room_type_ids** | **str**| Room Type ID list, If more than one, send as comma-separated, i.e. 37,345,89 | [optional] + **start_date** | **date**| Check-in date. Required for the rates to be returned. | [optional] + **end_date** | **date**| Check-out date. Required for the rates to be returned. | [optional] + **adults** | **int**| Number of adults. Required for the rates to be returned. | [optional] + **children** | **int**| Number of children. Required for the rates to be returned. | [optional] + **detailed_rates** | **bool**| If detailed rates are expected | [optional] [default to False] + **room_type_name** | **str**| Room type name, used to filter | [optional] + **property_city** | **str**| Hotel city, used to filter | [optional] + **property_name** | **str**| Hotel name, used to filter | [optional] + **max_guests** | **str**| Max number of guests, used to filter | [optional] + **page_number** | **int**| Page number | [optional] [default to 1] + **page_size** | **int**| Page size | [optional] [default to 20] + **sort** | **str**| Sorting rules, semicolon-separated. Format: `field[:direction]`, where `direction` is `asc` or `desc`, defaults to `asc` if not provided. Valid fields: `sorting_position`. Examples: - `sort=sorting_position` - `sort=sorting_position:desc` | [optional] + +### Return type + +[**GetRoomTypesResponse**](GetRoomTypesResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_rooms_fees_and_taxes_get** +> GetRoomsFeesAndTaxesResponse get_rooms_fees_and_taxes_get(start_date, end_date, rooms_total, rooms_count, property_id=property_id) + +getRoomsFeesAndTaxes + +Get applicable fees and tax to a booking. This is meant to be used on checkout to display to the guest. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response import GetRoomsFeesAndTaxesResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RoomApi(api_client) + start_date = '2013-10-20' # date | Check-in date + end_date = '2013-10-20' # date | Check-out date + rooms_total = 3.4 # float | Total value of the rooms to be booked, with included taxes + rooms_count = 56 # int | Number of rooms to be booked + property_id = 'property_id_example' # str | Property ID (optional) + + try: + # getRoomsFeesAndTaxes + api_response = api_instance.get_rooms_fees_and_taxes_get(start_date, end_date, rooms_total, rooms_count, property_id=property_id) + print("The response of RoomApi->get_rooms_fees_and_taxes_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoomApi->get_rooms_fees_and_taxes_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **start_date** | **date**| Check-in date | + **end_date** | **date**| Check-out date | + **rooms_total** | **float**| Total value of the rooms to be booked, with included taxes | + **rooms_count** | **int**| Number of rooms to be booked | + **property_id** | **str**| Property ID | [optional] + +### Return type + +[**GetRoomsFeesAndTaxesResponse**](GetRoomsFeesAndTaxesResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_rooms_get** +> GetRoomsResponse get_rooms_get(property_ids=property_ids, room_type_id=room_type_id, room_type_name_short=room_type_name_short, start_date=start_date, end_date=end_date, include_room_relations=include_room_relations, page_number=page_number, page_size=page_size, sort=sort) + +getRooms + +Returns a list of all rooms considering the informed parameters. If Check-in/out dates are sent, only unassigned rooms are returned. ### Group account support + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_rooms_response import GetRoomsResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RoomApi(api_client) + property_ids = 'property_ids_example' # str | Property ID list, comma-separated, i.e. 37,345,89 (optional) + room_type_id = 'room_type_id_example' # str | Room type ID, comma-separated, i.e. 37,345,89 (optional) + room_type_name_short = 'room_type_name_short_example' # str | Room Type (short-version) (optional) + start_date = '2013-10-20' # date | Initial stay date. If sent, only returns unassigned rooms in this period. If not sent, will return all rooms available in property. Necessary if endDate is sent. (optional) + end_date = '2013-10-20' # date | Final stay date. Necessary if startDate is sent. (optional) + include_room_relations = 0 # int | Determines whether room relations info should be included in the response (optional) (default to 0) + page_number = 1 # int | Page number (optional) (default to 1) + page_size = 20 # int | Page size (optional) (default to 20) + sort = 'sort_example' # str | Sorting rules, semicolon-separated. Format: `field[:direction]`, where `direction` is `asc` or `desc`, defaults to `asc` if not provided. Valid fields: `room_position`, `sorting_position`. Examples: - `sort=room_position;sorting_position` - `sort=room_position:asc;sorting_position:desc` (optional) + + try: + # getRooms + api_response = api_instance.get_rooms_get(property_ids=property_ids, room_type_id=room_type_id, room_type_name_short=room_type_name_short, start_date=start_date, end_date=end_date, include_room_relations=include_room_relations, page_number=page_number, page_size=page_size, sort=sort) + print("The response of RoomApi->get_rooms_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoomApi->get_rooms_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_ids** | **str**| Property ID list, comma-separated, i.e. 37,345,89 | [optional] + **room_type_id** | **str**| Room type ID, comma-separated, i.e. 37,345,89 | [optional] + **room_type_name_short** | **str**| Room Type (short-version) | [optional] + **start_date** | **date**| Initial stay date. If sent, only returns unassigned rooms in this period. If not sent, will return all rooms available in property. Necessary if endDate is sent. | [optional] + **end_date** | **date**| Final stay date. Necessary if startDate is sent. | [optional] + **include_room_relations** | **int**| Determines whether room relations info should be included in the response | [optional] [default to 0] + **page_number** | **int**| Page number | [optional] [default to 1] + **page_size** | **int**| Page size | [optional] [default to 20] + **sort** | **str**| Sorting rules, semicolon-separated. Format: `field[:direction]`, where `direction` is `asc` or `desc`, defaults to `asc` if not provided. Valid fields: `room_position`, `sorting_position`. Examples: - `sort=room_position;sorting_position` - `sort=room_position:asc;sorting_position:desc` | [optional] + +### Return type + +[**GetRoomsResponse**](GetRoomsResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_rooms_unassigned_get** +> GetRoomsUnassignedResponse get_rooms_unassigned_get(property_ids=property_ids) + +getRoomsUnassigned + +Returns a list of unassigned rooms in the property. Call is alias of [getRooms](#api-Room-getRooms). Please check its documentation for parameters, response and example. ### Group account support + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_rooms_unassigned_response import GetRoomsUnassignedResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RoomApi(api_client) + property_ids = 'property_ids_example' # str | List of property IDs, comma-separated, i.e. 37,345,89 (optional) + + try: + # getRoomsUnassigned + api_response = api_instance.get_rooms_unassigned_get(property_ids=property_ids) + print("The response of RoomApi->get_rooms_unassigned_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoomApi->get_rooms_unassigned_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_ids** | **str**| List of property IDs, comma-separated, i.e. 37,345,89 | [optional] + +### Return type + +[**GetRoomsUnassignedResponse**](GetRoomsUnassignedResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_room_assign_post** +> PostRoomAssignResponse post_room_assign_post(property_id=property_id, reservation_id=reservation_id, sub_reservation_id=sub_reservation_id, reservation_room_id=reservation_room_id, new_room_id=new_room_id, room_type_id=room_type_id, old_room_id=old_room_id, override_rates=override_rates, adjust_price=adjust_price) + +postRoomAssign + +Assign/Reassign a room on a guest reservation + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_room_assign_response import PostRoomAssignResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RoomApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + reservation_id = 'reservation_id_example' # str | Reservation identifier (optional) + sub_reservation_id = 'sub_reservation_id_example' # str | Sub Reservation identifier (optional) + reservation_room_id = 'reservation_room_id_example' # str | Reservation room ID. Must be set if you want to unassign a room. (optional) + new_room_id = 'new_room_id_example' # str | Room ID of the room that will be assigned. Empty field must be sent if you want to unassign a room. (optional) + room_type_id = 'room_type_id_example' # str | Room Type ID of the room that will be assigned. Need to be provided in case of assignment. (optional) + old_room_id = 'old_room_id_example' # str | Room ID of the room that was assigned. Need to be provided in case of reassignment. (optional) + override_rates = False # bool | Deprecated. Please use adjustPrice instead. Setting overrideRates=true will have the opposite of the effect that the name implies. It will cause the rates to NOT be overridden, but instead to be recalculated based on the new room assignment. (optional) (default to False) + adjust_price = False # bool | If room assignment would result in an upcharge or discount, this parameter needs to be set to true to approve the charges. If not set, the rate will retain its original value. (optional) (default to False) + + try: + # postRoomAssign + api_response = api_instance.post_room_assign_post(property_id=property_id, reservation_id=reservation_id, sub_reservation_id=sub_reservation_id, reservation_room_id=reservation_room_id, new_room_id=new_room_id, room_type_id=room_type_id, old_room_id=old_room_id, override_rates=override_rates, adjust_price=adjust_price) + print("The response of RoomApi->post_room_assign_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoomApi->post_room_assign_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **reservation_id** | **str**| Reservation identifier | [optional] + **sub_reservation_id** | **str**| Sub Reservation identifier | [optional] + **reservation_room_id** | **str**| Reservation room ID. Must be set if you want to unassign a room. | [optional] + **new_room_id** | **str**| Room ID of the room that will be assigned. Empty field must be sent if you want to unassign a room. | [optional] + **room_type_id** | **str**| Room Type ID of the room that will be assigned. Need to be provided in case of assignment. | [optional] + **old_room_id** | **str**| Room ID of the room that was assigned. Need to be provided in case of reassignment. | [optional] + **override_rates** | **bool**| Deprecated. Please use adjustPrice instead. Setting overrideRates=true will have the opposite of the effect that the name implies. It will cause the rates to NOT be overridden, but instead to be recalculated based on the new room assignment. | [optional] [default to False] + **adjust_price** | **bool**| If room assignment would result in an upcharge or discount, this parameter needs to be set to true to approve the charges. If not set, the rate will retain its original value. | [optional] [default to False] + +### Return type + +[**PostRoomAssignResponse**](PostRoomAssignResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_room_block_post** +> PostRoomBlockResponse post_room_block_post(property_id=property_id, room_block_type=room_block_type, room_block_reason=room_block_reason, start_date=start_date, end_date=end_date, rooms=rooms, first_name=first_name, last_name=last_name, length_of_hold_in_hours=length_of_hold_in_hours, email=email, phone=phone) + +postRoomBlock + +Adds a room block to the selected property. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_room_block_request_rooms_inner import PostRoomBlockRequestRoomsInner +from cloudbeds_pms_v1_3.models.post_room_block_response import PostRoomBlockResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RoomApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + room_block_type = 'room_block_type_example' # str | Room block type. ‘blocked’ - Room block. ‘out_of_service’ - Out of service block. 'courtesy_hold' - Courtesy hold block. (optional) + room_block_reason = 'room_block_reason_example' # str | Room block reason (optional) + start_date = '2013-10-20' # date | Room block start date (optional) + end_date = '2013-10-20' # date | Room block end date (optional) + rooms = [cloudbeds_pms_v1_3.PostRoomBlockRequestRoomsInner()] # List[PostRoomBlockRequestRoomsInner] | All rooms for room block. When multiple rooms are submitted they will be created under the same roomBlockID. For properties using split inventory (virtual rooms linked to physical rooms), only provide the source rooms you want to block. Linked rooms will be automatically added. Do not include auto-added linked rooms in the request - the API will reject requests that include both a source room and its linked room(s). (optional) + first_name = 'first_name_example' # str | First name - for courtesy hold updates (optional) + last_name = 'last_name_example' # str | Last name - for courtesy hold updates (optional) + length_of_hold_in_hours = 56 # int | Length of hold in hours - for courtesy hold updates (optional) + email = 'email_example' # str | Email address - for courtesy hold updates (optional) + phone = 'phone_example' # str | Phone number - for courtesy hold updates (optional) + + try: + # postRoomBlock + api_response = api_instance.post_room_block_post(property_id=property_id, room_block_type=room_block_type, room_block_reason=room_block_reason, start_date=start_date, end_date=end_date, rooms=rooms, first_name=first_name, last_name=last_name, length_of_hold_in_hours=length_of_hold_in_hours, email=email, phone=phone) + print("The response of RoomApi->post_room_block_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoomApi->post_room_block_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **room_block_type** | **str**| Room block type. ‘blocked’ - Room block. ‘out_of_service’ - Out of service block. 'courtesy_hold' - Courtesy hold block. | [optional] + **room_block_reason** | **str**| Room block reason | [optional] + **start_date** | **date**| Room block start date | [optional] + **end_date** | **date**| Room block end date | [optional] + **rooms** | [**List[PostRoomBlockRequestRoomsInner]**](PostRoomBlockRequestRoomsInner.md)| All rooms for room block. When multiple rooms are submitted they will be created under the same roomBlockID. For properties using split inventory (virtual rooms linked to physical rooms), only provide the source rooms you want to block. Linked rooms will be automatically added. Do not include auto-added linked rooms in the request - the API will reject requests that include both a source room and its linked room(s). | [optional] + **first_name** | **str**| First name - for courtesy hold updates | [optional] + **last_name** | **str**| Last name - for courtesy hold updates | [optional] + **length_of_hold_in_hours** | **int**| Length of hold in hours - for courtesy hold updates | [optional] + **email** | **str**| Email address - for courtesy hold updates | [optional] + **phone** | **str**| Phone number - for courtesy hold updates | [optional] + +### Return type + +[**PostRoomBlockResponse**](PostRoomBlockResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_room_check_in_post** +> PostRoomCheckInResponse post_room_check_in_post(property_id=property_id, reservation_id=reservation_id, sub_reservation_id=sub_reservation_id, room_id=room_id) + +postRoomCheckIn + +Check-in a room already assigned for a guest + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_room_check_in_response import PostRoomCheckInResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RoomApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + reservation_id = 'reservation_id_example' # str | Reservation identifier (optional) + sub_reservation_id = 'sub_reservation_id_example' # str | Sub Reservation identifier, allows for granular control over what room is being checked-in. If sent, roomID is ignored. (optional) + room_id = 'room_id_example' # str | Room ID of the room that will be checked-in. (optional) + + try: + # postRoomCheckIn + api_response = api_instance.post_room_check_in_post(property_id=property_id, reservation_id=reservation_id, sub_reservation_id=sub_reservation_id, room_id=room_id) + print("The response of RoomApi->post_room_check_in_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoomApi->post_room_check_in_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **reservation_id** | **str**| Reservation identifier | [optional] + **sub_reservation_id** | **str**| Sub Reservation identifier, allows for granular control over what room is being checked-in. If sent, roomID is ignored. | [optional] + **room_id** | **str**| Room ID of the room that will be checked-in. | [optional] + +### Return type + +[**PostRoomCheckInResponse**](PostRoomCheckInResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_room_check_out_post** +> PostRoomCheckOutResponse post_room_check_out_post(property_id=property_id, reservation_id=reservation_id, sub_reservation_id=sub_reservation_id, room_id=room_id) + +postRoomCheckOut + +Check-out a room already assigned for a guest. If all rooms are checked out, the reservation status will update accordingly to \"Checked Out\" as well. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.post_room_check_out_response import PostRoomCheckOutResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RoomApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + reservation_id = 'reservation_id_example' # str | Reservation identifier (optional) + sub_reservation_id = 'sub_reservation_id_example' # str | Sub Reservation identifier, allows for granular control over what room is being checked out. If sent, roomID is ignored. (optional) + room_id = 'room_id_example' # str | Room ID of the room that will be checked out. (optional) + + try: + # postRoomCheckOut + api_response = api_instance.post_room_check_out_post(property_id=property_id, reservation_id=reservation_id, sub_reservation_id=sub_reservation_id, room_id=room_id) + print("The response of RoomApi->post_room_check_out_post:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoomApi->post_room_check_out_post: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **reservation_id** | **str**| Reservation identifier | [optional] + **sub_reservation_id** | **str**| Sub Reservation identifier, allows for granular control over what room is being checked out. If sent, roomID is ignored. | [optional] + **room_id** | **str**| Room ID of the room that will be checked out. | [optional] + +### Return type + +[**PostRoomCheckOutResponse**](PostRoomCheckOutResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **put_room_block_put** +> PutRoomBlockResponse put_room_block_put(property_id=property_id, room_block_id=room_block_id, room_block_reason=room_block_reason, start_date=start_date, end_date=end_date, rooms=rooms, first_name=first_name, last_name=last_name, length_of_hold_in_hours=length_of_hold_in_hours, email=email, phone=phone) + +putRoomBlock + +Updates a room block. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.put_room_block_request_rooms_inner import PutRoomBlockRequestRoomsInner +from cloudbeds_pms_v1_3.models.put_room_block_response import PutRoomBlockResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.RoomApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + room_block_id = 'room_block_id_example' # str | Room block ID (optional) + room_block_reason = 'room_block_reason_example' # str | Room block reason (optional) + start_date = '2013-10-20' # date | Room block start date (optional) + end_date = '2013-10-20' # date | Room block end date (optional) + rooms = [cloudbeds_pms_v1_3.PutRoomBlockRequestRoomsInner()] # List[PutRoomBlockRequestRoomsInner] | All rooms for room block. When multiple rooms are submitted they will be created under the same roomBlockID. For properties using split inventory (virtual rooms linked to physical rooms), only provide the source rooms you want to block. Linked rooms will be automatically added. Do not include auto-added linked rooms in the request - the API will reject requests that include both a source room and its linked room(s). Auto-added rooms cannot be individually swapped out; to remove an auto-added room, you must remove or swap its source room. (optional) + first_name = 'first_name_example' # str | First name - for courtesy hold updates (optional) + last_name = 'last_name_example' # str | Last name - for courtesy hold updates (optional) + length_of_hold_in_hours = 56 # int | Length of hold in hours - for courtesy hold updates (optional) + email = 'email_example' # str | Email address - for courtesy hold updates (optional) + phone = 'phone_example' # str | Phone number - for courtesy hold updates (optional) + + try: + # putRoomBlock + api_response = api_instance.put_room_block_put(property_id=property_id, room_block_id=room_block_id, room_block_reason=room_block_reason, start_date=start_date, end_date=end_date, rooms=rooms, first_name=first_name, last_name=last_name, length_of_hold_in_hours=length_of_hold_in_hours, email=email, phone=phone) + print("The response of RoomApi->put_room_block_put:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoomApi->put_room_block_put: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **room_block_id** | **str**| Room block ID | [optional] + **room_block_reason** | **str**| Room block reason | [optional] + **start_date** | **date**| Room block start date | [optional] + **end_date** | **date**| Room block end date | [optional] + **rooms** | [**List[PutRoomBlockRequestRoomsInner]**](PutRoomBlockRequestRoomsInner.md)| All rooms for room block. When multiple rooms are submitted they will be created under the same roomBlockID. For properties using split inventory (virtual rooms linked to physical rooms), only provide the source rooms you want to block. Linked rooms will be automatically added. Do not include auto-added linked rooms in the request - the API will reject requests that include both a source room and its linked room(s). Auto-added rooms cannot be individually swapped out; to remove an auto-added room, you must remove or swap its source room. | [optional] + **first_name** | **str**| First name - for courtesy hold updates | [optional] + **last_name** | **str**| Last name - for courtesy hold updates | [optional] + **length_of_hold_in_hours** | **int**| Length of hold in hours - for courtesy hold updates | [optional] + **email** | **str**| Email address - for courtesy hold updates | [optional] + **phone** | **str**| Phone number - for courtesy hold updates | [optional] + +### Return type + +[**PutRoomBlockResponse**](PutRoomBlockResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/TaxesAndFeesApi.md b/cloudbeds_pms_v1_3/docs/TaxesAndFeesApi.md new file mode 100644 index 0000000..2e53bc2 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/TaxesAndFeesApi.md @@ -0,0 +1,97 @@ +# cloudbeds_pms_v1_3.TaxesAndFeesApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_taxes_and_fees_get**](TaxesAndFeesApi.md#get_taxes_and_fees_get) | **GET** /getTaxesAndFees | getTaxesAndFees + + +# **get_taxes_and_fees_get** +> GetTaxesAndFeesResponse get_taxes_and_fees_get(property_id=property_id, include_deleted=include_deleted, include_expired=include_expired, include_custom_item_taxes=include_custom_item_taxes) + +getTaxesAndFees + +Returns the taxes and fees set for the property. Read the [Rate-Based tax (Dynamic Tax) guide](https://myfrontdesk.cloudbeds.com/hc/en-us/articles/360014103514-rate-based-tax-dynamic-tax) to understand its usage. + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response import GetTaxesAndFeesResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.TaxesAndFeesApi(api_client) + property_id = 'property_id_example' # str | Property ID (optional) + include_deleted = False # bool | If the response should include deleted taxes and fees (optional) (default to False) + include_expired = False # bool | If the response should include expired taxes and fees (optional) (default to False) + include_custom_item_taxes = False # bool | If the response should include custom item taxes (optional) (default to False) + + try: + # getTaxesAndFees + api_response = api_instance.get_taxes_and_fees_get(property_id=property_id, include_deleted=include_deleted, include_expired=include_expired, include_custom_item_taxes=include_custom_item_taxes) + print("The response of TaxesAndFeesApi->get_taxes_and_fees_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TaxesAndFeesApi->get_taxes_and_fees_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_id** | **str**| Property ID | [optional] + **include_deleted** | **bool**| If the response should include deleted taxes and fees | [optional] [default to False] + **include_expired** | **bool**| If the response should include expired taxes and fees | [optional] [default to False] + **include_custom_item_taxes** | **bool**| If the response should include custom item taxes | [optional] [default to False] + +### Return type + +[**GetTaxesAndFeesResponse**](GetTaxesAndFeesResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/docs/UserApi.md b/cloudbeds_pms_v1_3/docs/UserApi.md new file mode 100644 index 0000000..e1ed2a8 --- /dev/null +++ b/cloudbeds_pms_v1_3/docs/UserApi.md @@ -0,0 +1,91 @@ +# cloudbeds_pms_v1_3.UserApi + +All URIs are relative to *https://api.cloudbeds.com/api/v1.3* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_users_get**](UserApi.md#get_users_get) | **GET** /getUsers | getUsers + + +# **get_users_get** +> GetUsersResponse get_users_get(property_ids=property_ids) + +getUsers + +Returns information on the properties' users ### Group account support + +### Example + +* OAuth Authentication (OAuth2): +* Api Key Authentication (api_key): + +```python +import cloudbeds_pms_v1_3 +from cloudbeds_pms_v1_3.models.get_users_response import GetUsersResponse +from cloudbeds_pms_v1_3.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.cloudbeds.com/api/v1.3 +# See configuration.py for a list of all supported configuration parameters. +configuration = cloudbeds_pms_v1_3.Configuration( + host = "https://api.cloudbeds.com/api/v1.3" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Enter a context with an instance of the API client +with cloudbeds_pms_v1_3.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cloudbeds_pms_v1_3.UserApi(api_client) + property_ids = 'property_ids_example' # str | Property numeric identifiers (comma-separated, i.e. 37,345,89) (optional) + + try: + # getUsers + api_response = api_instance.get_users_get(property_ids=property_ids) + print("The response of UserApi->get_users_get:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UserApi->get_users_get: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **property_ids** | **str**| Property numeric identifiers (comma-separated, i.e. 37,345,89) | [optional] + +### Return type + +[**GetUsersResponse**](GetUsersResponse.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [api_key](../README.md#api_key) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | 200 Response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/cloudbeds_pms_v1_3/exceptions.py b/cloudbeds_pms_v1_3/exceptions.py new file mode 100644 index 0000000..5ca213b --- /dev/null +++ b/cloudbeds_pms_v1_3/exceptions.py @@ -0,0 +1,216 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +from typing import Any, Optional +from typing_extensions import Self + +class OpenApiException(Exception): + """The base exception class for all OpenAPIExceptions""" + + +class ApiTypeError(OpenApiException, TypeError): + def __init__(self, msg, path_to_item=None, valid_classes=None, + key_type=None) -> None: + """ Raises an exception for TypeErrors + + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (list): a list of keys an indices to get to the + current_item + None if unset + valid_classes (tuple): the primitive classes that current item + should be an instance of + None if unset + key_type (bool): False if our value is a value in a dict + True if it is a key in a dict + False if our item is an item in a list + None if unset + """ + self.path_to_item = path_to_item + self.valid_classes = valid_classes + self.key_type = key_type + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiTypeError, self).__init__(full_msg) + + +class ApiValueError(OpenApiException, ValueError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (list) the path to the exception in the + received_data dict. None if unset + """ + + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiValueError, self).__init__(full_msg) + + +class ApiAttributeError(OpenApiException, AttributeError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Raised when an attribute reference or assignment fails. + + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (None/list) the path to the exception in the + received_data dict + """ + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiAttributeError, self).__init__(full_msg) + + +class ApiKeyError(OpenApiException, KeyError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (None/list) the path to the exception in the + received_data dict + """ + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiKeyError, self).__init__(full_msg) + + +class ApiException(OpenApiException): + + def __init__( + self, + status=None, + reason=None, + http_resp=None, + *, + body: Optional[str] = None, + data: Optional[Any] = None, + ) -> None: + self.status = status + self.reason = reason + self.body = body + self.data = data + self.headers = None + + if http_resp: + if self.status is None: + self.status = http_resp.status + if self.reason is None: + self.reason = http_resp.reason + if self.body is None: + try: + self.body = http_resp.data.decode('utf-8') + except Exception: + pass + self.headers = http_resp.getheaders() + + @classmethod + def from_response( + cls, + *, + http_resp, + body: Optional[str], + data: Optional[Any], + ) -> Self: + if http_resp.status == 400: + raise BadRequestException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 401: + raise UnauthorizedException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 403: + raise ForbiddenException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 404: + raise NotFoundException(http_resp=http_resp, body=body, data=data) + + # Added new conditions for 409 and 422 + if http_resp.status == 409: + raise ConflictException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 422: + raise UnprocessableEntityException(http_resp=http_resp, body=body, data=data) + + if 500 <= http_resp.status <= 599: + raise ServiceException(http_resp=http_resp, body=body, data=data) + raise ApiException(http_resp=http_resp, body=body, data=data) + + def __str__(self): + """Custom error messages for exception""" + error_message = "({0})\n"\ + "Reason: {1}\n".format(self.status, self.reason) + if self.headers: + error_message += "HTTP response headers: {0}\n".format( + self.headers) + + if self.data or self.body: + error_message += "HTTP response body: {0}\n".format(self.data or self.body) + + return error_message + + +class BadRequestException(ApiException): + pass + + +class NotFoundException(ApiException): + pass + + +class UnauthorizedException(ApiException): + pass + + +class ForbiddenException(ApiException): + pass + + +class ServiceException(ApiException): + pass + + +class ConflictException(ApiException): + """Exception for HTTP 409 Conflict.""" + pass + + +class UnprocessableEntityException(ApiException): + """Exception for HTTP 422 Unprocessable Entity.""" + pass + + +def render_path(path_to_item): + """Returns a string representation of a path""" + result = "" + for pth in path_to_item: + if isinstance(pth, int): + result += "[{0}]".format(pth) + else: + result += "['{0}']".format(pth) + return result diff --git a/cloudbeds_pms_v1_3/models/__init__.py b/cloudbeds_pms_v1_3/models/__init__.py new file mode 100644 index 0000000..909e47a --- /dev/null +++ b/cloudbeds_pms_v1_3/models/__init__.py @@ -0,0 +1,332 @@ +# coding: utf-8 + +# flake8: noqa +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +# import models into model package +from cloudbeds_pms_v1_3.models.delete_adjustment_response import DeleteAdjustmentResponse +from cloudbeds_pms_v1_3.models.delete_guest_note_response import DeleteGuestNoteResponse +from cloudbeds_pms_v1_3.models.delete_reservation_note_response import DeleteReservationNoteResponse +from cloudbeds_pms_v1_3.models.delete_room_block_response import DeleteRoomBlockResponse +from cloudbeds_pms_v1_3.models.delete_webhook_response import DeleteWebhookResponse +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response import GetAllotmentBlocksResponse +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner import GetAllotmentBlocksResponseDataInner +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner import GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner import GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions import GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_auto_release_inner import GetAllotmentBlocksResponseDataInnerAutoReleaseInner +from cloudbeds_pms_v1_3.models.get_app_property_settings_response import GetAppPropertySettingsResponse +from cloudbeds_pms_v1_3.models.get_app_property_settings_response_data import GetAppPropertySettingsResponseData +from cloudbeds_pms_v1_3.models.get_app_property_settings_response_data_one_of import GetAppPropertySettingsResponseDataOneOf +from cloudbeds_pms_v1_3.models.get_app_settings_response import GetAppSettingsResponse +from cloudbeds_pms_v1_3.models.get_app_settings_response_data import GetAppSettingsResponseData +from cloudbeds_pms_v1_3.models.get_app_state_response import GetAppStateResponse +from cloudbeds_pms_v1_3.models.get_app_state_response_data import GetAppStateResponseData +from cloudbeds_pms_v1_3.models.get_available_room_types_response import GetAvailableRoomTypesResponse +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner import GetAvailableRoomTypesResponseDataInner +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_currency_inner import GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner import GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner import GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner import GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner +from cloudbeds_pms_v1_3.models.get_currency_settings_response import GetCurrencySettingsResponse +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data import GetCurrencySettingsResponseData +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data_format import GetCurrencySettingsResponseDataFormat +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data_rates import GetCurrencySettingsResponseDataRates +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data_rates_fixed_inner import GetCurrencySettingsResponseDataRatesFixedInner +from cloudbeds_pms_v1_3.models.get_custom_fields_response import GetCustomFieldsResponse +from cloudbeds_pms_v1_3.models.get_custom_fields_response_data_inner import GetCustomFieldsResponseDataInner +from cloudbeds_pms_v1_3.models.get_dashboard_response import GetDashboardResponse +from cloudbeds_pms_v1_3.models.get_dashboard_response_data import GetDashboardResponseData +from cloudbeds_pms_v1_3.models.get_email_schedule_response import GetEmailScheduleResponse +from cloudbeds_pms_v1_3.models.get_email_schedule_response_data_inner import GetEmailScheduleResponseDataInner +from cloudbeds_pms_v1_3.models.get_email_templates_response import GetEmailTemplatesResponse +from cloudbeds_pms_v1_3.models.get_email_templates_response_data_inner import GetEmailTemplatesResponseDataInner +from cloudbeds_pms_v1_3.models.get_files_response import GetFilesResponse +from cloudbeds_pms_v1_3.models.get_files_response_data_inner import GetFilesResponseDataInner +from cloudbeds_pms_v1_3.models.get_group_notes_response import GetGroupNotesResponse +from cloudbeds_pms_v1_3.models.get_group_notes_response_data import GetGroupNotesResponseData +from cloudbeds_pms_v1_3.models.get_groups_response import GetGroupsResponse +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner import GetGroupsResponseDataInner +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner import GetGroupsResponseDataInnerContactsInner +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner_emails_inner import GetGroupsResponseDataInnerContactsInnerEmailsInner +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner_phones_inner import GetGroupsResponseDataInnerContactsInnerPhonesInner +from cloudbeds_pms_v1_3.models.get_guest_list_response import GetGuestListResponse +from cloudbeds_pms_v1_3.models.get_guest_list_response_data_value import GetGuestListResponseDataValue +from cloudbeds_pms_v1_3.models.get_guest_list_response_data_value_guest_notes_inner import GetGuestListResponseDataValueGuestNotesInner +from cloudbeds_pms_v1_3.models.get_guest_notes_response import GetGuestNotesResponse +from cloudbeds_pms_v1_3.models.get_guest_notes_response_data_inner import GetGuestNotesResponseDataInner +from cloudbeds_pms_v1_3.models.get_guest_response import GetGuestResponse +from cloudbeds_pms_v1_3.models.get_guest_response_data import GetGuestResponseData +from cloudbeds_pms_v1_3.models.get_guest_response_data_birth_date import GetGuestResponseDataBirthDate +from cloudbeds_pms_v1_3.models.get_guest_response_data_custom_fields_inner import GetGuestResponseDataCustomFieldsInner +from cloudbeds_pms_v1_3.models.get_guest_response_data_document_expiration_date import GetGuestResponseDataDocumentExpirationDate +from cloudbeds_pms_v1_3.models.get_guest_response_data_document_issue_date import GetGuestResponseDataDocumentIssueDate +from cloudbeds_pms_v1_3.models.get_guests_by_filter_response import GetGuestsByFilterResponse +from cloudbeds_pms_v1_3.models.get_guests_by_filter_response_data_inner import GetGuestsByFilterResponseDataInner +from cloudbeds_pms_v1_3.models.get_guests_by_status_response import GetGuestsByStatusResponse +from cloudbeds_pms_v1_3.models.get_guests_by_status_response_data_inner import GetGuestsByStatusResponseDataInner +from cloudbeds_pms_v1_3.models.get_guests_modified_response import GetGuestsModifiedResponse +from cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner import GetGuestsModifiedResponseDataInner +from cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner import GetGuestsModifiedResponseDataInnerCustomFieldsInner +from cloudbeds_pms_v1_3.models.get_hotel_details_response import GetHotelDetailsResponse +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data import GetHotelDetailsResponseData +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_address import GetHotelDetailsResponseDataPropertyAddress +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_currency import GetHotelDetailsResponseDataPropertyCurrency +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_image_inner import GetHotelDetailsResponseDataPropertyImageInner +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_policy import GetHotelDetailsResponseDataPropertyPolicy +from cloudbeds_pms_v1_3.models.get_hotels_response import GetHotelsResponse +from cloudbeds_pms_v1_3.models.get_hotels_response_data_inner import GetHotelsResponseDataInner +from cloudbeds_pms_v1_3.models.get_hotels_response_data_inner_property_currency_inner import GetHotelsResponseDataInnerPropertyCurrencyInner +from cloudbeds_pms_v1_3.models.get_house_account_list_response import GetHouseAccountListResponse +from cloudbeds_pms_v1_3.models.get_house_account_list_response_data_inner import GetHouseAccountListResponseDataInner +from cloudbeds_pms_v1_3.models.get_housekeepers_response import GetHousekeepersResponse +from cloudbeds_pms_v1_3.models.get_housekeepers_response_data_inner import GetHousekeepersResponseDataInner +from cloudbeds_pms_v1_3.models.get_housekeeping_status_response import GetHousekeepingStatusResponse +from cloudbeds_pms_v1_3.models.get_housekeeping_status_response_data_inner import GetHousekeepingStatusResponseDataInner +from cloudbeds_pms_v1_3.models.get_item_categories_response import GetItemCategoriesResponse +from cloudbeds_pms_v1_3.models.get_item_categories_response_data_inner import GetItemCategoriesResponseDataInner +from cloudbeds_pms_v1_3.models.get_item_response import GetItemResponse +from cloudbeds_pms_v1_3.models.get_item_response_data import GetItemResponseData +from cloudbeds_pms_v1_3.models.get_item_response_data_fees_inner import GetItemResponseDataFeesInner +from cloudbeds_pms_v1_3.models.get_item_response_data_taxes_inner import GetItemResponseDataTaxesInner +from cloudbeds_pms_v1_3.models.get_items_response import GetItemsResponse +from cloudbeds_pms_v1_3.models.get_items_response_data_inner import GetItemsResponseDataInner +from cloudbeds_pms_v1_3.models.get_list_allotment_block_notes_response import GetListAllotmentBlockNotesResponse +from cloudbeds_pms_v1_3.models.get_list_allotment_block_notes_response_data_inner import GetListAllotmentBlockNotesResponseDataInner +from cloudbeds_pms_v1_3.models.get_metadata_response import GetMetadataResponse +from cloudbeds_pms_v1_3.models.get_metadata_response_data import GetMetadataResponseData +from cloudbeds_pms_v1_3.models.get_metadata_response_data_api import GetMetadataResponseDataApi +from cloudbeds_pms_v1_3.models.get_packages_response import GetPackagesResponse +from cloudbeds_pms_v1_3.models.get_packages_response_data import GetPackagesResponseData +from cloudbeds_pms_v1_3.models.get_payment_methods_response import GetPaymentMethodsResponse +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data import GetPaymentMethodsResponseData +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data_gateway import GetPaymentMethodsResponseDataGateway +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data_methods_inner import GetPaymentMethodsResponseDataMethodsInner +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data_methods_inner_card_types_inner import GetPaymentMethodsResponseDataMethodsInnerCardTypesInner +from cloudbeds_pms_v1_3.models.get_payments_capabilities_response import GetPaymentsCapabilitiesResponse +from cloudbeds_pms_v1_3.models.get_payments_capabilities_response_data_inner import GetPaymentsCapabilitiesResponseDataInner +from cloudbeds_pms_v1_3.models.get_rate_jobs_response import GetRateJobsResponse +from cloudbeds_pms_v1_3.models.get_rate_jobs_response_data_inner import GetRateJobsResponseDataInner +from cloudbeds_pms_v1_3.models.get_rate_jobs_response_data_inner_updates_inner import GetRateJobsResponseDataInnerUpdatesInner +from cloudbeds_pms_v1_3.models.get_rate_plans_response import GetRatePlansResponse +from cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner import GetRatePlansResponseDataInner +from cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner_add_ons_inner import GetRatePlansResponseDataInnerAddOnsInner +from cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner_room_rate_detailed_inner import GetRatePlansResponseDataInnerRoomRateDetailedInner +from cloudbeds_pms_v1_3.models.get_rate_response import GetRateResponse +from cloudbeds_pms_v1_3.models.get_rate_response_data import GetRateResponseData +from cloudbeds_pms_v1_3.models.get_rate_response_data_room_rate_detailed_inner import GetRateResponseDataRoomRateDetailedInner +from cloudbeds_pms_v1_3.models.get_reservation_assignments_response import GetReservationAssignmentsResponse +from cloudbeds_pms_v1_3.models.get_reservation_assignments_response_data_inner import GetReservationAssignmentsResponseDataInner +from cloudbeds_pms_v1_3.models.get_reservation_assignments_response_data_inner_assigned_inner import GetReservationAssignmentsResponseDataInnerAssignedInner +from cloudbeds_pms_v1_3.models.get_reservation_notes_response import GetReservationNotesResponse +from cloudbeds_pms_v1_3.models.get_reservation_notes_response_data_inner import GetReservationNotesResponseDataInner +from cloudbeds_pms_v1_3.models.get_reservation_response import GetReservationResponse +from cloudbeds_pms_v1_3.models.get_reservation_response_data import GetReservationResponseData +from cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner import GetReservationResponseDataAssignedInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner_daily_rates_inner import GetReservationResponseDataAssignedInnerDailyRatesInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_balance_detailed import GetReservationResponseDataBalanceDetailed +from cloudbeds_pms_v1_3.models.get_reservation_response_data_balance_detailed_one_of import GetReservationResponseDataBalanceDetailedOneOf +from cloudbeds_pms_v1_3.models.get_reservation_response_data_cards_on_file_inner import GetReservationResponseDataCardsOnFileInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_group_inventory_inner import GetReservationResponseDataGroupInventoryInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value import GetReservationResponseDataGuestListValue +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_custom_fields_inner import GetReservationResponseDataGuestListValueCustomFieldsInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_guest_birthdate import GetReservationResponseDataGuestListValueGuestBirthdate +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_rooms_inner import GetReservationResponseDataGuestListValueRoomsInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_unassigned_rooms_inner import GetReservationResponseDataGuestListValueUnassignedRoomsInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_unassigned_inner import GetReservationResponseDataUnassignedInner +from cloudbeds_pms_v1_3.models.get_reservation_room_details_response import GetReservationRoomDetailsResponse +from cloudbeds_pms_v1_3.models.get_reservation_room_details_response_data import GetReservationRoomDetailsResponseData +from cloudbeds_pms_v1_3.models.get_reservation_room_details_response_data_guests_inner import GetReservationRoomDetailsResponseDataGuestsInner +from cloudbeds_pms_v1_3.models.get_reservations_response import GetReservationsResponse +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner import GetReservationsResponseDataInner +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value import GetReservationsResponseDataInnerGuestListValue +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_rooms_inner import GetReservationsResponseDataInnerGuestListValueRoomsInner +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner import GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_rooms_inner import GetReservationsResponseDataInnerRoomsInner +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response import GetReservationsWithRateDetailsResponse +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner import GetReservationsWithRateDetailsResponseDataInner +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_balance_detailed import GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_guest_list_value import GetReservationsWithRateDetailsResponseDataInnerGuestListValue +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_rooms_inner import GetReservationsWithRateDetailsResponseDataInnerRoomsInner +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_source import GetReservationsWithRateDetailsResponseDataInnerSource +from cloudbeds_pms_v1_3.models.get_room_blocks_response import GetRoomBlocksResponse +from cloudbeds_pms_v1_3.models.get_room_blocks_response_data_inner import GetRoomBlocksResponseDataInner +from cloudbeds_pms_v1_3.models.get_room_blocks_response_data_inner_rooms_inner import GetRoomBlocksResponseDataInnerRoomsInner +from cloudbeds_pms_v1_3.models.get_room_types_response import GetRoomTypesResponse +from cloudbeds_pms_v1_3.models.get_room_types_response_data_inner import GetRoomTypesResponseDataInner +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response import GetRoomsFeesAndTaxesResponse +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data import GetRoomsFeesAndTaxesResponseData +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data_fees_inner import GetRoomsFeesAndTaxesResponseDataFeesInner +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data_taxes_inner import GetRoomsFeesAndTaxesResponseDataTaxesInner +from cloudbeds_pms_v1_3.models.get_rooms_response import GetRoomsResponse +from cloudbeds_pms_v1_3.models.get_rooms_response_data_inner import GetRoomsResponseDataInner +from cloudbeds_pms_v1_3.models.get_rooms_response_data_inner_rooms_inner import GetRoomsResponseDataInnerRoomsInner +from cloudbeds_pms_v1_3.models.get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner import GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner +from cloudbeds_pms_v1_3.models.get_rooms_unassigned_response import GetRoomsUnassignedResponse +from cloudbeds_pms_v1_3.models.get_rooms_unassigned_response_data_inner import GetRoomsUnassignedResponseDataInner +from cloudbeds_pms_v1_3.models.get_rooms_unassigned_response_data_inner_rooms_inner import GetRoomsUnassignedResponseDataInnerRoomsInner +from cloudbeds_pms_v1_3.models.get_sources_response import GetSourcesResponse +from cloudbeds_pms_v1_3.models.get_sources_response_data_inner import GetSourcesResponseDataInner +from cloudbeds_pms_v1_3.models.get_sources_response_data_inner_fees_inner import GetSourcesResponseDataInnerFeesInner +from cloudbeds_pms_v1_3.models.get_sources_response_data_inner_taxes_inner import GetSourcesResponseDataInnerTaxesInner +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response import GetTaxesAndFeesResponse +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner import GetTaxesAndFeesResponseDataInner +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_adult import GetTaxesAndFeesResponseDataInnerAmountAdult +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_child import GetTaxesAndFeesResponseDataInnerAmountChild +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner import GetTaxesAndFeesResponseDataInnerAmountRateBasedInner +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage import GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate import GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner import GetTaxesAndFeesResponseDataInnerDateRangesInner +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_amount import GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings import GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of import GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner import GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length import GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings import GetTaxesAndFeesResponseDataInnerLengthOfStaySettings +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of import GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner import GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner import GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_room_types_inner import GetTaxesAndFeesResponseDataInnerRoomTypesInner +from cloudbeds_pms_v1_3.models.get_userinfo_response import GetUserinfoResponse +from cloudbeds_pms_v1_3.models.get_userinfo_response_roles_inner import GetUserinfoResponseRolesInner +from cloudbeds_pms_v1_3.models.get_users_response import GetUsersResponse +from cloudbeds_pms_v1_3.models.get_webhooks_response import GetWebhooksResponse +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner import GetWebhooksResponseDataInner +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_event import GetWebhooksResponseDataInnerEvent +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_key import GetWebhooksResponseDataInnerKey +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_owner import GetWebhooksResponseDataInnerOwner +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_subscription_data import GetWebhooksResponseDataInnerSubscriptionData +from cloudbeds_pms_v1_3.models.post_access_token_response import PostAccessTokenResponse +from cloudbeds_pms_v1_3.models.post_access_token_response_resources_inner import PostAccessTokenResponseResourcesInner +from cloudbeds_pms_v1_3.models.post_adjustment_response import PostAdjustmentResponse +from cloudbeds_pms_v1_3.models.post_adjustment_response_data import PostAdjustmentResponseData +from cloudbeds_pms_v1_3.models.post_app_error_response import PostAppErrorResponse +from cloudbeds_pms_v1_3.models.post_app_error_response_data import PostAppErrorResponseData +from cloudbeds_pms_v1_3.models.post_app_property_setting_response import PostAppPropertySettingResponse +from cloudbeds_pms_v1_3.models.post_app_property_setting_response_data import PostAppPropertySettingResponseData +from cloudbeds_pms_v1_3.models.post_app_state_response import PostAppStateResponse +from cloudbeds_pms_v1_3.models.post_append_custom_item_response import PostAppendCustomItemResponse +from cloudbeds_pms_v1_3.models.post_append_custom_item_response_data import PostAppendCustomItemResponseData +from cloudbeds_pms_v1_3.models.post_card_response import PostCardResponse +from cloudbeds_pms_v1_3.models.post_card_response_data import PostCardResponseData +from cloudbeds_pms_v1_3.models.post_charge_response import PostChargeResponse +from cloudbeds_pms_v1_3.models.post_charge_response_data import PostChargeResponseData +from cloudbeds_pms_v1_3.models.post_charge_response_data_next_action import PostChargeResponseDataNextAction +from cloudbeds_pms_v1_3.models.post_charge_response_data_next_action_details import PostChargeResponseDataNextActionDetails +from cloudbeds_pms_v1_3.models.post_create_allotment_block_notes_response import PostCreateAllotmentBlockNotesResponse +from cloudbeds_pms_v1_3.models.post_create_allotment_block_notes_response_data import PostCreateAllotmentBlockNotesResponseData +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner import PostCreateAllotmentBlockRequestAllotmentIntervalsInner +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner import PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing import PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions import PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_auto_release import PostCreateAllotmentBlockRequestAutoRelease +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response import PostCreateAllotmentBlockResponse +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner import PostCreateAllotmentBlockResponseDataInner +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_auto_release import PostCreateAllotmentBlockResponseDataInnerAutoRelease +from cloudbeds_pms_v1_3.models.post_custom_field_response import PostCustomFieldResponse +from cloudbeds_pms_v1_3.models.post_custom_field_response_data import PostCustomFieldResponseData +from cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner import PostCustomItemRequestItemsInner +from cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner_item_fees_inner import PostCustomItemRequestItemsInnerItemFeesInner +from cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner_item_taxes_inner import PostCustomItemRequestItemsInnerItemTaxesInner +from cloudbeds_pms_v1_3.models.post_custom_item_request_payments_inner import PostCustomItemRequestPaymentsInner +from cloudbeds_pms_v1_3.models.post_custom_item_response import PostCustomItemResponse +from cloudbeds_pms_v1_3.models.post_custom_item_response_data import PostCustomItemResponseData +from cloudbeds_pms_v1_3.models.post_custom_payment_method_response import PostCustomPaymentMethodResponse +from cloudbeds_pms_v1_3.models.post_delete_allotment_block_response import PostDeleteAllotmentBlockResponse +from cloudbeds_pms_v1_3.models.post_delete_app_property_settings_response import PostDeleteAppPropertySettingsResponse +from cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule import PostEmailScheduleRequestSchedule +from cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule_reservation_event import PostEmailScheduleRequestScheduleReservationEvent +from cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule_reservation_status_change import PostEmailScheduleRequestScheduleReservationStatusChange +from cloudbeds_pms_v1_3.models.post_email_schedule_response import PostEmailScheduleResponse +from cloudbeds_pms_v1_3.models.post_email_template_request_body import PostEmailTemplateRequestBody +from cloudbeds_pms_v1_3.models.post_email_template_request_subject import PostEmailTemplateRequestSubject +from cloudbeds_pms_v1_3.models.post_email_template_response import PostEmailTemplateResponse +from cloudbeds_pms_v1_3.models.post_file_response import PostFileResponse +from cloudbeds_pms_v1_3.models.post_government_receipt_response import PostGovernmentReceiptResponse +from cloudbeds_pms_v1_3.models.post_group_note_response import PostGroupNoteResponse +from cloudbeds_pms_v1_3.models.post_group_note_response_data_inner import PostGroupNoteResponseDataInner +from cloudbeds_pms_v1_3.models.post_guest_document_response import PostGuestDocumentResponse +from cloudbeds_pms_v1_3.models.post_guest_document_response_data import PostGuestDocumentResponseData +from cloudbeds_pms_v1_3.models.post_guest_note_response import PostGuestNoteResponse +from cloudbeds_pms_v1_3.models.post_guest_photo_response import PostGuestPhotoResponse +from cloudbeds_pms_v1_3.models.post_guest_request_custom_fields_inner import PostGuestRequestCustomFieldsInner +from cloudbeds_pms_v1_3.models.post_guest_response import PostGuestResponse +from cloudbeds_pms_v1_3.models.post_guests_to_room_response import PostGuestsToRoomResponse +from cloudbeds_pms_v1_3.models.post_housekeeper_response import PostHousekeeperResponse +from cloudbeds_pms_v1_3.models.post_housekeeping_assignment_response import PostHousekeepingAssignmentResponse +from cloudbeds_pms_v1_3.models.post_housekeeping_status_response import PostHousekeepingStatusResponse +from cloudbeds_pms_v1_3.models.post_housekeeping_status_response_data import PostHousekeepingStatusResponseData +from cloudbeds_pms_v1_3.models.post_item_category_response import PostItemCategoryResponse +from cloudbeds_pms_v1_3.models.post_item_request_payments_inner import PostItemRequestPaymentsInner +from cloudbeds_pms_v1_3.models.post_item_response import PostItemResponse +from cloudbeds_pms_v1_3.models.post_item_response_data import PostItemResponseData +from cloudbeds_pms_v1_3.models.post_items_to_inventory_request_item import PostItemsToInventoryRequestItem +from cloudbeds_pms_v1_3.models.post_items_to_inventory_response import PostItemsToInventoryResponse +from cloudbeds_pms_v1_3.models.post_items_to_inventory_response_data_inner import PostItemsToInventoryResponseDataInner +from cloudbeds_pms_v1_3.models.post_new_house_account_response import PostNewHouseAccountResponse +from cloudbeds_pms_v1_3.models.post_new_house_account_response_data import PostNewHouseAccountResponseData +from cloudbeds_pms_v1_3.models.post_patch_group_response import PostPatchGroupResponse +from cloudbeds_pms_v1_3.models.post_patch_group_response_data_inner import PostPatchGroupResponseDataInner +from cloudbeds_pms_v1_3.models.post_patch_rate_request_rates_inner import PostPatchRateRequestRatesInner +from cloudbeds_pms_v1_3.models.post_patch_rate_request_rates_inner_interval import PostPatchRateRequestRatesInnerInterval +from cloudbeds_pms_v1_3.models.post_patch_rate_response import PostPatchRateResponse +from cloudbeds_pms_v1_3.models.post_payment_response import PostPaymentResponse +from cloudbeds_pms_v1_3.models.post_put_app_property_settings_response import PostPutAppPropertySettingsResponse +from cloudbeds_pms_v1_3.models.post_put_group_response import PostPutGroupResponse +from cloudbeds_pms_v1_3.models.post_put_rate_request_rates_inner import PostPutRateRequestRatesInner +from cloudbeds_pms_v1_3.models.post_put_rate_request_rates_inner_interval_inner import PostPutRateRequestRatesInnerIntervalInner +from cloudbeds_pms_v1_3.models.post_put_rate_response import PostPutRateResponse +from cloudbeds_pms_v1_3.models.post_reservation_document_response import PostReservationDocumentResponse +from cloudbeds_pms_v1_3.models.post_reservation_note_response import PostReservationNoteResponse +from cloudbeds_pms_v1_3.models.post_reservation_request_adults_inner import PostReservationRequestAdultsInner +from cloudbeds_pms_v1_3.models.post_reservation_request_children_inner import PostReservationRequestChildrenInner +from cloudbeds_pms_v1_3.models.post_reservation_request_custom_fields_inner import PostReservationRequestCustomFieldsInner +from cloudbeds_pms_v1_3.models.post_reservation_request_rooms_inner import PostReservationRequestRoomsInner +from cloudbeds_pms_v1_3.models.post_reservation_response import PostReservationResponse +from cloudbeds_pms_v1_3.models.post_reservation_response_unassigned_inner import PostReservationResponseUnassignedInner +from cloudbeds_pms_v1_3.models.post_room_assign_response import PostRoomAssignResponse +from cloudbeds_pms_v1_3.models.post_room_block_request_rooms_inner import PostRoomBlockRequestRoomsInner +from cloudbeds_pms_v1_3.models.post_room_block_response import PostRoomBlockResponse +from cloudbeds_pms_v1_3.models.post_room_block_response_rooms_inner import PostRoomBlockResponseRoomsInner +from cloudbeds_pms_v1_3.models.post_room_check_in_response import PostRoomCheckInResponse +from cloudbeds_pms_v1_3.models.post_room_check_out_response import PostRoomCheckOutResponse +from cloudbeds_pms_v1_3.models.post_update_allotment_block_notes_response import PostUpdateAllotmentBlockNotesResponse +from cloudbeds_pms_v1_3.models.post_update_allotment_block_notes_response_data import PostUpdateAllotmentBlockNotesResponseData +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner import PostUpdateAllotmentBlockRequestAllotmentIntervalsInner +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner_availability_inner import PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing import PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_auto_release import PostUpdateAllotmentBlockRequestAutoRelease +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response import PostUpdateAllotmentBlockResponse +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner import PostUpdateAllotmentBlockResponseDataInner +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner_allotment_intervals_inner import PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions import PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions +from cloudbeds_pms_v1_3.models.post_void_item_response import PostVoidItemResponse +from cloudbeds_pms_v1_3.models.post_void_payment_response import PostVoidPaymentResponse +from cloudbeds_pms_v1_3.models.post_webhook_response import PostWebhookResponse +from cloudbeds_pms_v1_3.models.post_webhook_response_data import PostWebhookResponseData +from cloudbeds_pms_v1_3.models.put_guest_note_response import PutGuestNoteResponse +from cloudbeds_pms_v1_3.models.put_guest_request_guest_custom_fields_inner import PutGuestRequestGuestCustomFieldsInner +from cloudbeds_pms_v1_3.models.put_guest_response import PutGuestResponse +from cloudbeds_pms_v1_3.models.put_house_account_status_response import PutHouseAccountStatusResponse +from cloudbeds_pms_v1_3.models.put_housekeeper_response import PutHousekeeperResponse +from cloudbeds_pms_v1_3.models.put_item_to_inventory_response import PutItemToInventoryResponse +from cloudbeds_pms_v1_3.models.put_reservation_note_response import PutReservationNoteResponse +from cloudbeds_pms_v1_3.models.put_reservation_request_custom_fields_inner import PutReservationRequestCustomFieldsInner +from cloudbeds_pms_v1_3.models.put_reservation_request_rooms_inner import PutReservationRequestRoomsInner +from cloudbeds_pms_v1_3.models.put_reservation_response import PutReservationResponse +from cloudbeds_pms_v1_3.models.put_room_block_request_rooms_inner import PutRoomBlockRequestRoomsInner +from cloudbeds_pms_v1_3.models.put_room_block_response import PutRoomBlockResponse diff --git a/cloudbeds_pms_v1_3/models/delete_adjustment_response.py b/cloudbeds_pms_v1_3/models/delete_adjustment_response.py new file mode 100644 index 0000000..5d2d6ad --- /dev/null +++ b/cloudbeds_pms_v1_3/models/delete_adjustment_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DeleteAdjustmentResponse(BaseModel): + """ + DeleteAdjustmentResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeleteAdjustmentResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeleteAdjustmentResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/delete_guest_note_response.py b/cloudbeds_pms_v1_3/models/delete_guest_note_response.py new file mode 100644 index 0000000..a4bd7e8 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/delete_guest_note_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DeleteGuestNoteResponse(BaseModel): + """ + DeleteGuestNoteResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeleteGuestNoteResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeleteGuestNoteResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/delete_reservation_note_response.py b/cloudbeds_pms_v1_3/models/delete_reservation_note_response.py new file mode 100644 index 0000000..87a5425 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/delete_reservation_note_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DeleteReservationNoteResponse(BaseModel): + """ + DeleteReservationNoteResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeleteReservationNoteResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeleteReservationNoteResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/delete_room_block_response.py b/cloudbeds_pms_v1_3/models/delete_room_block_response.py new file mode 100644 index 0000000..c49f534 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/delete_room_block_response.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DeleteRoomBlockResponse(BaseModel): + """ + DeleteRoomBlockResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeleteRoomBlockResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeleteRoomBlockResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/delete_webhook_response.py b/cloudbeds_pms_v1_3/models/delete_webhook_response.py new file mode 100644 index 0000000..5872082 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/delete_webhook_response.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DeleteWebhookResponse(BaseModel): + """ + DeleteWebhookResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + __properties: ClassVar[List[str]] = ["success"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeleteWebhookResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeleteWebhookResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_allotment_blocks_response.py b/cloudbeds_pms_v1_3/models/get_allotment_blocks_response.py new file mode 100644 index 0000000..32629e5 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_allotment_blocks_response.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner import GetAllotmentBlocksResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetAllotmentBlocksResponse(BaseModel): + """ + GetAllotmentBlocksResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + count: Optional[StrictInt] = Field(default=None, description="Number of allotment blocks returned") + total: Optional[StrictInt] = Field(default=None, description="Total number of allotment blocks") + data: Optional[List[GetAllotmentBlocksResponseDataInner]] = Field(default=None, description="Allotment Blocks") + __properties: ClassVar[List[str]] = ["success", "count", "total", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAllotmentBlocksResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAllotmentBlocksResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "count": obj.get("count"), + "total": obj.get("total"), + "data": [GetAllotmentBlocksResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner.py new file mode 100644 index 0000000..aeac31c --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner.py @@ -0,0 +1,151 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner import GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_auto_release_inner import GetAllotmentBlocksResponseDataInnerAutoReleaseInner +from typing import Optional, Set +from typing_extensions import Self + +class GetAllotmentBlocksResponseDataInner(BaseModel): + """ + GetAllotmentBlocksResponseDataInner + """ # noqa: E501 + property_id: Optional[StrictStr] = Field(default=None, description="Property ID associated to the allotment block", alias="propertyID") + allotment_block_code: Optional[StrictStr] = Field(default=None, description="Allotment block code", alias="allotmentBlockCode") + allotment_block_status: Optional[StrictStr] = Field(default=None, description="Allotment block status", alias="allotmentBlockStatus") + allotment_block_name: Optional[StrictStr] = Field(default=None, description="Allotment block name", alias="allotmentBlockName") + allotment_block_id: Optional[StrictStr] = Field(default=None, description="Allotment block ID", alias="allotmentBlockId") + rate_type: Optional[StrictStr] = Field(default=None, description="Rate type for the allotment block", alias="rateType") + rate_plan_id: Optional[StrictStr] = Field(default=None, description="Rate plan ID if applicable", alias="ratePlanId") + rate_plan: Optional[StrictStr] = Field(default=None, description="Rate plan name if applicable", alias="ratePlan") + allotment_type: Optional[StrictStr] = Field(default=None, description="the type of allotment block", alias="allotmentType") + group_id: Optional[StrictStr] = Field(default=None, description="Group profile ID associated to the allotment block", alias="groupId") + group_code: Optional[StrictStr] = Field(default=None, description="Group profile code associated to the allotment block", alias="groupCode") + event_id: Optional[StrictStr] = Field(default=None, description="Event ID associated to the allotment block", alias="eventId") + event_code: Optional[StrictStr] = Field(default=None, description="Event code associated to the allotment block", alias="eventCode") + booking_code_url: Optional[StrictStr] = Field(default=None, description="URL for the booking engine with the allotment block code pre-filled", alias="bookingCodeUrl") + is_auto_release: Optional[StrictBool] = Field(default=None, description="If the allotment block is configured for auto-release", alias="isAutoRelease") + auto_release: Optional[List[GetAllotmentBlocksResponseDataInnerAutoReleaseInner]] = Field(default=None, description="auto-release data if applicable", alias="autoRelease") + release_status: Optional[StrictStr] = Field(default=None, description="Current status of the inventory release process", alias="releaseStatus") + release_schedule_status: Optional[StrictStr] = Field(default=None, description="Human-readable description of release schedule", alias="releaseScheduleStatus") + release_schedule_type: Optional[StrictStr] = Field(default=None, description="The release scheduling method for inventory release", alias="releaseScheduleType") + release_date: Optional[StrictStr] = Field(default=None, description="Release date", alias="releaseDate") + reservations_count: Optional[StrictInt] = Field(default=None, description="Number of linked reservations", alias="reservationsCount") + rooms_held: Optional[StrictInt] = Field(default=None, description="Total rooms held", alias="roomsHeld") + rooms_picked_up: Optional[StrictInt] = Field(default=None, description="Rooms picked up", alias="roomsPickedUp") + rooms_remaining: Optional[StrictInt] = Field(default=None, description="Rooms remaining", alias="roomsRemaining") + allotment_intervals: Optional[List[GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner]] = Field(default=None, description="array of interval data by room type", alias="allotmentIntervals") + __properties: ClassVar[List[str]] = ["propertyID", "allotmentBlockCode", "allotmentBlockStatus", "allotmentBlockName", "allotmentBlockId", "rateType", "ratePlanId", "ratePlan", "allotmentType", "groupId", "groupCode", "eventId", "eventCode", "bookingCodeUrl", "isAutoRelease", "autoRelease", "releaseStatus", "releaseScheduleStatus", "releaseScheduleType", "releaseDate", "reservationsCount", "roomsHeld", "roomsPickedUp", "roomsRemaining", "allotmentIntervals"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAllotmentBlocksResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in auto_release (list) + _items = [] + if self.auto_release: + for _item_auto_release in self.auto_release: + if _item_auto_release: + _items.append(_item_auto_release.to_dict()) + _dict['autoRelease'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in allotment_intervals (list) + _items = [] + if self.allotment_intervals: + for _item_allotment_intervals in self.allotment_intervals: + if _item_allotment_intervals: + _items.append(_item_allotment_intervals.to_dict()) + _dict['allotmentIntervals'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAllotmentBlocksResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyID": obj.get("propertyID"), + "allotmentBlockCode": obj.get("allotmentBlockCode"), + "allotmentBlockStatus": obj.get("allotmentBlockStatus"), + "allotmentBlockName": obj.get("allotmentBlockName"), + "allotmentBlockId": obj.get("allotmentBlockId"), + "rateType": obj.get("rateType"), + "ratePlanId": obj.get("ratePlanId"), + "ratePlan": obj.get("ratePlan"), + "allotmentType": obj.get("allotmentType"), + "groupId": obj.get("groupId"), + "groupCode": obj.get("groupCode"), + "eventId": obj.get("eventId"), + "eventCode": obj.get("eventCode"), + "bookingCodeUrl": obj.get("bookingCodeUrl"), + "isAutoRelease": obj.get("isAutoRelease"), + "autoRelease": [GetAllotmentBlocksResponseDataInnerAutoReleaseInner.from_dict(_item) for _item in obj["autoRelease"]] if obj.get("autoRelease") is not None else None, + "releaseStatus": obj.get("releaseStatus"), + "releaseScheduleStatus": obj.get("releaseScheduleStatus"), + "releaseScheduleType": obj.get("releaseScheduleType"), + "releaseDate": obj.get("releaseDate"), + "reservationsCount": obj.get("reservationsCount"), + "roomsHeld": obj.get("roomsHeld"), + "roomsPickedUp": obj.get("roomsPickedUp"), + "roomsRemaining": obj.get("roomsRemaining"), + "allotmentIntervals": [GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner.from_dict(_item) for _item in obj["allotmentIntervals"]] if obj.get("allotmentIntervals") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner_allotment_intervals_inner.py b/cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner_allotment_intervals_inner.py new file mode 100644 index 0000000..742745d --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner_allotment_intervals_inner.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner import GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions import GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions +from typing import Optional, Set +from typing_extensions import Self + +class GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner(BaseModel): + """ + GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner + """ # noqa: E501 + policy_id: Optional[StrictStr] = Field(default=None, description="Policy ID associated with the interval", alias="policyId") + room_type_id: Optional[StrictStr] = Field(default=None, description="Room type ID", alias="roomTypeId") + start_date: Optional[date] = Field(default=None, description="Interval start date", alias="startDate") + end_date: Optional[date] = Field(default=None, description="Interval end date", alias="endDate") + availability: Optional[List[GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner]] = Field(default=None, description="Interval availability data by day in interval") + restrictions: Optional[GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions] = None + __properties: ClassVar[List[str]] = ["policyId", "roomTypeId", "startDate", "endDate", "availability", "restrictions"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in availability (list) + _items = [] + if self.availability: + for _item_availability in self.availability: + if _item_availability: + _items.append(_item_availability.to_dict()) + _dict['availability'] = _items + # override the default output from pydantic by calling `to_dict()` of restrictions + if self.restrictions: + _dict['restrictions'] = self.restrictions.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "policyId": obj.get("policyId"), + "roomTypeId": obj.get("roomTypeId"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "availability": [GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner.from_dict(_item) for _item in obj["availability"]] if obj.get("availability") is not None else None, + "restrictions": GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions.from_dict(obj["restrictions"]) if obj.get("restrictions") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner.py b/cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner.py new file mode 100644 index 0000000..ed1c012 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing +from typing import Optional, Set +from typing_extensions import Self + +class GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner(BaseModel): + """ + GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner + """ # noqa: E501 + var_date: Optional[date] = Field(default=None, description="Day within interval", alias="date") + block_remaining: Optional[StrictInt] = Field(default=None, description="Number of units remaining for the room type for this day", alias="blockRemaining") + block_allotted: Optional[StrictInt] = Field(default=None, description="Total number of units available for the room type for this day", alias="blockAllotted") + block_confirmed: Optional[StrictInt] = Field(default=None, description="Number of units booked for the room type for this day", alias="blockConfirmed") + rate: Optional[StrictStr] = Field(default=None, description="the price") + guest_pricing: Optional[PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing] = Field(default=None, alias="guestPricing") + split_block_allotted: Optional[StrictInt] = Field(default=None, description="Number of split units available for the room type this day", alias="splitBlockAllotted") + split_block_confirmed: Optional[StrictInt] = Field(default=None, description="Number of split units blocked for the room type this day", alias="splitBlockConfirmed") + __properties: ClassVar[List[str]] = ["date", "blockRemaining", "blockAllotted", "blockConfirmed", "rate", "guestPricing", "splitBlockAllotted", "splitBlockConfirmed"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of guest_pricing + if self.guest_pricing: + _dict['guestPricing'] = self.guest_pricing.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "date": obj.get("date"), + "blockRemaining": obj.get("blockRemaining"), + "blockAllotted": obj.get("blockAllotted"), + "blockConfirmed": obj.get("blockConfirmed"), + "rate": obj.get("rate"), + "guestPricing": PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing.from_dict(obj["guestPricing"]) if obj.get("guestPricing") is not None else None, + "splitBlockAllotted": obj.get("splitBlockAllotted"), + "splitBlockConfirmed": obj.get("splitBlockConfirmed") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions.py b/cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions.py new file mode 100644 index 0000000..eef2471 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions(BaseModel): + """ + Interval restrictions if applicable + """ # noqa: E501 + min_los: Optional[StrictInt] = Field(default=None, description="Minimum length of stay requirement", alias="minLos") + max_los: Optional[StrictInt] = Field(default=None, description="Maximum length of stay requirement", alias="maxLos") + cut_off_days: Optional[StrictInt] = Field(default=None, description="How many days before arrival should guests be required to book", alias="cutOffDays") + last_minute_booking_days: Optional[StrictInt] = Field(default=None, description="How many days before the arrival guests are allowed to book", alias="lastMinuteBookingDays") + closed_to_arrival: Optional[StrictInt] = Field(default=None, description="If the interval dates are closed for arrival", alias="closedToArrival") + closed_to_departure: Optional[StrictInt] = Field(default=None, description="If the interval dates are closed for departure", alias="closedToDeparture") + __properties: ClassVar[List[str]] = ["minLos", "maxLos", "cutOffDays", "lastMinuteBookingDays", "closedToArrival", "closedToDeparture"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "minLos": obj.get("minLos"), + "maxLos": obj.get("maxLos"), + "cutOffDays": obj.get("cutOffDays"), + "lastMinuteBookingDays": obj.get("lastMinuteBookingDays"), + "closedToArrival": obj.get("closedToArrival"), + "closedToDeparture": obj.get("closedToDeparture") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner_auto_release_inner.py b/cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner_auto_release_inner.py new file mode 100644 index 0000000..df46f0f --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_allotment_blocks_response_data_inner_auto_release_inner.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetAllotmentBlocksResponseDataInnerAutoReleaseInner(BaseModel): + """ + GetAllotmentBlocksResponseDataInnerAutoReleaseInner + """ # noqa: E501 + release_type: Optional[StrictStr] = Field(default=None, description="The type of auto-release", alias="releaseType") + days: Optional[StrictInt] = Field(default=None, description="The number of days prior to the end of the allotment block to begin releasing dates from the allotment block") + release_time: Optional[StrictStr] = Field(default=None, description="The hour to being the auto-release in HH:00 format, e.g. '00:00', '01:00'...", alias="releaseTime") + __properties: ClassVar[List[str]] = ["releaseType", "days", "releaseTime"] + + @field_validator('release_type') + def release_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['all_dates', 'by_day', 'by_interval', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAllotmentBlocksResponseDataInnerAutoReleaseInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAllotmentBlocksResponseDataInnerAutoReleaseInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "releaseType": obj.get("releaseType"), + "days": obj.get("days"), + "releaseTime": obj.get("releaseTime") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_app_property_settings_response.py b/cloudbeds_pms_v1_3/models/get_app_property_settings_response.py new file mode 100644 index 0000000..1bcc4d2 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_app_property_settings_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_app_property_settings_response_data import GetAppPropertySettingsResponseData +from typing import Optional, Set +from typing_extensions import Self + +class GetAppPropertySettingsResponse(BaseModel): + """ + GetAppPropertySettingsResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Success") + data: Optional[GetAppPropertySettingsResponseData] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAppPropertySettingsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAppPropertySettingsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": GetAppPropertySettingsResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_app_property_settings_response_data.py b/cloudbeds_pms_v1_3/models/get_app_property_settings_response_data.py new file mode 100644 index 0000000..cf4b252 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_app_property_settings_response_data.py @@ -0,0 +1,140 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from cloudbeds_pms_v1_3.models.get_app_property_settings_response_data_one_of import GetAppPropertySettingsResponseDataOneOf +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +GETAPPPROPERTYSETTINGSRESPONSEDATA_ONE_OF_SCHEMAS = ["GetAppPropertySettingsResponseDataOneOf", "List[GetAppPropertySettingsResponseDataOneOf]"] + +class GetAppPropertySettingsResponseData(BaseModel): + """ + Data + """ + # data type: GetAppPropertySettingsResponseDataOneOf + oneof_schema_1_validator: Optional[GetAppPropertySettingsResponseDataOneOf] = None + # data type: List[GetAppPropertySettingsResponseDataOneOf] + oneof_schema_2_validator: Optional[List[GetAppPropertySettingsResponseDataOneOf]] = None + actual_instance: Optional[Union[GetAppPropertySettingsResponseDataOneOf, List[GetAppPropertySettingsResponseDataOneOf]]] = None + one_of_schemas: Set[str] = { "GetAppPropertySettingsResponseDataOneOf", "List[GetAppPropertySettingsResponseDataOneOf]" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = GetAppPropertySettingsResponseData.model_construct() + error_messages = [] + match = 0 + # validate data type: GetAppPropertySettingsResponseDataOneOf + if not isinstance(v, GetAppPropertySettingsResponseDataOneOf): + error_messages.append(f"Error! Input type `{type(v)}` is not `GetAppPropertySettingsResponseDataOneOf`") + else: + match += 1 + # validate data type: List[GetAppPropertySettingsResponseDataOneOf] + try: + instance.oneof_schema_2_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in GetAppPropertySettingsResponseData with oneOf schemas: GetAppPropertySettingsResponseDataOneOf, List[GetAppPropertySettingsResponseDataOneOf]. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in GetAppPropertySettingsResponseData with oneOf schemas: GetAppPropertySettingsResponseDataOneOf, List[GetAppPropertySettingsResponseDataOneOf]. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into GetAppPropertySettingsResponseDataOneOf + try: + instance.actual_instance = GetAppPropertySettingsResponseDataOneOf.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into List[GetAppPropertySettingsResponseDataOneOf] + try: + # validation + instance.oneof_schema_2_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_2_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into GetAppPropertySettingsResponseData with oneOf schemas: GetAppPropertySettingsResponseDataOneOf, List[GetAppPropertySettingsResponseDataOneOf]. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into GetAppPropertySettingsResponseData with oneOf schemas: GetAppPropertySettingsResponseDataOneOf, List[GetAppPropertySettingsResponseDataOneOf]. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], GetAppPropertySettingsResponseDataOneOf, List[GetAppPropertySettingsResponseDataOneOf]]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/cloudbeds_pms_v1_3/models/get_app_property_settings_response_data_one_of.py b/cloudbeds_pms_v1_3/models/get_app_property_settings_response_data_one_of.py new file mode 100644 index 0000000..875776d --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_app_property_settings_response_data_one_of.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetAppPropertySettingsResponseDataOneOf(BaseModel): + """ + GetAppPropertySettingsResponseDataOneOf + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="ID") + key: Optional[StrictStr] = Field(default=None, description="Key") + value: Optional[StrictStr] = Field(default=None, description="Value") + __properties: ClassVar[List[str]] = ["id", "key", "value"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAppPropertySettingsResponseDataOneOf from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAppPropertySettingsResponseDataOneOf from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "key": obj.get("key"), + "value": obj.get("value") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_app_settings_response.py b/cloudbeds_pms_v1_3/models/get_app_settings_response.py new file mode 100644 index 0000000..d59a966 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_app_settings_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_app_settings_response_data import GetAppSettingsResponseData +from typing import Optional, Set +from typing_extensions import Self + +class GetAppSettingsResponse(BaseModel): + """ + GetAppSettingsResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[GetAppSettingsResponseData] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAppSettingsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAppSettingsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": GetAppSettingsResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_app_settings_response_data.py b/cloudbeds_pms_v1_3/models/get_app_settings_response_data.py new file mode 100644 index 0000000..d4f4793 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_app_settings_response_data.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetAppSettingsResponseData(BaseModel): + """ + Application settings details + """ # noqa: E501 + full_revenue_sync: Optional[StrictBool] = Field(default=None, description="Full Revenue Sync", alias="fullRevenueSync") + __properties: ClassVar[List[str]] = ["fullRevenueSync"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAppSettingsResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAppSettingsResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "fullRevenueSync": obj.get("fullRevenueSync") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_app_state_response.py b/cloudbeds_pms_v1_3/models/get_app_state_response.py new file mode 100644 index 0000000..183ebc6 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_app_state_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_app_state_response_data import GetAppStateResponseData +from typing import Optional, Set +from typing_extensions import Self + +class GetAppStateResponse(BaseModel): + """ + GetAppStateResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[GetAppStateResponseData] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAppStateResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAppStateResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": GetAppStateResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_app_state_response_data.py b/cloudbeds_pms_v1_3/models/get_app_state_response_data.py new file mode 100644 index 0000000..0791865 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_app_state_response_data.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetAppStateResponseData(BaseModel): + """ + Integration state details + """ # noqa: E501 + app_state: Optional[StrictStr] = Field(default=None, description="Integration state") + __properties: ClassVar[List[str]] = ["app_state"] + + @field_validator('app_state') + def app_state_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['enabled', 'disabled', 'installing', 'pending', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAppStateResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAppStateResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "app_state": obj.get("app_state") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_available_room_types_response.py b/cloudbeds_pms_v1_3/models/get_available_room_types_response.py new file mode 100644 index 0000000..b462d80 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_available_room_types_response.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner import GetAvailableRoomTypesResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetAvailableRoomTypesResponse(BaseModel): + """ + GetAvailableRoomTypesResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetAvailableRoomTypesResponseDataInner]] = Field(default=None, description="Room Types details") + room_count: Optional[StrictInt] = Field(default=None, description="Number of results (room types) returned", alias="roomCount") + count: Optional[StrictInt] = Field(default=None, description="Number of results (properties) returned") + total: Optional[StrictInt] = Field(default=None, description="Total number of results (properties)") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "roomCount", "count", "total", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAvailableRoomTypesResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAvailableRoomTypesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetAvailableRoomTypesResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "roomCount": obj.get("roomCount"), + "count": obj.get("count"), + "total": obj.get("total"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner.py new file mode 100644 index 0000000..1beceda --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_currency_inner import GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner import GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner +from typing import Optional, Set +from typing_extensions import Self + +class GetAvailableRoomTypesResponseDataInner(BaseModel): + """ + GetAvailableRoomTypesResponseDataInner + """ # noqa: E501 + property_id: Optional[StrictStr] = Field(default=None, description="Property ID", alias="propertyID") + property_currency: Optional[List[GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner]] = Field(default=None, description="Currency used by the property", alias="propertyCurrency") + property_rooms: Optional[List[GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner]] = Field(default=None, description="List of room types for the property", alias="propertyRooms") + __properties: ClassVar[List[str]] = ["propertyID", "propertyCurrency", "propertyRooms"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAvailableRoomTypesResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in property_currency (list) + _items = [] + if self.property_currency: + for _item_property_currency in self.property_currency: + if _item_property_currency: + _items.append(_item_property_currency.to_dict()) + _dict['propertyCurrency'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in property_rooms (list) + _items = [] + if self.property_rooms: + for _item_property_rooms in self.property_rooms: + if _item_property_rooms: + _items.append(_item_property_rooms.to_dict()) + _dict['propertyRooms'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAvailableRoomTypesResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyID": obj.get("propertyID"), + "propertyCurrency": [GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner.from_dict(_item) for _item in obj["propertyCurrency"]] if obj.get("propertyCurrency") is not None else None, + "propertyRooms": [GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner.from_dict(_item) for _item in obj["propertyRooms"]] if obj.get("propertyRooms") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner_property_currency_inner.py b/cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner_property_currency_inner.py new file mode 100644 index 0000000..18cb0c9 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner_property_currency_inner.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner(BaseModel): + """ + GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner + """ # noqa: E501 + currency_code: Optional[StrictStr] = Field(default=None, description="Currency identifier code", alias="currencyCode") + currency_symbol: Optional[StrictStr] = Field(default=None, description="Currency symbol", alias="currencySymbol") + currency_position: Optional[StrictStr] = Field(default=None, description="Currency position", alias="currencyPosition") + __properties: ClassVar[List[str]] = ["currencyCode", "currencySymbol", "currencyPosition"] + + @field_validator('currency_position') + def currency_position_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['before', 'after', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "currencyCode": obj.get("currencyCode"), + "currencySymbol": obj.get("currencySymbol"), + "currencyPosition": obj.get("currencyPosition") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner_property_rooms_inner.py b/cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner_property_rooms_inner.py new file mode 100644 index 0000000..7c12641 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner_property_rooms_inner.py @@ -0,0 +1,190 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner import GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner import GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_image_inner import GetHotelDetailsResponseDataPropertyImageInner +from typing import Optional, Set +from typing_extensions import Self + +class GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner(BaseModel): + """ + GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner + """ # noqa: E501 + room_type_id: Optional[StrictStr] = Field(default=None, description="Room type ID", alias="roomTypeID") + room_type_name: Optional[StrictStr] = Field(default=None, description="Room type name", alias="roomTypeName") + room_type_name_short: Optional[StrictStr] = Field(default=None, description="Room type short name", alias="roomTypeNameShort") + room_type_description: Optional[StrictStr] = Field(default=None, description="Room Type Description", alias="roomTypeDescription") + max_guests: Optional[StrictInt] = Field(default=None, description="Max number of guests allowed in the room type", alias="maxGuests") + adults_included: Optional[StrictInt] = Field(default=None, description="Number of adults included on the basic room rate", alias="adultsIncluded") + children_included: Optional[StrictInt] = Field(default=None, description="Number of children included on the basic room rate", alias="childrenIncluded") + room_type_photos: Optional[List[GetHotelDetailsResponseDataPropertyImageInner]] = Field(default=None, description="List of photos for the room type", alias="roomTypePhotos") + room_type_features: Optional[List[StrictStr]] = Field(default=None, description="List of features for the room type", alias="roomTypeFeatures") + room_rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Basic rate for the room, based on the parameters provided", alias="roomRate") + room_rate_id: Optional[StrictStr] = Field(default=None, description="Specific Rate ID used for the room type ID", alias="roomRateID") + rate_plan_name_public: Optional[StrictStr] = Field(default=None, description="Rate plan public name", alias="ratePlanNamePublic") + rate_plan_name_private: Optional[StrictStr] = Field(default=None, description="Rate plan private name", alias="ratePlanNamePrivate") + rooms_available: Optional[StrictInt] = Field(default=None, description="Number of rooms available, based on the parameters provided", alias="roomsAvailable") + adults_extra_charge: Optional[List[Dict[str, Any]]] = Field(default=None, description="Total extra charge for number of adults, depending on room settings (see \"adultsIncluded\" field). It is an associative array, where the key is the number of adults, and the value is the total extra charge when the number of adults is selected.", alias="adultsExtraCharge") + children_extra_charge: Optional[List[Dict[str, Any]]] = Field(default=None, description="Total extra charge for number of children, depending on room settings (see \"childrenIncluded\" field). It is an associative array, where the key is the number of children, and the value is the total extra charge when the number of children is selected.", alias="childrenExtraCharge") + room_rate_detailed: Optional[List[GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner]] = Field(default=None, description="Detailed information on the rates, if requested", alias="roomRateDetailed") + derived_type: Optional[StrictStr] = Field(default=None, description="type of deriving (only if current rate was derived from other one).", alias="derivedType") + derived_value: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Can be positive or negative (only if current rate was derived from other one).", alias="derivedValue") + individual_rooms: Optional[List[GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner]] = Field(default=None, description="Individual rooms available to be booked (if set on backend)", alias="individualRooms") + __properties: ClassVar[List[str]] = ["roomTypeID", "roomTypeName", "roomTypeNameShort", "roomTypeDescription", "maxGuests", "adultsIncluded", "childrenIncluded", "roomTypePhotos", "roomTypeFeatures", "roomRate", "roomRateID", "ratePlanNamePublic", "ratePlanNamePrivate", "roomsAvailable", "adultsExtraCharge", "childrenExtraCharge", "roomRateDetailed", "derivedType", "derivedValue", "individualRooms"] + + @field_validator('derived_type') + def derived_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['fixed', 'percentage', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in room_type_photos (list) + _items = [] + if self.room_type_photos: + for _item_room_type_photos in self.room_type_photos: + if _item_room_type_photos: + _items.append(_item_room_type_photos.to_dict()) + _dict['roomTypePhotos'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in room_rate_detailed (list) + _items = [] + if self.room_rate_detailed: + for _item_room_rate_detailed in self.room_rate_detailed: + if _item_room_rate_detailed: + _items.append(_item_room_rate_detailed.to_dict()) + _dict['roomRateDetailed'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in individual_rooms (list) + _items = [] + if self.individual_rooms: + for _item_individual_rooms in self.individual_rooms: + if _item_individual_rooms: + _items.append(_item_individual_rooms.to_dict()) + _dict['individualRooms'] = _items + # set to None if adults_extra_charge (nullable) is None + # and model_fields_set contains the field + if self.adults_extra_charge is None and "adults_extra_charge" in self.model_fields_set: + _dict['adultsExtraCharge'] = None + + # set to None if children_extra_charge (nullable) is None + # and model_fields_set contains the field + if self.children_extra_charge is None and "children_extra_charge" in self.model_fields_set: + _dict['childrenExtraCharge'] = None + + # set to None if room_rate_detailed (nullable) is None + # and model_fields_set contains the field + if self.room_rate_detailed is None and "room_rate_detailed" in self.model_fields_set: + _dict['roomRateDetailed'] = None + + # set to None if derived_type (nullable) is None + # and model_fields_set contains the field + if self.derived_type is None and "derived_type" in self.model_fields_set: + _dict['derivedType'] = None + + # set to None if derived_value (nullable) is None + # and model_fields_set contains the field + if self.derived_value is None and "derived_value" in self.model_fields_set: + _dict['derivedValue'] = None + + # set to None if individual_rooms (nullable) is None + # and model_fields_set contains the field + if self.individual_rooms is None and "individual_rooms" in self.model_fields_set: + _dict['individualRooms'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roomTypeID": obj.get("roomTypeID"), + "roomTypeName": obj.get("roomTypeName"), + "roomTypeNameShort": obj.get("roomTypeNameShort"), + "roomTypeDescription": obj.get("roomTypeDescription"), + "maxGuests": obj.get("maxGuests"), + "adultsIncluded": obj.get("adultsIncluded"), + "childrenIncluded": obj.get("childrenIncluded"), + "roomTypePhotos": [GetHotelDetailsResponseDataPropertyImageInner.from_dict(_item) for _item in obj["roomTypePhotos"]] if obj.get("roomTypePhotos") is not None else None, + "roomTypeFeatures": obj.get("roomTypeFeatures"), + "roomRate": obj.get("roomRate"), + "roomRateID": obj.get("roomRateID"), + "ratePlanNamePublic": obj.get("ratePlanNamePublic"), + "ratePlanNamePrivate": obj.get("ratePlanNamePrivate"), + "roomsAvailable": obj.get("roomsAvailable"), + "adultsExtraCharge": obj.get("adultsExtraCharge"), + "childrenExtraCharge": obj.get("childrenExtraCharge"), + "roomRateDetailed": [GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner.from_dict(_item) for _item in obj["roomRateDetailed"]] if obj.get("roomRateDetailed") is not None else None, + "derivedType": obj.get("derivedType"), + "derivedValue": obj.get("derivedValue"), + "individualRooms": [GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner.from_dict(_item) for _item in obj["individualRooms"]] if obj.get("individualRooms") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner.py b/cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner.py new file mode 100644 index 0000000..8e0a195 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner(BaseModel): + """ + GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner + """ # noqa: E501 + room_id: Optional[StrictStr] = Field(default=None, alias="roomID") + room_name: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="roomName") + dorm_room_name: Optional[StrictStr] = Field(default=None, description="Name of the dorm room. Used for the shared dorm beds that are organized into rooms within the same room type.", alias="dormRoomName") + __properties: ClassVar[List[str]] = ["roomID", "roomName", "dormRoomName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if room_id (nullable) is None + # and model_fields_set contains the field + if self.room_id is None and "room_id" in self.model_fields_set: + _dict['roomID'] = None + + # set to None if room_name (nullable) is None + # and model_fields_set contains the field + if self.room_name is None and "room_name" in self.model_fields_set: + _dict['roomName'] = None + + # set to None if dorm_room_name (nullable) is None + # and model_fields_set contains the field + if self.dorm_room_name is None and "dorm_room_name" in self.model_fields_set: + _dict['dormRoomName'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roomID": obj.get("roomID"), + "roomName": obj.get("roomName"), + "dormRoomName": obj.get("dormRoomName") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner.py b/cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner.py new file mode 100644 index 0000000..863f714 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner(BaseModel): + """ + GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner + """ # noqa: E501 + var_date: Optional[date] = Field(default=None, alias="date") + rate: Optional[Union[StrictFloat, StrictInt]] = None + __properties: ClassVar[List[str]] = ["date", "rate"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if var_date (nullable) is None + # and model_fields_set contains the field + if self.var_date is None and "var_date" in self.model_fields_set: + _dict['date'] = None + + # set to None if rate (nullable) is None + # and model_fields_set contains the field + if self.rate is None and "rate" in self.model_fields_set: + _dict['rate'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "date": obj.get("date"), + "rate": obj.get("rate") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_currency_settings_response.py b/cloudbeds_pms_v1_3/models/get_currency_settings_response.py new file mode 100644 index 0000000..65981c6 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_currency_settings_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data import GetCurrencySettingsResponseData +from typing import Optional, Set +from typing_extensions import Self + +class GetCurrencySettingsResponse(BaseModel): + """ + GetCurrencySettingsResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[GetCurrencySettingsResponseData] = None + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetCurrencySettingsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetCurrencySettingsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": GetCurrencySettingsResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_currency_settings_response_data.py b/cloudbeds_pms_v1_3/models/get_currency_settings_response_data.py new file mode 100644 index 0000000..794888b --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_currency_settings_response_data.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data_format import GetCurrencySettingsResponseDataFormat +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data_rates import GetCurrencySettingsResponseDataRates +from typing import Optional, Set +from typing_extensions import Self + +class GetCurrencySettingsResponseData(BaseModel): + """ + Currency Settings + """ # noqa: E501 + default: Optional[StrictStr] = Field(default=None, description="Default Currency ISO CODE") + acceptable: Optional[List[StrictStr]] = Field(default=None, description="Acceptable Currency ISO CODEs") + format: Optional[GetCurrencySettingsResponseDataFormat] = None + rates: Optional[GetCurrencySettingsResponseDataRates] = None + __properties: ClassVar[List[str]] = ["default", "acceptable", "format", "rates"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetCurrencySettingsResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of format + if self.format: + _dict['format'] = self.format.to_dict() + # override the default output from pydantic by calling `to_dict()` of rates + if self.rates: + _dict['rates'] = self.rates.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetCurrencySettingsResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "default": obj.get("default"), + "acceptable": obj.get("acceptable"), + "format": GetCurrencySettingsResponseDataFormat.from_dict(obj["format"]) if obj.get("format") is not None else None, + "rates": GetCurrencySettingsResponseDataRates.from_dict(obj["rates"]) if obj.get("rates") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_currency_settings_response_data_format.py b/cloudbeds_pms_v1_3/models/get_currency_settings_response_data_format.py new file mode 100644 index 0000000..0db7afe --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_currency_settings_response_data_format.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetCurrencySettingsResponseDataFormat(BaseModel): + """ + Currency Format + """ # noqa: E501 + decimal: Optional[StrictStr] = Field(default=None, description="Decimal separator") + thousand: Optional[StrictStr] = Field(default=None, description="Thousand separator") + __properties: ClassVar[List[str]] = ["decimal", "thousand"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetCurrencySettingsResponseDataFormat from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetCurrencySettingsResponseDataFormat from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "decimal": obj.get("decimal"), + "thousand": obj.get("thousand") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_currency_settings_response_data_rates.py b/cloudbeds_pms_v1_3/models/get_currency_settings_response_data_rates.py new file mode 100644 index 0000000..93ae00e --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_currency_settings_response_data_rates.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data_rates_fixed_inner import GetCurrencySettingsResponseDataRatesFixedInner +from typing import Optional, Set +from typing_extensions import Self + +class GetCurrencySettingsResponseDataRates(BaseModel): + """ + Currency rates + """ # noqa: E501 + fixed: Optional[List[GetCurrencySettingsResponseDataRatesFixedInner]] = Field(default=None, description="Fixed currency rates (configured by the property)") + __properties: ClassVar[List[str]] = ["fixed"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetCurrencySettingsResponseDataRates from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in fixed (list) + _items = [] + if self.fixed: + for _item_fixed in self.fixed: + if _item_fixed: + _items.append(_item_fixed.to_dict()) + _dict['fixed'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetCurrencySettingsResponseDataRates from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "fixed": [GetCurrencySettingsResponseDataRatesFixedInner.from_dict(_item) for _item in obj["fixed"]] if obj.get("fixed") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_currency_settings_response_data_rates_fixed_inner.py b/cloudbeds_pms_v1_3/models/get_currency_settings_response_data_rates_fixed_inner.py new file mode 100644 index 0000000..7cc2073 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_currency_settings_response_data_rates_fixed_inner.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GetCurrencySettingsResponseDataRatesFixedInner(BaseModel): + """ + GetCurrencySettingsResponseDataRatesFixedInner + """ # noqa: E501 + currency: Optional[StrictStr] = Field(default=None, description="Currency ISO CODE") + rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Currency rate") + __properties: ClassVar[List[str]] = ["currency", "rate"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetCurrencySettingsResponseDataRatesFixedInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if currency (nullable) is None + # and model_fields_set contains the field + if self.currency is None and "currency" in self.model_fields_set: + _dict['currency'] = None + + # set to None if rate (nullable) is None + # and model_fields_set contains the field + if self.rate is None and "rate" in self.model_fields_set: + _dict['rate'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetCurrencySettingsResponseDataRatesFixedInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "currency": obj.get("currency"), + "rate": obj.get("rate") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_custom_fields_response.py b/cloudbeds_pms_v1_3/models/get_custom_fields_response.py new file mode 100644 index 0000000..2b197fb --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_custom_fields_response.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_custom_fields_response_data_inner import GetCustomFieldsResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetCustomFieldsResponse(BaseModel): + """ + GetCustomFieldsResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetCustomFieldsResponseDataInner]] = Field(default=None, description="Field details") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetCustomFieldsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetCustomFieldsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetCustomFieldsResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_custom_fields_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_custom_fields_response_data_inner.py new file mode 100644 index 0000000..0c99ba5 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_custom_fields_response_data_inner.py @@ -0,0 +1,136 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetCustomFieldsResponseDataInner(BaseModel): + """ + GetCustomFieldsResponseDataInner + """ # noqa: E501 + property_id: Optional[StrictStr] = Field(default=None, description="Unique hotel identifier", alias="propertyID") + name: Optional[StrictStr] = Field(default=None, description="Field name") + shortcode: Optional[StrictStr] = Field(default=None, description="Internal reference and is used for integration purposes such as custom links and the API") + apply_to: Optional[StrictStr] = Field(default=None, description="Where put this field in reservation or guest section of the booking.", alias="applyTo") + required: Optional[StrictBool] = Field(default=None, description="Specify whether this field is required to be filled out.") + is_personal: Optional[StrictBool] = Field(default=None, description="Specifies if the contents of this field may contain personal information (GDPR).", alias="isPersonal") + max_characters: Optional[StrictInt] = Field(default=None, description="Maximum number of characters allowed to be entered in this field.", alias="maxCharacters") + type: Optional[StrictStr] = Field(default=None, description="The field's input type.") + displayed: Optional[List[StrictStr]] = Field(default=None, description="¹ Specify where this custom field to show up.") + __properties: ClassVar[List[str]] = ["propertyID", "name", "shortcode", "applyTo", "required", "isPersonal", "maxCharacters", "type", "displayed"] + + @field_validator('apply_to') + def apply_to_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['reservation', 'guest', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['input', 'text', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + @field_validator('displayed') + def displayed_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['reservation', 'booking', 'card', 'unknown_default_open_api']) + # Map unknown values to the fallback + return [i if i in _allowed_values else 'unknown_default_open_api' for i in value] + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetCustomFieldsResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetCustomFieldsResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyID": obj.get("propertyID"), + "name": obj.get("name"), + "shortcode": obj.get("shortcode"), + "applyTo": obj.get("applyTo"), + "required": obj.get("required"), + "isPersonal": obj.get("isPersonal"), + "maxCharacters": obj.get("maxCharacters"), + "type": obj.get("type"), + "displayed": obj.get("displayed") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_dashboard_response.py b/cloudbeds_pms_v1_3/models/get_dashboard_response.py new file mode 100644 index 0000000..5d66f46 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_dashboard_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_dashboard_response_data import GetDashboardResponseData +from typing import Optional, Set +from typing_extensions import Self + +class GetDashboardResponse(BaseModel): + """ + GetDashboardResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=True, description="Returns if the request could be completed") + data: Optional[GetDashboardResponseData] = None + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetDashboardResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetDashboardResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success") if obj.get("success") is not None else True, + "data": GetDashboardResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_dashboard_response_data.py b/cloudbeds_pms_v1_3/models/get_dashboard_response_data.py new file mode 100644 index 0000000..17ae3bd --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_dashboard_response_data.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetDashboardResponseData(BaseModel): + """ + Data to be displayed on dashboard + """ # noqa: E501 + rooms_occupied: Optional[StrictInt] = Field(default=None, description="Number of rooms occupied at the moment", alias="roomsOccupied") + percentage_occupied: Optional[StrictInt] = Field(default=None, description="Percentage of rooms occupied (rooms occupied/rooms total) for the current day", alias="percentageOccupied") + arrivals: Optional[StrictInt] = Field(default=None, description="Number of arrivals (check-ins) expected for the current day") + departures: Optional[StrictInt] = Field(default=None, description="Number of departures (check-outs) expected for the current day") + in_house: Optional[StrictInt] = Field(default=None, description="Number of rooms occupied, and not expected to have a check-out for the current day", alias="inHouse") + __properties: ClassVar[List[str]] = ["roomsOccupied", "percentageOccupied", "arrivals", "departures", "inHouse"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetDashboardResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetDashboardResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roomsOccupied": obj.get("roomsOccupied"), + "percentageOccupied": obj.get("percentageOccupied"), + "arrivals": obj.get("arrivals"), + "departures": obj.get("departures"), + "inHouse": obj.get("inHouse") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_email_schedule_response.py b/cloudbeds_pms_v1_3/models/get_email_schedule_response.py new file mode 100644 index 0000000..0cd4dab --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_email_schedule_response.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_email_schedule_response_data_inner import GetEmailScheduleResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetEmailScheduleResponse(BaseModel): + """ + GetEmailScheduleResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetEmailScheduleResponseDataInner]] = Field(default=None, description="List of existing email schedules") + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetEmailScheduleResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetEmailScheduleResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetEmailScheduleResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_email_schedule_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_email_schedule_response_data_inner.py new file mode 100644 index 0000000..35214a3 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_email_schedule_response_data_inner.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetEmailScheduleResponseDataInner(BaseModel): + """ + GetEmailScheduleResponseDataInner + """ # noqa: E501 + email_schedule_id: Optional[StrictStr] = Field(default=None, description="ID of the email schedule", alias="emailScheduleID") + name: Optional[StrictStr] = Field(default=None, description="Name of the email schedule") + email_template_id: Optional[StrictStr] = Field(default=None, description="ID of the email template used in this schedule", alias="emailTemplateID") + template_name: Optional[StrictStr] = Field(default=None, description="Name of the email template used in this schedule", alias="templateName") + is_active: Optional[StrictBool] = Field(default=None, description="True if email template is active; false if not", alias="isActive") + __properties: ClassVar[List[str]] = ["emailScheduleID", "name", "emailTemplateID", "templateName", "isActive"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetEmailScheduleResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetEmailScheduleResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "emailScheduleID": obj.get("emailScheduleID"), + "name": obj.get("name"), + "emailTemplateID": obj.get("emailTemplateID"), + "templateName": obj.get("templateName"), + "isActive": obj.get("isActive") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_email_templates_response.py b/cloudbeds_pms_v1_3/models/get_email_templates_response.py new file mode 100644 index 0000000..430c3dd --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_email_templates_response.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_email_templates_response_data_inner import GetEmailTemplatesResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetEmailTemplatesResponse(BaseModel): + """ + GetEmailTemplatesResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetEmailTemplatesResponseDataInner]] = Field(default=None, description="List of existing email templates") + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetEmailTemplatesResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetEmailTemplatesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetEmailTemplatesResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_email_templates_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_email_templates_response_data_inner.py new file mode 100644 index 0000000..dabdcef --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_email_templates_response_data_inner.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetEmailTemplatesResponseDataInner(BaseModel): + """ + GetEmailTemplatesResponseDataInner + """ # noqa: E501 + email_template_id: Optional[StrictStr] = Field(default=None, description="ID of the email template", alias="emailTemplateID") + name: Optional[StrictStr] = Field(default=None, description="Name") + subject: Optional[StrictStr] = Field(default=None, description="Subject") + is_active: Optional[StrictBool] = Field(default=None, description="True if email template is active; false if not", alias="isActive") + __properties: ClassVar[List[str]] = ["emailTemplateID", "name", "subject", "isActive"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetEmailTemplatesResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetEmailTemplatesResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "emailTemplateID": obj.get("emailTemplateID"), + "name": obj.get("name"), + "subject": obj.get("subject"), + "isActive": obj.get("isActive") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_files_response.py b/cloudbeds_pms_v1_3/models/get_files_response.py new file mode 100644 index 0000000..886f5af --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_files_response.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_files_response_data_inner import GetFilesResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetFilesResponse(BaseModel): + """ + GetFilesResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetFilesResponseDataInner]] = Field(default=None, description="Files linked to the property") + count: Optional[StrictInt] = Field(default=None, description="Number of results returned") + total: Optional[StrictInt] = Field(default=None, description="Total number of results for supplied parameters") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "count", "total", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetFilesResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetFilesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetFilesResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "count": obj.get("count"), + "total": obj.get("total"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_files_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_files_response_data_inner.py new file mode 100644 index 0000000..ee7c209 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_files_response_data_inner.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetFilesResponseDataInner(BaseModel): + """ + GetFilesResponseDataInner + """ # noqa: E501 + file_id: Optional[StrictStr] = Field(default=None, description="File's unique identifier", alias="fileID") + name: Optional[StrictStr] = Field(default=None, description="File Name") + type: Optional[StrictStr] = Field(default=None, description="File Type") + source: Optional[StrictStr] = Field(default=None, description="File Source") + date_created: Optional[datetime] = Field(default=None, description="File creation date", alias="dateCreated") + url: Optional[StrictStr] = Field(default=None, description="File's URL to download") + __properties: ClassVar[List[str]] = ["fileID", "name", "type", "source", "dateCreated", "url"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetFilesResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetFilesResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "fileID": obj.get("fileID"), + "name": obj.get("name"), + "type": obj.get("type"), + "source": obj.get("source"), + "dateCreated": obj.get("dateCreated"), + "url": obj.get("url") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_group_notes_response.py b/cloudbeds_pms_v1_3/models/get_group_notes_response.py new file mode 100644 index 0000000..b16e991 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_group_notes_response.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_group_notes_response_data import GetGroupNotesResponseData +from typing import Optional, Set +from typing_extensions import Self + +class GetGroupNotesResponse(BaseModel): + """ + GetGroupNotesResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Success") + code: Optional[StrictInt] = Field(default=None, description="HTTP status code") + data: Optional[GetGroupNotesResponseData] = None + __properties: ClassVar[List[str]] = ["success", "code", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGroupNotesResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGroupNotesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "code": obj.get("code"), + "data": GetGroupNotesResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_group_notes_response_data.py b/cloudbeds_pms_v1_3/models/get_group_notes_response_data.py new file mode 100644 index 0000000..be0105f --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_group_notes_response_data.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetGroupNotesResponseData(BaseModel): + """ + Data + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="ID for the note") + group_profile_id: Optional[StrictStr] = Field(default=None, description="Group profile ID") + text: Optional[StrictStr] = Field(default=None, description="Note text") + created_by: Optional[StrictStr] = Field(default=None, description="Created by") + created_at: Optional[StrictStr] = Field(default=None, description="Created at") + updated_at: Optional[StrictStr] = Field(default=None, description="Updated at") + archived: Optional[StrictBool] = Field(default=None, description="Note archived") + archived_at: Optional[StrictStr] = Field(default=None, description="Note archived at") + __properties: ClassVar[List[str]] = ["id", "group_profile_id", "text", "created_by", "created_at", "updated_at", "archived", "archived_at"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGroupNotesResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGroupNotesResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "group_profile_id": obj.get("group_profile_id"), + "text": obj.get("text"), + "created_by": obj.get("created_by"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "archived": obj.get("archived"), + "archived_at": obj.get("archived_at") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_groups_response.py b/cloudbeds_pms_v1_3/models/get_groups_response.py new file mode 100644 index 0000000..2ea34ce --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_groups_response.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner import GetGroupsResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetGroupsResponse(BaseModel): + """ + GetGroupsResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Success") + data: Optional[List[GetGroupsResponseDataInner]] = Field(default=None, description="Data") + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGroupsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGroupsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetGroupsResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_groups_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_groups_response_data_inner.py new file mode 100644 index 0000000..0a30384 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_groups_response_data_inner.py @@ -0,0 +1,218 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner import GetGroupsResponseDataInnerContactsInner +from typing import Optional, Set +from typing_extensions import Self + +class GetGroupsResponseDataInner(BaseModel): + """ + GetGroupsResponseDataInner + """ # noqa: E501 + group_code: Optional[StrictStr] = Field(default=None, description="Unique ID for a group", alias="groupCode") + name: Optional[StrictStr] = Field(default=None, description="The name of the group") + type: Optional[StrictStr] = Field(default=None, description="The type of the group") + status: Optional[StrictStr] = Field(default=None, description="Group status") + created: Optional[datetime] = Field(default=None, description="Group created time") + source_id: Optional[StrictStr] = Field(default=None, description="The third-party source ID for this group, can be empty", alias="sourceID") + source_name: Optional[StrictStr] = Field(default=None, description="The third-party source name for this group, can be empty", alias="sourceName") + address1: Optional[StrictStr] = Field(default=None, description="Address") + address2: Optional[StrictStr] = Field(default=None, description="Address2") + city: Optional[StrictStr] = Field(default=None, description="City") + zip: Optional[StrictStr] = Field(default=None, description="Zip") + state: Optional[StrictStr] = Field(default=None, description="State") + country_code: Optional[StrictStr] = Field(default=None, description="Country code", alias="countryCode") + commission_type: Optional[StrictStr] = Field(default=None, description="Commission type", alias="commissionType") + tax_document_type: Optional[StrictStr] = Field(default=None, description="Tax document type", alias="taxDocumentType") + tax_id_number: Optional[StrictStr] = Field(default=None, description="Tax ID number", alias="taxIdNumber") + legal_name: Optional[StrictStr] = Field(default=None, description="Legal name", alias="legalName") + contacts: Optional[List[GetGroupsResponseDataInnerContactsInner]] = Field(default=None, description="Group contacts") + __properties: ClassVar[List[str]] = ["groupCode", "name", "type", "status", "created", "sourceID", "sourceName", "address1", "address2", "city", "zip", "state", "countryCode", "commissionType", "taxDocumentType", "taxIdNumber", "legalName", "contacts"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['group', 'company', 'travel_agent', 'wholesaler', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['open', 'closed', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + @field_validator('commission_type') + def commission_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['fixed', 'percent', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGroupsResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in contacts (list) + _items = [] + if self.contacts: + for _item_contacts in self.contacts: + if _item_contacts: + _items.append(_item_contacts.to_dict()) + _dict['contacts'] = _items + # set to None if address1 (nullable) is None + # and model_fields_set contains the field + if self.address1 is None and "address1" in self.model_fields_set: + _dict['address1'] = None + + # set to None if address2 (nullable) is None + # and model_fields_set contains the field + if self.address2 is None and "address2" in self.model_fields_set: + _dict['address2'] = None + + # set to None if city (nullable) is None + # and model_fields_set contains the field + if self.city is None and "city" in self.model_fields_set: + _dict['city'] = None + + # set to None if zip (nullable) is None + # and model_fields_set contains the field + if self.zip is None and "zip" in self.model_fields_set: + _dict['zip'] = None + + # set to None if state (nullable) is None + # and model_fields_set contains the field + if self.state is None and "state" in self.model_fields_set: + _dict['state'] = None + + # set to None if country_code (nullable) is None + # and model_fields_set contains the field + if self.country_code is None and "country_code" in self.model_fields_set: + _dict['countryCode'] = None + + # set to None if commission_type (nullable) is None + # and model_fields_set contains the field + if self.commission_type is None and "commission_type" in self.model_fields_set: + _dict['commissionType'] = None + + # set to None if tax_document_type (nullable) is None + # and model_fields_set contains the field + if self.tax_document_type is None and "tax_document_type" in self.model_fields_set: + _dict['taxDocumentType'] = None + + # set to None if tax_id_number (nullable) is None + # and model_fields_set contains the field + if self.tax_id_number is None and "tax_id_number" in self.model_fields_set: + _dict['taxIdNumber'] = None + + # set to None if legal_name (nullable) is None + # and model_fields_set contains the field + if self.legal_name is None and "legal_name" in self.model_fields_set: + _dict['legalName'] = None + + # set to None if contacts (nullable) is None + # and model_fields_set contains the field + if self.contacts is None and "contacts" in self.model_fields_set: + _dict['contacts'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGroupsResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "groupCode": obj.get("groupCode"), + "name": obj.get("name"), + "type": obj.get("type"), + "status": obj.get("status"), + "created": obj.get("created"), + "sourceID": obj.get("sourceID"), + "sourceName": obj.get("sourceName"), + "address1": obj.get("address1"), + "address2": obj.get("address2"), + "city": obj.get("city"), + "zip": obj.get("zip"), + "state": obj.get("state"), + "countryCode": obj.get("countryCode"), + "commissionType": obj.get("commissionType"), + "taxDocumentType": obj.get("taxDocumentType"), + "taxIdNumber": obj.get("taxIdNumber"), + "legalName": obj.get("legalName"), + "contacts": [GetGroupsResponseDataInnerContactsInner.from_dict(_item) for _item in obj["contacts"]] if obj.get("contacts") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_groups_response_data_inner_contacts_inner.py b/cloudbeds_pms_v1_3/models/get_groups_response_data_inner_contacts_inner.py new file mode 100644 index 0000000..dfd3079 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_groups_response_data_inner_contacts_inner.py @@ -0,0 +1,212 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner_emails_inner import GetGroupsResponseDataInnerContactsInnerEmailsInner +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner_phones_inner import GetGroupsResponseDataInnerContactsInnerPhonesInner +from typing import Optional, Set +from typing_extensions import Self + +class GetGroupsResponseDataInnerContactsInner(BaseModel): + """ + GetGroupsResponseDataInnerContactsInner + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="Unique ID for a contact") + group_profile_id: Optional[StrictStr] = Field(default=None, description="The group profile ID this contact belongs to") + primary: Optional[StrictBool] = Field(default=None, description="Whether this is the primary contact") + anonymized: Optional[StrictBool] = Field(default=None, description="Whether the contact is anonymized") + first_name: Optional[StrictStr] = Field(default=None, description="Contact first name") + last_name: Optional[StrictStr] = Field(default=None, description="Contact last name") + role: Optional[StrictStr] = Field(default=None, description="Contact role") + status: Optional[StrictStr] = Field(default=None, description="Contact status") + created_at: Optional[datetime] = Field(default=None, description="Contact creation time") + updated_at: Optional[datetime] = Field(default=None, description="Contact last update time") + emails: Optional[List[GetGroupsResponseDataInnerContactsInnerEmailsInner]] = Field(default=None, description="Contact email addresses") + phones: Optional[List[GetGroupsResponseDataInnerContactsInnerPhonesInner]] = Field(default=None, description="Contact phone numbers") + is_billing_recipient: Optional[StrictBool] = Field(default=None, description="Whether this contact is a billing recipient") + tax_id_number: Optional[StrictStr] = Field(default=None, description="Contact tax ID number") + tax_document_type: Optional[StrictStr] = Field(default=None, description="Contact tax document type") + legal_name: Optional[StrictStr] = Field(default=None, description="Contact legal name") + address_1: Optional[StrictStr] = Field(default=None, description="Contact address line 1") + address_2: Optional[StrictStr] = Field(default=None, description="Contact address line 2") + city: Optional[StrictStr] = Field(default=None, description="Contact city") + state: Optional[StrictStr] = Field(default=None, description="Contact state") + country_code: Optional[StrictStr] = Field(default=None, description="Contact country code") + zip: Optional[StrictStr] = Field(default=None, description="Contact zip code") + __properties: ClassVar[List[str]] = ["id", "group_profile_id", "primary", "anonymized", "first_name", "last_name", "role", "status", "created_at", "updated_at", "emails", "phones", "is_billing_recipient", "tax_id_number", "tax_document_type", "legal_name", "address_1", "address_2", "city", "state", "country_code", "zip"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['active', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGroupsResponseDataInnerContactsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in emails (list) + _items = [] + if self.emails: + for _item_emails in self.emails: + if _item_emails: + _items.append(_item_emails.to_dict()) + _dict['emails'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in phones (list) + _items = [] + if self.phones: + for _item_phones in self.phones: + if _item_phones: + _items.append(_item_phones.to_dict()) + _dict['phones'] = _items + # set to None if role (nullable) is None + # and model_fields_set contains the field + if self.role is None and "role" in self.model_fields_set: + _dict['role'] = None + + # set to None if phones (nullable) is None + # and model_fields_set contains the field + if self.phones is None and "phones" in self.model_fields_set: + _dict['phones'] = None + + # set to None if tax_id_number (nullable) is None + # and model_fields_set contains the field + if self.tax_id_number is None and "tax_id_number" in self.model_fields_set: + _dict['tax_id_number'] = None + + # set to None if tax_document_type (nullable) is None + # and model_fields_set contains the field + if self.tax_document_type is None and "tax_document_type" in self.model_fields_set: + _dict['tax_document_type'] = None + + # set to None if legal_name (nullable) is None + # and model_fields_set contains the field + if self.legal_name is None and "legal_name" in self.model_fields_set: + _dict['legal_name'] = None + + # set to None if address_1 (nullable) is None + # and model_fields_set contains the field + if self.address_1 is None and "address_1" in self.model_fields_set: + _dict['address_1'] = None + + # set to None if address_2 (nullable) is None + # and model_fields_set contains the field + if self.address_2 is None and "address_2" in self.model_fields_set: + _dict['address_2'] = None + + # set to None if city (nullable) is None + # and model_fields_set contains the field + if self.city is None and "city" in self.model_fields_set: + _dict['city'] = None + + # set to None if state (nullable) is None + # and model_fields_set contains the field + if self.state is None and "state" in self.model_fields_set: + _dict['state'] = None + + # set to None if country_code (nullable) is None + # and model_fields_set contains the field + if self.country_code is None and "country_code" in self.model_fields_set: + _dict['country_code'] = None + + # set to None if zip (nullable) is None + # and model_fields_set contains the field + if self.zip is None and "zip" in self.model_fields_set: + _dict['zip'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGroupsResponseDataInnerContactsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "group_profile_id": obj.get("group_profile_id"), + "primary": obj.get("primary"), + "anonymized": obj.get("anonymized"), + "first_name": obj.get("first_name"), + "last_name": obj.get("last_name"), + "role": obj.get("role"), + "status": obj.get("status"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "emails": [GetGroupsResponseDataInnerContactsInnerEmailsInner.from_dict(_item) for _item in obj["emails"]] if obj.get("emails") is not None else None, + "phones": [GetGroupsResponseDataInnerContactsInnerPhonesInner.from_dict(_item) for _item in obj["phones"]] if obj.get("phones") is not None else None, + "is_billing_recipient": obj.get("is_billing_recipient"), + "tax_id_number": obj.get("tax_id_number"), + "tax_document_type": obj.get("tax_document_type"), + "legal_name": obj.get("legal_name"), + "address_1": obj.get("address_1"), + "address_2": obj.get("address_2"), + "city": obj.get("city"), + "state": obj.get("state"), + "country_code": obj.get("country_code"), + "zip": obj.get("zip") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_groups_response_data_inner_contacts_inner_emails_inner.py b/cloudbeds_pms_v1_3/models/get_groups_response_data_inner_contacts_inner_emails_inner.py new file mode 100644 index 0000000..513948b --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_groups_response_data_inner_contacts_inner_emails_inner.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetGroupsResponseDataInnerContactsInnerEmailsInner(BaseModel): + """ + GetGroupsResponseDataInnerContactsInnerEmailsInner + """ # noqa: E501 + type: Optional[StrictStr] = Field(default=None, description="Email type") + value: Optional[StrictStr] = Field(default=None, description="Email address value") + __properties: ClassVar[List[str]] = ["type", "value"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['personal', 'business', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGroupsResponseDataInnerContactsInnerEmailsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGroupsResponseDataInnerContactsInnerEmailsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "value": obj.get("value") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_groups_response_data_inner_contacts_inner_phones_inner.py b/cloudbeds_pms_v1_3/models/get_groups_response_data_inner_contacts_inner_phones_inner.py new file mode 100644 index 0000000..d4662f1 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_groups_response_data_inner_contacts_inner_phones_inner.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetGroupsResponseDataInnerContactsInnerPhonesInner(BaseModel): + """ + GetGroupsResponseDataInnerContactsInnerPhonesInner + """ # noqa: E501 + type: Optional[StrictStr] = Field(default=None, description="Phone type") + value: Optional[StrictStr] = Field(default=None, description="Phone number value") + __properties: ClassVar[List[str]] = ["type", "value"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['home', 'work', 'cell_phone', 'fax', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGroupsResponseDataInnerContactsInnerPhonesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGroupsResponseDataInnerContactsInnerPhonesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "value": obj.get("value") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_guest_list_response.py b/cloudbeds_pms_v1_3/models/get_guest_list_response.py new file mode 100644 index 0000000..90e920d --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guest_list_response.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_guest_list_response_data_value import GetGuestListResponseDataValue +from typing import Optional, Set +from typing_extensions import Self + +class GetGuestListResponse(BaseModel): + """ + GetGuestListResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[Dict[str, GetGuestListResponseDataValue]] = Field(default=None, description="Details for the guest linked to the property (key is the Guest ID)") + count: Optional[StrictInt] = Field(default=None, description="Number of results returned") + total: Optional[StrictInt] = Field(default=None, description="Total number of results") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "count", "total", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGuestListResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each value in data (dict) + _field_dict = {} + if self.data: + for _key_data in self.data: + if self.data[_key_data]: + _field_dict[_key_data] = self.data[_key_data].to_dict() + _dict['data'] = _field_dict + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGuestListResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": dict( + (_k, GetGuestListResponseDataValue.from_dict(_v)) + for _k, _v in obj["data"].items() + ) + if obj.get("data") is not None + else None, + "count": obj.get("count"), + "total": obj.get("total"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_guest_list_response_data_value.py b/cloudbeds_pms_v1_3/models/get_guest_list_response_data_value.py new file mode 100644 index 0000000..b87fbdd --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guest_list_response_data_value.py @@ -0,0 +1,304 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date, datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_guest_list_response_data_value_guest_notes_inner import GetGuestListResponseDataValueGuestNotesInner +from typing import Optional, Set +from typing_extensions import Self + +class GetGuestListResponseDataValue(BaseModel): + """ + GetGuestListResponseDataValue + """ # noqa: E501 + reservation_id: Optional[StrictStr] = Field(default=None, description="Reservation's unique identifier", alias="reservationID") + guest_name: Optional[StrictStr] = Field(default=None, description="Guest Name", alias="guestName") + guest_email: Optional[StrictStr] = Field(default=None, description="Guest Email", alias="guestEmail") + guest_id: Optional[StrictStr] = Field(default=None, description="Guest ID", alias="guestID") + date_created: Optional[datetime] = Field(default=None, description="Reservation creation date", alias="dateCreated") + date_modified: Optional[datetime] = Field(default=None, description="Reservation modification date", alias="dateModified") + is_main_guest: Optional[StrictBool] = Field(default=None, description="If the guest is the main guest of its reservation", alias="isMainGuest") + is_anonymized: Optional[StrictBool] = Field(default=None, description="Flag indicating the guest data was removed upon request", alias="isAnonymized") + guest_first_name: Optional[StrictStr] = Field(default=None, description="Guest First Name", alias="guestFirstName") + guest_last_name: Optional[StrictStr] = Field(default=None, description="Guest Last Name", alias="guestLastName") + guest_gender: Optional[StrictStr] = Field(default=None, description="Guest Gender", alias="guestGender") + guest_phone: Optional[StrictStr] = Field(default=None, description="Guest Phone", alias="guestPhone") + guest_cell_phone: Optional[StrictStr] = Field(default=None, description="Guest Cell Phone", alias="guestCellPhone") + guest_address1: Optional[StrictStr] = Field(default=None, description="Guest Address (line 1)", alias="guestAddress1") + guest_address2: Optional[StrictStr] = Field(default=None, description="Guest Address (line 2)", alias="guestAddress2") + guest_city: Optional[StrictStr] = Field(default=None, description="Guest City", alias="guestCity") + guest_state: Optional[StrictStr] = Field(default=None, description="Guest State", alias="guestState") + guest_country: Optional[StrictStr] = Field(default=None, description="Guest Country", alias="guestCountry") + guest_zip: Optional[StrictStr] = Field(default=None, description="Guest Zip code", alias="guestZip") + guest_birth_date: Optional[date] = Field(default=None, description="Guest Birth Date", alias="guestBirthDate") + guest_document_type: Optional[StrictStr] = Field(default=None, description="Guest Document Type", alias="guestDocumentType") + guest_document_number: Optional[StrictStr] = Field(default=None, description="Guest Document Number", alias="guestDocumentNumber") + guest_document_issue_date: Optional[date] = Field(default=None, description="Guest Document Issue Date", alias="guestDocumentIssueDate") + guest_document_issuing_country: Optional[StrictStr] = Field(default=None, description="Guest Document Issuing Country", alias="guestDocumentIssuingCountry") + guest_document_expiration_date: Optional[date] = Field(default=None, description="Guest Document Expiration Date", alias="guestDocumentExpirationDate") + tax_id: Optional[StrictStr] = Field(default=None, description="Tax ID", alias="taxID") + company_tax_id: Optional[StrictStr] = Field(default=None, description="Company tax ID", alias="companyTaxID") + company_name: Optional[StrictStr] = Field(default=None, description="Company name", alias="companyName") + guest_opt_in: Optional[StrictBool] = Field(default=None, description="If guest has opted-in to marketing communication or not", alias="guestOptIn") + guest_requirements: Optional[Dict[str, Any]] = Field(default=None, description="Guest requirements data. Only included if `includeGuestRequirements=true`.", alias="guestRequirements") + guest_notes: Optional[List[GetGuestListResponseDataValueGuestNotesInner]] = Field(default=None, description="Guest Notes", alias="guestNotes") + status: Optional[StrictStr] = Field(default=None, description="Reservation status
in_progress - Reservation is pending confirmation
confirmed - Reservation is confirmed
not_confirmed - Reservation not passed confirmation
canceled - Reservation is canceled
checked_in - Guest is in hotel
checked_out - Guest already left hotel
no_show - Guest didn't showed up on check-in date") + is_merged: Optional[StrictBool] = Field(default=None, description="Flag indicating that guest was merged", alias="isMerged") + new_guest_id: Optional[StrictStr] = Field(default=None, description="Merged guest ID", alias="newGuestID") + __properties: ClassVar[List[str]] = ["reservationID", "guestName", "guestEmail", "guestID", "dateCreated", "dateModified", "isMainGuest", "isAnonymized", "guestFirstName", "guestLastName", "guestGender", "guestPhone", "guestCellPhone", "guestAddress1", "guestAddress2", "guestCity", "guestState", "guestCountry", "guestZip", "guestBirthDate", "guestDocumentType", "guestDocumentNumber", "guestDocumentIssueDate", "guestDocumentIssuingCountry", "guestDocumentExpirationDate", "taxID", "companyTaxID", "companyName", "guestOptIn", "guestRequirements", "guestNotes", "status", "isMerged", "newGuestID"] + + @field_validator('guest_gender') + def guest_gender_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['M', 'F', 'N/A', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['in_progress', 'confirmed', 'not_confirmed', 'canceled', 'checked_in', 'checked_out', 'no_show', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGuestListResponseDataValue from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in guest_notes (list) + _items = [] + if self.guest_notes: + for _item_guest_notes in self.guest_notes: + if _item_guest_notes: + _items.append(_item_guest_notes.to_dict()) + _dict['guestNotes'] = _items + # set to None if guest_first_name (nullable) is None + # and model_fields_set contains the field + if self.guest_first_name is None and "guest_first_name" in self.model_fields_set: + _dict['guestFirstName'] = None + + # set to None if guest_last_name (nullable) is None + # and model_fields_set contains the field + if self.guest_last_name is None and "guest_last_name" in self.model_fields_set: + _dict['guestLastName'] = None + + # set to None if guest_gender (nullable) is None + # and model_fields_set contains the field + if self.guest_gender is None and "guest_gender" in self.model_fields_set: + _dict['guestGender'] = None + + # set to None if guest_phone (nullable) is None + # and model_fields_set contains the field + if self.guest_phone is None and "guest_phone" in self.model_fields_set: + _dict['guestPhone'] = None + + # set to None if guest_cell_phone (nullable) is None + # and model_fields_set contains the field + if self.guest_cell_phone is None and "guest_cell_phone" in self.model_fields_set: + _dict['guestCellPhone'] = None + + # set to None if guest_address1 (nullable) is None + # and model_fields_set contains the field + if self.guest_address1 is None and "guest_address1" in self.model_fields_set: + _dict['guestAddress1'] = None + + # set to None if guest_address2 (nullable) is None + # and model_fields_set contains the field + if self.guest_address2 is None and "guest_address2" in self.model_fields_set: + _dict['guestAddress2'] = None + + # set to None if guest_city (nullable) is None + # and model_fields_set contains the field + if self.guest_city is None and "guest_city" in self.model_fields_set: + _dict['guestCity'] = None + + # set to None if guest_state (nullable) is None + # and model_fields_set contains the field + if self.guest_state is None and "guest_state" in self.model_fields_set: + _dict['guestState'] = None + + # set to None if guest_country (nullable) is None + # and model_fields_set contains the field + if self.guest_country is None and "guest_country" in self.model_fields_set: + _dict['guestCountry'] = None + + # set to None if guest_zip (nullable) is None + # and model_fields_set contains the field + if self.guest_zip is None and "guest_zip" in self.model_fields_set: + _dict['guestZip'] = None + + # set to None if guest_birth_date (nullable) is None + # and model_fields_set contains the field + if self.guest_birth_date is None and "guest_birth_date" in self.model_fields_set: + _dict['guestBirthDate'] = None + + # set to None if guest_document_type (nullable) is None + # and model_fields_set contains the field + if self.guest_document_type is None and "guest_document_type" in self.model_fields_set: + _dict['guestDocumentType'] = None + + # set to None if guest_document_number (nullable) is None + # and model_fields_set contains the field + if self.guest_document_number is None and "guest_document_number" in self.model_fields_set: + _dict['guestDocumentNumber'] = None + + # set to None if guest_document_issue_date (nullable) is None + # and model_fields_set contains the field + if self.guest_document_issue_date is None and "guest_document_issue_date" in self.model_fields_set: + _dict['guestDocumentIssueDate'] = None + + # set to None if guest_document_issuing_country (nullable) is None + # and model_fields_set contains the field + if self.guest_document_issuing_country is None and "guest_document_issuing_country" in self.model_fields_set: + _dict['guestDocumentIssuingCountry'] = None + + # set to None if guest_document_expiration_date (nullable) is None + # and model_fields_set contains the field + if self.guest_document_expiration_date is None and "guest_document_expiration_date" in self.model_fields_set: + _dict['guestDocumentExpirationDate'] = None + + # set to None if tax_id (nullable) is None + # and model_fields_set contains the field + if self.tax_id is None and "tax_id" in self.model_fields_set: + _dict['taxID'] = None + + # set to None if company_tax_id (nullable) is None + # and model_fields_set contains the field + if self.company_tax_id is None and "company_tax_id" in self.model_fields_set: + _dict['companyTaxID'] = None + + # set to None if company_name (nullable) is None + # and model_fields_set contains the field + if self.company_name is None and "company_name" in self.model_fields_set: + _dict['companyName'] = None + + # set to None if guest_opt_in (nullable) is None + # and model_fields_set contains the field + if self.guest_opt_in is None and "guest_opt_in" in self.model_fields_set: + _dict['guestOptIn'] = None + + # set to None if guest_requirements (nullable) is None + # and model_fields_set contains the field + if self.guest_requirements is None and "guest_requirements" in self.model_fields_set: + _dict['guestRequirements'] = None + + # set to None if guest_notes (nullable) is None + # and model_fields_set contains the field + if self.guest_notes is None and "guest_notes" in self.model_fields_set: + _dict['guestNotes'] = None + + # set to None if status (nullable) is None + # and model_fields_set contains the field + if self.status is None and "status" in self.model_fields_set: + _dict['status'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGuestListResponseDataValue from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "reservationID": obj.get("reservationID"), + "guestName": obj.get("guestName"), + "guestEmail": obj.get("guestEmail"), + "guestID": obj.get("guestID"), + "dateCreated": obj.get("dateCreated"), + "dateModified": obj.get("dateModified"), + "isMainGuest": obj.get("isMainGuest"), + "isAnonymized": obj.get("isAnonymized"), + "guestFirstName": obj.get("guestFirstName"), + "guestLastName": obj.get("guestLastName"), + "guestGender": obj.get("guestGender"), + "guestPhone": obj.get("guestPhone"), + "guestCellPhone": obj.get("guestCellPhone"), + "guestAddress1": obj.get("guestAddress1"), + "guestAddress2": obj.get("guestAddress2"), + "guestCity": obj.get("guestCity"), + "guestState": obj.get("guestState"), + "guestCountry": obj.get("guestCountry"), + "guestZip": obj.get("guestZip"), + "guestBirthDate": obj.get("guestBirthDate"), + "guestDocumentType": obj.get("guestDocumentType"), + "guestDocumentNumber": obj.get("guestDocumentNumber"), + "guestDocumentIssueDate": obj.get("guestDocumentIssueDate"), + "guestDocumentIssuingCountry": obj.get("guestDocumentIssuingCountry"), + "guestDocumentExpirationDate": obj.get("guestDocumentExpirationDate"), + "taxID": obj.get("taxID"), + "companyTaxID": obj.get("companyTaxID"), + "companyName": obj.get("companyName"), + "guestOptIn": obj.get("guestOptIn"), + "guestRequirements": obj.get("guestRequirements"), + "guestNotes": [GetGuestListResponseDataValueGuestNotesInner.from_dict(_item) for _item in obj["guestNotes"]] if obj.get("guestNotes") is not None else None, + "status": obj.get("status"), + "isMerged": obj.get("isMerged"), + "newGuestID": obj.get("newGuestID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_guest_list_response_data_value_guest_notes_inner.py b/cloudbeds_pms_v1_3/models/get_guest_list_response_data_value_guest_notes_inner.py new file mode 100644 index 0000000..85b83d1 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guest_list_response_data_value_guest_notes_inner.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetGuestListResponseDataValueGuestNotesInner(BaseModel): + """ + GetGuestListResponseDataValueGuestNotesInner + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="Guest Notes ID", alias="ID") + note: Optional[StrictStr] = Field(default=None, description="Guest Notes \"note\"") + __properties: ClassVar[List[str]] = ["ID", "note"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGuestListResponseDataValueGuestNotesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if id (nullable) is None + # and model_fields_set contains the field + if self.id is None and "id" in self.model_fields_set: + _dict['ID'] = None + + # set to None if note (nullable) is None + # and model_fields_set contains the field + if self.note is None and "note" in self.model_fields_set: + _dict['note'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGuestListResponseDataValueGuestNotesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "ID": obj.get("ID"), + "note": obj.get("note") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_guest_notes_response.py b/cloudbeds_pms_v1_3/models/get_guest_notes_response.py new file mode 100644 index 0000000..5c62896 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guest_notes_response.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_guest_notes_response_data_inner import GetGuestNotesResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetGuestNotesResponse(BaseModel): + """ + GetGuestNotesResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetGuestNotesResponseDataInner]] = Field(default=None, description="Details for the notes on that reservation") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGuestNotesResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGuestNotesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetGuestNotesResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_guest_notes_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_guest_notes_response_data_inner.py new file mode 100644 index 0000000..363bbc5 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guest_notes_response_data_inner.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetGuestNotesResponseDataInner(BaseModel): + """ + GetGuestNotesResponseDataInner + """ # noqa: E501 + guest_note_id: Optional[StrictStr] = Field(default=None, description="Guest note ID", alias="guestNoteID") + user_name: Optional[StrictStr] = Field(default=None, description="User Name", alias="userName") + date_created: Optional[datetime] = Field(default=None, description="Creation datetime", alias="dateCreated") + date_modified: Optional[datetime] = Field(default=None, description="Last modification datetime", alias="dateModified") + guest_note: Optional[StrictStr] = Field(default=None, description="Note content", alias="guestNote") + __properties: ClassVar[List[str]] = ["guestNoteID", "userName", "dateCreated", "dateModified", "guestNote"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGuestNotesResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGuestNotesResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "guestNoteID": obj.get("guestNoteID"), + "userName": obj.get("userName"), + "dateCreated": obj.get("dateCreated"), + "dateModified": obj.get("dateModified"), + "guestNote": obj.get("guestNote") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_guest_response.py b/cloudbeds_pms_v1_3/models/get_guest_response.py new file mode 100644 index 0000000..72c56ea --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guest_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_guest_response_data import GetGuestResponseData +from typing import Optional, Set +from typing_extensions import Self + +class GetGuestResponse(BaseModel): + """ + GetGuestResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[GetGuestResponseData] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGuestResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGuestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": GetGuestResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_guest_response_data.py b/cloudbeds_pms_v1_3/models/get_guest_response_data.py new file mode 100644 index 0000000..07f20e1 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guest_response_data.py @@ -0,0 +1,192 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_guest_response_data_birth_date import GetGuestResponseDataBirthDate +from cloudbeds_pms_v1_3.models.get_guest_response_data_custom_fields_inner import GetGuestResponseDataCustomFieldsInner +from cloudbeds_pms_v1_3.models.get_guest_response_data_document_expiration_date import GetGuestResponseDataDocumentExpirationDate +from cloudbeds_pms_v1_3.models.get_guest_response_data_document_issue_date import GetGuestResponseDataDocumentIssueDate +from typing import Optional, Set +from typing_extensions import Self + +class GetGuestResponseData(BaseModel): + """ + Details for the guest queried + """ # noqa: E501 + first_name: Optional[StrictStr] = Field(default=None, description="First Name", alias="firstName") + last_name: Optional[StrictStr] = Field(default=None, description="Last Name", alias="lastName") + gender: Optional[StrictStr] = Field(default=None, description="Gender") + email: Optional[StrictStr] = Field(default=None, description="Email") + phone: Optional[StrictStr] = Field(default=None, description="Phone number") + cell_phone: Optional[StrictStr] = Field(default=None, description="Cell phone number", alias="cellPhone") + country: Optional[StrictStr] = Field(default=None, description="Country (2 digit code)") + address: Optional[StrictStr] = Field(default=None, description="Address") + address2: Optional[StrictStr] = Field(default=None, description="Address 2") + city: Optional[StrictStr] = Field(default=None, description="City") + zip: Optional[StrictStr] = Field(default=None, description="Zip") + state: Optional[StrictStr] = Field(default=None, description="State") + birth_date: Optional[GetGuestResponseDataBirthDate] = Field(default=None, alias="birthDate") + document_type: Optional[StrictStr] = Field(default=None, description="Document Type", alias="documentType") + document_number: Optional[StrictStr] = Field(default=None, description="Document number", alias="documentNumber") + document_issue_date: Optional[GetGuestResponseDataDocumentIssueDate] = Field(default=None, alias="documentIssueDate") + document_issuing_country: Optional[StrictStr] = Field(default=None, description="Document Issuing Country (2-digits code)", alias="documentIssuingCountry") + document_expiration_date: Optional[GetGuestResponseDataDocumentExpirationDate] = Field(default=None, alias="documentExpirationDate") + custom_fields: Optional[List[GetGuestResponseDataCustomFieldsInner]] = Field(default=None, alias="customFields") + guest_requirements: Optional[Dict[str, Any]] = Field(default=None, description="Guest requirements data. Only included if `includeGuestRequirements=true`.", alias="guestRequirements") + special_requests: Optional[StrictStr] = Field(default=None, description="Special requests made by the guest at the time of the booking", alias="specialRequests") + tax_id: Optional[StrictStr] = Field(default=None, description="Tax ID", alias="taxID") + company_tax_id: Optional[StrictStr] = Field(default=None, description="Company tax ID", alias="companyTaxID") + company_name: Optional[StrictStr] = Field(default=None, description="Company name", alias="companyName") + is_anonymized: Optional[StrictBool] = Field(default=None, description="Flag indicating the guest data was removed upon request", alias="isAnonymized") + guest_opt_in: Optional[StrictBool] = Field(default=None, description="If guest has opted-in to marketing communication or not", alias="guestOptIn") + is_merged: Optional[StrictBool] = Field(default=None, description="Flag indicating that guest was merged", alias="isMerged") + new_guest_id: Optional[StrictStr] = Field(default=None, description="Merged guest ID", alias="newGuestID") + __properties: ClassVar[List[str]] = ["firstName", "lastName", "gender", "email", "phone", "cellPhone", "country", "address", "address2", "city", "zip", "state", "birthDate", "documentType", "documentNumber", "documentIssueDate", "documentIssuingCountry", "documentExpirationDate", "customFields", "guestRequirements", "specialRequests", "taxID", "companyTaxID", "companyName", "isAnonymized", "guestOptIn", "isMerged", "newGuestID"] + + @field_validator('gender') + def gender_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['M', 'F', 'N/A', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGuestResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of birth_date + if self.birth_date: + _dict['birthDate'] = self.birth_date.to_dict() + # override the default output from pydantic by calling `to_dict()` of document_issue_date + if self.document_issue_date: + _dict['documentIssueDate'] = self.document_issue_date.to_dict() + # override the default output from pydantic by calling `to_dict()` of document_expiration_date + if self.document_expiration_date: + _dict['documentExpirationDate'] = self.document_expiration_date.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in custom_fields (list) + _items = [] + if self.custom_fields: + for _item_custom_fields in self.custom_fields: + if _item_custom_fields: + _items.append(_item_custom_fields.to_dict()) + _dict['customFields'] = _items + # set to None if guest_requirements (nullable) is None + # and model_fields_set contains the field + if self.guest_requirements is None and "guest_requirements" in self.model_fields_set: + _dict['guestRequirements'] = None + + # set to None if tax_id (nullable) is None + # and model_fields_set contains the field + if self.tax_id is None and "tax_id" in self.model_fields_set: + _dict['taxID'] = None + + # set to None if company_tax_id (nullable) is None + # and model_fields_set contains the field + if self.company_tax_id is None and "company_tax_id" in self.model_fields_set: + _dict['companyTaxID'] = None + + # set to None if company_name (nullable) is None + # and model_fields_set contains the field + if self.company_name is None and "company_name" in self.model_fields_set: + _dict['companyName'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGuestResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "firstName": obj.get("firstName"), + "lastName": obj.get("lastName"), + "gender": obj.get("gender"), + "email": obj.get("email"), + "phone": obj.get("phone"), + "cellPhone": obj.get("cellPhone"), + "country": obj.get("country"), + "address": obj.get("address"), + "address2": obj.get("address2"), + "city": obj.get("city"), + "zip": obj.get("zip"), + "state": obj.get("state"), + "birthDate": GetGuestResponseDataBirthDate.from_dict(obj["birthDate"]) if obj.get("birthDate") is not None else None, + "documentType": obj.get("documentType"), + "documentNumber": obj.get("documentNumber"), + "documentIssueDate": GetGuestResponseDataDocumentIssueDate.from_dict(obj["documentIssueDate"]) if obj.get("documentIssueDate") is not None else None, + "documentIssuingCountry": obj.get("documentIssuingCountry"), + "documentExpirationDate": GetGuestResponseDataDocumentExpirationDate.from_dict(obj["documentExpirationDate"]) if obj.get("documentExpirationDate") is not None else None, + "customFields": [GetGuestResponseDataCustomFieldsInner.from_dict(_item) for _item in obj["customFields"]] if obj.get("customFields") is not None else None, + "guestRequirements": obj.get("guestRequirements"), + "specialRequests": obj.get("specialRequests"), + "taxID": obj.get("taxID"), + "companyTaxID": obj.get("companyTaxID"), + "companyName": obj.get("companyName"), + "isAnonymized": obj.get("isAnonymized"), + "guestOptIn": obj.get("guestOptIn"), + "isMerged": obj.get("isMerged"), + "newGuestID": obj.get("newGuestID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_guest_response_data_birth_date.py b/cloudbeds_pms_v1_3/models/get_guest_response_data_birth_date.py new file mode 100644 index 0000000..aa64cb4 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guest_response_data_birth_date.py @@ -0,0 +1,144 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +GETGUESTRESPONSEDATABIRTHDATE_ONE_OF_SCHEMAS = ["date", "str"] + +class GetGuestResponseDataBirthDate(BaseModel): + """ + Birth date + """ + # data type: date + oneof_schema_1_validator: Optional[date] = None + # data type: str + oneof_schema_2_validator: Optional[StrictStr] = None + actual_instance: Optional[Union[date, str]] = None + one_of_schemas: Set[str] = { "date", "str" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = GetGuestResponseDataBirthDate.model_construct() + error_messages = [] + match = 0 + # validate data type: date + try: + instance.oneof_schema_1_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: str + try: + instance.oneof_schema_2_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in GetGuestResponseDataBirthDate with oneOf schemas: date, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in GetGuestResponseDataBirthDate with oneOf schemas: date, str. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into date + try: + # validation + instance.oneof_schema_1_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_1_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into str + try: + # validation + instance.oneof_schema_2_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_2_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into GetGuestResponseDataBirthDate with oneOf schemas: date, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into GetGuestResponseDataBirthDate with oneOf schemas: date, str. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], date, str]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/cloudbeds_pms_v1_3/models/get_guest_response_data_custom_fields_inner.py b/cloudbeds_pms_v1_3/models/get_guest_response_data_custom_fields_inner.py new file mode 100644 index 0000000..d4c07fc --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guest_response_data_custom_fields_inner.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetGuestResponseDataCustomFieldsInner(BaseModel): + """ + GetGuestResponseDataCustomFieldsInner + """ # noqa: E501 + custom_field_name: Optional[StrictStr] = Field(default=None, alias="customFieldName") + custom_field_value: Optional[StrictStr] = Field(default=None, alias="customFieldValue") + __properties: ClassVar[List[str]] = ["customFieldName", "customFieldValue"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGuestResponseDataCustomFieldsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if custom_field_name (nullable) is None + # and model_fields_set contains the field + if self.custom_field_name is None and "custom_field_name" in self.model_fields_set: + _dict['customFieldName'] = None + + # set to None if custom_field_value (nullable) is None + # and model_fields_set contains the field + if self.custom_field_value is None and "custom_field_value" in self.model_fields_set: + _dict['customFieldValue'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGuestResponseDataCustomFieldsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "customFieldName": obj.get("customFieldName"), + "customFieldValue": obj.get("customFieldValue") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_guest_response_data_document_expiration_date.py b/cloudbeds_pms_v1_3/models/get_guest_response_data_document_expiration_date.py new file mode 100644 index 0000000..a05f47a --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guest_response_data_document_expiration_date.py @@ -0,0 +1,144 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +GETGUESTRESPONSEDATADOCUMENTEXPIRATIONDATE_ONE_OF_SCHEMAS = ["date", "str"] + +class GetGuestResponseDataDocumentExpirationDate(BaseModel): + """ + Document Expiration Date, can be null + """ + # data type: date + oneof_schema_1_validator: Optional[date] = None + # data type: str + oneof_schema_2_validator: Optional[StrictStr] = None + actual_instance: Optional[Union[date, str]] = None + one_of_schemas: Set[str] = { "date", "str" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = GetGuestResponseDataDocumentExpirationDate.model_construct() + error_messages = [] + match = 0 + # validate data type: date + try: + instance.oneof_schema_1_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: str + try: + instance.oneof_schema_2_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in GetGuestResponseDataDocumentExpirationDate with oneOf schemas: date, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in GetGuestResponseDataDocumentExpirationDate with oneOf schemas: date, str. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into date + try: + # validation + instance.oneof_schema_1_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_1_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into str + try: + # validation + instance.oneof_schema_2_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_2_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into GetGuestResponseDataDocumentExpirationDate with oneOf schemas: date, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into GetGuestResponseDataDocumentExpirationDate with oneOf schemas: date, str. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], date, str]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/cloudbeds_pms_v1_3/models/get_guest_response_data_document_issue_date.py b/cloudbeds_pms_v1_3/models/get_guest_response_data_document_issue_date.py new file mode 100644 index 0000000..1ad8fee --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guest_response_data_document_issue_date.py @@ -0,0 +1,144 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +GETGUESTRESPONSEDATADOCUMENTISSUEDATE_ONE_OF_SCHEMAS = ["date", "str"] + +class GetGuestResponseDataDocumentIssueDate(BaseModel): + """ + Document Issue Date, can be null + """ + # data type: date + oneof_schema_1_validator: Optional[date] = None + # data type: str + oneof_schema_2_validator: Optional[StrictStr] = None + actual_instance: Optional[Union[date, str]] = None + one_of_schemas: Set[str] = { "date", "str" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = GetGuestResponseDataDocumentIssueDate.model_construct() + error_messages = [] + match = 0 + # validate data type: date + try: + instance.oneof_schema_1_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: str + try: + instance.oneof_schema_2_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in GetGuestResponseDataDocumentIssueDate with oneOf schemas: date, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in GetGuestResponseDataDocumentIssueDate with oneOf schemas: date, str. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into date + try: + # validation + instance.oneof_schema_1_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_1_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into str + try: + # validation + instance.oneof_schema_2_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_2_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into GetGuestResponseDataDocumentIssueDate with oneOf schemas: date, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into GetGuestResponseDataDocumentIssueDate with oneOf schemas: date, str. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], date, str]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/cloudbeds_pms_v1_3/models/get_guests_by_filter_response.py b/cloudbeds_pms_v1_3/models/get_guests_by_filter_response.py new file mode 100644 index 0000000..f51d423 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guests_by_filter_response.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_guests_by_filter_response_data_inner import GetGuestsByFilterResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetGuestsByFilterResponse(BaseModel): + """ + GetGuestsByFilterResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetGuestsByFilterResponseDataInner]] = Field(default=None, description="Details for the guest") + count: Optional[StrictInt] = Field(default=None, description="Number of results returned") + total: Optional[StrictInt] = Field(default=None, description="Total number of results") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "count", "total", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGuestsByFilterResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGuestsByFilterResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetGuestsByFilterResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "count": obj.get("count"), + "total": obj.get("total"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_guests_by_filter_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_guests_by_filter_response_data_inner.py new file mode 100644 index 0000000..dd7dc20 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guests_by_filter_response_data_inner.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetGuestsByFilterResponseDataInner(BaseModel): + """ + GetGuestsByFilterResponseDataInner + """ # noqa: E501 + reservation_id: Optional[StrictStr] = Field(default=None, description="Reservation's unique identifier", alias="reservationID") + guest_name: Optional[StrictStr] = Field(default=None, alias="guestName") + guest_id: Optional[StrictStr] = Field(default=None, description="Guest ID", alias="guestID") + room_id: Optional[StrictStr] = Field(default=None, description="Room ID that the guest is assigned", alias="roomID") + room_name: Optional[StrictStr] = Field(default=None, description="Name of the room where guest is assigned", alias="roomName") + is_main_guest: Optional[StrictBool] = Field(default=None, description="True if the main guest of the reservation", alias="isMainGuest") + is_anonymized: Optional[StrictBool] = Field(default=None, description="Flag indicating the guest data was removed upon request", alias="isAnonymized") + guest_opt_in: Optional[StrictBool] = Field(default=None, description="If guest has opted-in to marketing communication or not", alias="guestOptIn") + is_merged: Optional[StrictBool] = Field(default=None, description="Flag indicating that guest was merged", alias="isMerged") + new_guest_id: Optional[StrictStr] = Field(default=None, description="Merged guest ID", alias="newGuestID") + __properties: ClassVar[List[str]] = ["reservationID", "guestName", "guestID", "roomID", "roomName", "isMainGuest", "isAnonymized", "guestOptIn", "isMerged", "newGuestID"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGuestsByFilterResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGuestsByFilterResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "reservationID": obj.get("reservationID"), + "guestName": obj.get("guestName"), + "guestID": obj.get("guestID"), + "roomID": obj.get("roomID"), + "roomName": obj.get("roomName"), + "isMainGuest": obj.get("isMainGuest"), + "isAnonymized": obj.get("isAnonymized"), + "guestOptIn": obj.get("guestOptIn"), + "isMerged": obj.get("isMerged"), + "newGuestID": obj.get("newGuestID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_guests_by_status_response.py b/cloudbeds_pms_v1_3/models/get_guests_by_status_response.py new file mode 100644 index 0000000..b59bd58 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guests_by_status_response.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_guests_by_status_response_data_inner import GetGuestsByStatusResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetGuestsByStatusResponse(BaseModel): + """ + GetGuestsByStatusResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetGuestsByStatusResponseDataInner]] = Field(default=None, description="Details for the guest") + count: Optional[StrictInt] = Field(default=None, description="Number of results returned") + total: Optional[StrictInt] = Field(default=None, description="Total number of results") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "count", "total", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGuestsByStatusResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGuestsByStatusResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetGuestsByStatusResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "count": obj.get("count"), + "total": obj.get("total"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_guests_by_status_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_guests_by_status_response_data_inner.py new file mode 100644 index 0000000..3686f0d --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guests_by_status_response_data_inner.py @@ -0,0 +1,209 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date, datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner import GetGuestsModifiedResponseDataInnerCustomFieldsInner +from typing import Optional, Set +from typing_extensions import Self + +class GetGuestsByStatusResponseDataInner(BaseModel): + """ + GetGuestsByStatusResponseDataInner + """ # noqa: E501 + guest_id: Optional[StrictStr] = Field(default=None, description="Guest ID", alias="guestID") + reservation_id: Optional[StrictStr] = Field(default=None, description="Reservation's unique identifier", alias="reservationID") + sub_reservation_id: Optional[StrictStr] = Field(default=None, alias="subReservationID") + reservation_created_date_time: Optional[datetime] = Field(default=None, description="Reservation creation datetime", alias="reservationCreatedDateTime") + room_type_id: Optional[StrictStr] = Field(default=None, description="Room Type ID that the guest is assigned", alias="roomTypeID") + room_id: Optional[StrictStr] = Field(default=None, description="Room ID that the guest is assigned", alias="roomID") + room_name: Optional[StrictStr] = Field(default=None, description="Name of the room where guest is assigned", alias="roomName") + guest_first_name: Optional[StrictStr] = Field(default=None, description="First Name", alias="guestFirstName") + guest_last_name: Optional[StrictStr] = Field(default=None, description="Last Name", alias="guestLastName") + guest_gender: Optional[StrictStr] = Field(default=None, description="Gender", alias="guestGender") + guest_email: Optional[StrictStr] = Field(default=None, description="Email Address", alias="guestEmail") + guest_phone: Optional[StrictStr] = Field(default=None, description="Phone Number", alias="guestPhone") + guest_cell_phone: Optional[StrictStr] = Field(default=None, description="Cell Phone Number", alias="guestCellPhone") + guest_address1: Optional[StrictStr] = Field(default=None, description="Address", alias="guestAddress1") + guest_address2: Optional[StrictStr] = Field(default=None, description="Address line 2", alias="guestAddress2") + guest_city: Optional[StrictStr] = Field(default=None, description="Address city", alias="guestCity") + guest_state: Optional[StrictStr] = Field(default=None, description="Address state", alias="guestState") + guest_country: Optional[StrictStr] = Field(default=None, description="Address country", alias="guestCountry") + guest_zip: Optional[StrictStr] = Field(default=None, description="Address zip code", alias="guestZip") + guest_birth_date: Optional[date] = Field(default=None, description="Guests Date of Birth", alias="guestBirthDate") + guest_document_type: Optional[StrictStr] = Field(default=None, description="Document Type", alias="guestDocumentType") + guest_document_number: Optional[StrictStr] = Field(default=None, description="Document Number", alias="guestDocumentNumber") + guest_document_issue_date: Optional[date] = Field(default=None, description="Document Issue Date", alias="guestDocumentIssueDate") + guest_document_issuing_country: Optional[StrictStr] = Field(default=None, description="Document Issuing Country", alias="guestDocumentIssuingCountry") + guest_document_expiration_date: Optional[date] = Field(default=None, description="Document Expiration Date", alias="guestDocumentExpirationDate") + start_date: Optional[datetime] = Field(default=None, description="Check-in date", alias="startDate") + end_date: Optional[datetime] = Field(default=None, description="Check-out date", alias="endDate") + custom_fields: Optional[List[GetGuestsModifiedResponseDataInnerCustomFieldsInner]] = Field(default=None, description="List of custom fields", alias="customFields") + date_modified: Optional[datetime] = Field(default=None, description="Guest modification date", alias="dateModified") + current_status: Optional[StrictStr] = Field(default=None, description="Current Status of the guest. Does not need to be equal to the status looked for (it may have had a status change outside of the filtered date range).", alias="currentStatus") + status_date: Optional[datetime] = Field(default=None, description="DateTime when the last status modification occurred.", alias="statusDate") + tax_id: Optional[StrictStr] = Field(default=None, description="Tax ID", alias="taxID") + company_tax_id: Optional[StrictStr] = Field(default=None, description="Company tax ID", alias="companyTaxID") + company_name: Optional[StrictStr] = Field(default=None, description="Company name", alias="companyName") + is_anonymized: Optional[StrictBool] = Field(default=None, description="Flag indicating the guest data was removed upon request", alias="isAnonymized") + is_deleted: Optional[StrictBool] = Field(default=None, description="Flag indicating the guest's reservation was removed", alias="isDeleted") + guest_opt_in: Optional[StrictBool] = Field(default=None, description="If guest has opted-in to marketing communication or not", alias="guestOptIn") + is_merged: Optional[StrictBool] = Field(default=None, description="Flag indicating that guest was merged", alias="isMerged") + new_guest_id: Optional[StrictStr] = Field(default=None, description="Merged guest ID", alias="newGuestID") + __properties: ClassVar[List[str]] = ["guestID", "reservationID", "subReservationID", "reservationCreatedDateTime", "roomTypeID", "roomID", "roomName", "guestFirstName", "guestLastName", "guestGender", "guestEmail", "guestPhone", "guestCellPhone", "guestAddress1", "guestAddress2", "guestCity", "guestState", "guestCountry", "guestZip", "guestBirthDate", "guestDocumentType", "guestDocumentNumber", "guestDocumentIssueDate", "guestDocumentIssuingCountry", "guestDocumentExpirationDate", "startDate", "endDate", "customFields", "dateModified", "currentStatus", "statusDate", "taxID", "companyTaxID", "companyName", "isAnonymized", "isDeleted", "guestOptIn", "isMerged", "newGuestID"] + + @field_validator('guest_gender') + def guest_gender_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['M', 'F', 'N/A', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + @field_validator('current_status') + def current_status_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['canceled', 'checked_out', 'in_house', 'not_checked_in', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGuestsByStatusResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in custom_fields (list) + _items = [] + if self.custom_fields: + for _item_custom_fields in self.custom_fields: + if _item_custom_fields: + _items.append(_item_custom_fields.to_dict()) + _dict['customFields'] = _items + # set to None if tax_id (nullable) is None + # and model_fields_set contains the field + if self.tax_id is None and "tax_id" in self.model_fields_set: + _dict['taxID'] = None + + # set to None if company_tax_id (nullable) is None + # and model_fields_set contains the field + if self.company_tax_id is None and "company_tax_id" in self.model_fields_set: + _dict['companyTaxID'] = None + + # set to None if company_name (nullable) is None + # and model_fields_set contains the field + if self.company_name is None and "company_name" in self.model_fields_set: + _dict['companyName'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGuestsByStatusResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "guestID": obj.get("guestID"), + "reservationID": obj.get("reservationID"), + "subReservationID": obj.get("subReservationID"), + "reservationCreatedDateTime": obj.get("reservationCreatedDateTime"), + "roomTypeID": obj.get("roomTypeID"), + "roomID": obj.get("roomID"), + "roomName": obj.get("roomName"), + "guestFirstName": obj.get("guestFirstName"), + "guestLastName": obj.get("guestLastName"), + "guestGender": obj.get("guestGender"), + "guestEmail": obj.get("guestEmail"), + "guestPhone": obj.get("guestPhone"), + "guestCellPhone": obj.get("guestCellPhone"), + "guestAddress1": obj.get("guestAddress1"), + "guestAddress2": obj.get("guestAddress2"), + "guestCity": obj.get("guestCity"), + "guestState": obj.get("guestState"), + "guestCountry": obj.get("guestCountry"), + "guestZip": obj.get("guestZip"), + "guestBirthDate": obj.get("guestBirthDate"), + "guestDocumentType": obj.get("guestDocumentType"), + "guestDocumentNumber": obj.get("guestDocumentNumber"), + "guestDocumentIssueDate": obj.get("guestDocumentIssueDate"), + "guestDocumentIssuingCountry": obj.get("guestDocumentIssuingCountry"), + "guestDocumentExpirationDate": obj.get("guestDocumentExpirationDate"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "customFields": [GetGuestsModifiedResponseDataInnerCustomFieldsInner.from_dict(_item) for _item in obj["customFields"]] if obj.get("customFields") is not None else None, + "dateModified": obj.get("dateModified"), + "currentStatus": obj.get("currentStatus"), + "statusDate": obj.get("statusDate"), + "taxID": obj.get("taxID"), + "companyTaxID": obj.get("companyTaxID"), + "companyName": obj.get("companyName"), + "isAnonymized": obj.get("isAnonymized"), + "isDeleted": obj.get("isDeleted"), + "guestOptIn": obj.get("guestOptIn"), + "isMerged": obj.get("isMerged"), + "newGuestID": obj.get("newGuestID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_guests_modified_response.py b/cloudbeds_pms_v1_3/models/get_guests_modified_response.py new file mode 100644 index 0000000..1a612b6 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guests_modified_response.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner import GetGuestsModifiedResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetGuestsModifiedResponse(BaseModel): + """ + GetGuestsModifiedResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetGuestsModifiedResponseDataInner]] = Field(default=None, description="Details for the guest linked to the property") + count: Optional[StrictInt] = Field(default=None, description="Number of results returned") + total: Optional[StrictInt] = Field(default=None, description="Total number of results") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "count", "total", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGuestsModifiedResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGuestsModifiedResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetGuestsModifiedResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "count": obj.get("count"), + "total": obj.get("total"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_guests_modified_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_guests_modified_response_data_inner.py new file mode 100644 index 0000000..4f30977 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guests_modified_response_data_inner.py @@ -0,0 +1,195 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date, datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner import GetGuestsModifiedResponseDataInnerCustomFieldsInner +from typing import Optional, Set +from typing_extensions import Self + +class GetGuestsModifiedResponseDataInner(BaseModel): + """ + GetGuestsModifiedResponseDataInner + """ # noqa: E501 + guest_id: Optional[StrictStr] = Field(default=None, description="Guest ID", alias="guestID") + reservation_id: Optional[StrictStr] = Field(default=None, description="Reservation's unique identifier", alias="reservationID") + room_type_id: Optional[StrictStr] = Field(default=None, description="Room Type ID that the guest is assigned", alias="roomTypeID") + room_id: Optional[StrictStr] = Field(default=None, description="Room ID that the guest is assigned", alias="roomID") + room_name: Optional[StrictStr] = Field(default=None, description="Name of the room where guest is assigned", alias="roomName") + guest_first_name: Optional[StrictStr] = Field(default=None, description="First Name", alias="guestFirstName") + guest_last_name: Optional[StrictStr] = Field(default=None, description="Last Name", alias="guestLastName") + guest_gender: Optional[StrictStr] = Field(default=None, alias="guestGender") + guest_email: Optional[StrictStr] = Field(default=None, description="Email Address", alias="guestEmail") + guest_phone: Optional[StrictStr] = Field(default=None, description="Phone Number", alias="guestPhone") + guest_cell_phone: Optional[StrictStr] = Field(default=None, description="Cell Phone Number", alias="guestCellPhone") + guest_address1: Optional[StrictStr] = Field(default=None, description="Address", alias="guestAddress1") + guest_address2: Optional[StrictStr] = Field(default=None, description="Address line 2", alias="guestAddress2") + guest_city: Optional[StrictStr] = Field(default=None, description="Address city", alias="guestCity") + guest_state: Optional[StrictStr] = Field(default=None, description="Address state", alias="guestState") + guest_country: Optional[StrictStr] = Field(default=None, description="Address country", alias="guestCountry") + guest_zip: Optional[StrictStr] = Field(default=None, description="Address zip code", alias="guestZip") + guest_birth_date: Optional[date] = Field(default=None, description="Guests Date of Birth", alias="guestBirthDate") + guest_document_type: Optional[StrictStr] = Field(default=None, description="Document Type", alias="guestDocumentType") + guest_document_number: Optional[StrictStr] = Field(default=None, description="Document Number", alias="guestDocumentNumber") + guest_document_issue_date: Optional[date] = Field(default=None, description="Document Issue Date", alias="guestDocumentIssueDate") + guest_document_issuing_country: Optional[StrictStr] = Field(default=None, description="Document Issuing Country", alias="guestDocumentIssuingCountry") + guest_document_expiration_date: Optional[date] = Field(default=None, description="Document Expiration Date", alias="guestDocumentExpirationDate") + start_date: Optional[datetime] = Field(default=None, description="Check-in date", alias="startDate") + end_date: Optional[datetime] = Field(default=None, description="Check-out date", alias="endDate") + guest_requirements: Optional[Dict[str, Any]] = Field(default=None, description="Guest requirements data. Only included if `includeGuestRequirements=true`.", alias="guestRequirements") + custom_fields: Optional[List[GetGuestsModifiedResponseDataInnerCustomFieldsInner]] = Field(default=None, description="List of custom fields", alias="customFields") + date_modified: Optional[datetime] = Field(default=None, description="Guest modification date", alias="dateModified") + tax_id: Optional[StrictStr] = Field(default=None, description="Tax ID", alias="taxID") + company_tax_id: Optional[StrictStr] = Field(default=None, description="Company tax ID", alias="companyTaxID") + company_name: Optional[StrictStr] = Field(default=None, description="Company name", alias="companyName") + is_anonymized: Optional[StrictBool] = Field(default=None, description="Flag indicating the guest data was removed upon request", alias="isAnonymized") + guest_opt_in: Optional[StrictBool] = Field(default=None, description="If guest has opted-in to marketing communication or not", alias="guestOptIn") + is_merged: Optional[StrictBool] = Field(default=None, description="Flag indicating that guest was merged", alias="isMerged") + new_guest_id: Optional[StrictStr] = Field(default=None, description="Merged guest ID", alias="newGuestID") + __properties: ClassVar[List[str]] = ["guestID", "reservationID", "roomTypeID", "roomID", "roomName", "guestFirstName", "guestLastName", "guestGender", "guestEmail", "guestPhone", "guestCellPhone", "guestAddress1", "guestAddress2", "guestCity", "guestState", "guestCountry", "guestZip", "guestBirthDate", "guestDocumentType", "guestDocumentNumber", "guestDocumentIssueDate", "guestDocumentIssuingCountry", "guestDocumentExpirationDate", "startDate", "endDate", "guestRequirements", "customFields", "dateModified", "taxID", "companyTaxID", "companyName", "isAnonymized", "guestOptIn", "isMerged", "newGuestID"] + + @field_validator('guest_gender') + def guest_gender_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['M', 'F', 'N/A', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGuestsModifiedResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in custom_fields (list) + _items = [] + if self.custom_fields: + for _item_custom_fields in self.custom_fields: + if _item_custom_fields: + _items.append(_item_custom_fields.to_dict()) + _dict['customFields'] = _items + # set to None if guest_requirements (nullable) is None + # and model_fields_set contains the field + if self.guest_requirements is None and "guest_requirements" in self.model_fields_set: + _dict['guestRequirements'] = None + + # set to None if tax_id (nullable) is None + # and model_fields_set contains the field + if self.tax_id is None and "tax_id" in self.model_fields_set: + _dict['taxID'] = None + + # set to None if company_tax_id (nullable) is None + # and model_fields_set contains the field + if self.company_tax_id is None and "company_tax_id" in self.model_fields_set: + _dict['companyTaxID'] = None + + # set to None if company_name (nullable) is None + # and model_fields_set contains the field + if self.company_name is None and "company_name" in self.model_fields_set: + _dict['companyName'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGuestsModifiedResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "guestID": obj.get("guestID"), + "reservationID": obj.get("reservationID"), + "roomTypeID": obj.get("roomTypeID"), + "roomID": obj.get("roomID"), + "roomName": obj.get("roomName"), + "guestFirstName": obj.get("guestFirstName"), + "guestLastName": obj.get("guestLastName"), + "guestGender": obj.get("guestGender"), + "guestEmail": obj.get("guestEmail"), + "guestPhone": obj.get("guestPhone"), + "guestCellPhone": obj.get("guestCellPhone"), + "guestAddress1": obj.get("guestAddress1"), + "guestAddress2": obj.get("guestAddress2"), + "guestCity": obj.get("guestCity"), + "guestState": obj.get("guestState"), + "guestCountry": obj.get("guestCountry"), + "guestZip": obj.get("guestZip"), + "guestBirthDate": obj.get("guestBirthDate"), + "guestDocumentType": obj.get("guestDocumentType"), + "guestDocumentNumber": obj.get("guestDocumentNumber"), + "guestDocumentIssueDate": obj.get("guestDocumentIssueDate"), + "guestDocumentIssuingCountry": obj.get("guestDocumentIssuingCountry"), + "guestDocumentExpirationDate": obj.get("guestDocumentExpirationDate"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "guestRequirements": obj.get("guestRequirements"), + "customFields": [GetGuestsModifiedResponseDataInnerCustomFieldsInner.from_dict(_item) for _item in obj["customFields"]] if obj.get("customFields") is not None else None, + "dateModified": obj.get("dateModified"), + "taxID": obj.get("taxID"), + "companyTaxID": obj.get("companyTaxID"), + "companyName": obj.get("companyName"), + "isAnonymized": obj.get("isAnonymized"), + "guestOptIn": obj.get("guestOptIn"), + "isMerged": obj.get("isMerged"), + "newGuestID": obj.get("newGuestID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_guests_modified_response_data_inner_custom_fields_inner.py b/cloudbeds_pms_v1_3/models/get_guests_modified_response_data_inner_custom_fields_inner.py new file mode 100644 index 0000000..922a564 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_guests_modified_response_data_inner_custom_fields_inner.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetGuestsModifiedResponseDataInnerCustomFieldsInner(BaseModel): + """ + GetGuestsModifiedResponseDataInnerCustomFieldsInner + """ # noqa: E501 + custom_field_name: Optional[StrictStr] = Field(default=None, description="Custom Field Name", alias="customFieldName") + custom_field_value: Optional[StrictStr] = Field(default=None, description="Custom Field Value", alias="customFieldValue") + __properties: ClassVar[List[str]] = ["customFieldName", "customFieldValue"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGuestsModifiedResponseDataInnerCustomFieldsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if custom_field_name (nullable) is None + # and model_fields_set contains the field + if self.custom_field_name is None and "custom_field_name" in self.model_fields_set: + _dict['customFieldName'] = None + + # set to None if custom_field_value (nullable) is None + # and model_fields_set contains the field + if self.custom_field_value is None and "custom_field_value" in self.model_fields_set: + _dict['customFieldValue'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGuestsModifiedResponseDataInnerCustomFieldsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "customFieldName": obj.get("customFieldName"), + "customFieldValue": obj.get("customFieldValue") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_hotel_details_response.py b/cloudbeds_pms_v1_3/models/get_hotel_details_response.py new file mode 100644 index 0000000..e0dfa79 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_hotel_details_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data import GetHotelDetailsResponseData +from typing import Optional, Set +from typing_extensions import Self + +class GetHotelDetailsResponse(BaseModel): + """ + GetHotelDetailsResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[GetHotelDetailsResponseData] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetHotelDetailsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetHotelDetailsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": GetHotelDetailsResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_hotel_details_response_data.py b/cloudbeds_pms_v1_3/models/get_hotel_details_response_data.py new file mode 100644 index 0000000..0ff8ae9 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_hotel_details_response_data.py @@ -0,0 +1,146 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_address import GetHotelDetailsResponseDataPropertyAddress +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_currency import GetHotelDetailsResponseDataPropertyCurrency +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_image_inner import GetHotelDetailsResponseDataPropertyImageInner +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_policy import GetHotelDetailsResponseDataPropertyPolicy +from typing import Optional, Set +from typing_extensions import Self + +class GetHotelDetailsResponseData(BaseModel): + """ + Information about the hotel + """ # noqa: E501 + property_id: Optional[StrictStr] = Field(default=None, description="Property ID", alias="propertyID") + organization_id: Optional[StrictStr] = Field(default=None, description="Organization ID", alias="organizationID") + property_name: Optional[StrictStr] = Field(default=None, description="Property name", alias="propertyName") + property_type: Optional[StrictStr] = Field(default=None, description="The type of property", alias="propertyType") + property_image: Optional[List[GetHotelDetailsResponseDataPropertyImageInner]] = Field(default=None, description="Property images details", alias="propertyImage") + property_description: Optional[StrictStr] = Field(default=None, description="Property description", alias="propertyDescription") + property_currency: Optional[GetHotelDetailsResponseDataPropertyCurrency] = Field(default=None, alias="propertyCurrency") + property_primary_language: Optional[StrictStr] = Field(default=None, description="Property primary language", alias="propertyPrimaryLanguage") + property_additional_photos: Optional[List[GetHotelDetailsResponseDataPropertyImageInner]] = Field(default=None, description="Property additional photos", alias="propertyAdditionalPhotos") + property_phone: Optional[StrictStr] = Field(default=None, description="Property phone number", alias="propertyPhone") + property_email: Optional[StrictStr] = Field(default=None, description="Property main email address", alias="propertyEmail") + property_address: Optional[GetHotelDetailsResponseDataPropertyAddress] = Field(default=None, alias="propertyAddress") + property_policy: Optional[GetHotelDetailsResponseDataPropertyPolicy] = Field(default=None, alias="propertyPolicy") + property_amenities: Optional[List[StrictStr]] = Field(default=None, description="List of property amenities", alias="propertyAmenities") + tax_id: Optional[StrictStr] = Field(default=None, description="Tax ID number", alias="taxID") + tax_id2: Optional[StrictStr] = Field(default=None, description="Second Tax ID number", alias="taxID2") + company_legal_name: Optional[StrictStr] = Field(default=None, description="Legal company name", alias="companyLegalName") + __properties: ClassVar[List[str]] = ["propertyID", "organizationID", "propertyName", "propertyType", "propertyImage", "propertyDescription", "propertyCurrency", "propertyPrimaryLanguage", "propertyAdditionalPhotos", "propertyPhone", "propertyEmail", "propertyAddress", "propertyPolicy", "propertyAmenities", "taxID", "taxID2", "companyLegalName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetHotelDetailsResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in property_image (list) + _items = [] + if self.property_image: + for _item_property_image in self.property_image: + if _item_property_image: + _items.append(_item_property_image.to_dict()) + _dict['propertyImage'] = _items + # override the default output from pydantic by calling `to_dict()` of property_currency + if self.property_currency: + _dict['propertyCurrency'] = self.property_currency.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in property_additional_photos (list) + _items = [] + if self.property_additional_photos: + for _item_property_additional_photos in self.property_additional_photos: + if _item_property_additional_photos: + _items.append(_item_property_additional_photos.to_dict()) + _dict['propertyAdditionalPhotos'] = _items + # override the default output from pydantic by calling `to_dict()` of property_address + if self.property_address: + _dict['propertyAddress'] = self.property_address.to_dict() + # override the default output from pydantic by calling `to_dict()` of property_policy + if self.property_policy: + _dict['propertyPolicy'] = self.property_policy.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetHotelDetailsResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyID": obj.get("propertyID"), + "organizationID": obj.get("organizationID"), + "propertyName": obj.get("propertyName"), + "propertyType": obj.get("propertyType"), + "propertyImage": [GetHotelDetailsResponseDataPropertyImageInner.from_dict(_item) for _item in obj["propertyImage"]] if obj.get("propertyImage") is not None else None, + "propertyDescription": obj.get("propertyDescription"), + "propertyCurrency": GetHotelDetailsResponseDataPropertyCurrency.from_dict(obj["propertyCurrency"]) if obj.get("propertyCurrency") is not None else None, + "propertyPrimaryLanguage": obj.get("propertyPrimaryLanguage"), + "propertyAdditionalPhotos": [GetHotelDetailsResponseDataPropertyImageInner.from_dict(_item) for _item in obj["propertyAdditionalPhotos"]] if obj.get("propertyAdditionalPhotos") is not None else None, + "propertyPhone": obj.get("propertyPhone"), + "propertyEmail": obj.get("propertyEmail"), + "propertyAddress": GetHotelDetailsResponseDataPropertyAddress.from_dict(obj["propertyAddress"]) if obj.get("propertyAddress") is not None else None, + "propertyPolicy": GetHotelDetailsResponseDataPropertyPolicy.from_dict(obj["propertyPolicy"]) if obj.get("propertyPolicy") is not None else None, + "propertyAmenities": obj.get("propertyAmenities"), + "taxID": obj.get("taxID"), + "taxID2": obj.get("taxID2"), + "companyLegalName": obj.get("companyLegalName") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_hotel_details_response_data_property_address.py b/cloudbeds_pms_v1_3/models/get_hotel_details_response_data_property_address.py new file mode 100644 index 0000000..cdbc879 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_hotel_details_response_data_property_address.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetHotelDetailsResponseDataPropertyAddress(BaseModel): + """ + + """ # noqa: E501 + property_address1: Optional[StrictStr] = Field(default=None, alias="propertyAddress1") + property_address2: Optional[StrictStr] = Field(default=None, alias="propertyAddress2") + property_city: Optional[StrictStr] = Field(default=None, alias="propertyCity") + property_state: Optional[StrictStr] = Field(default=None, alias="propertyState") + property_zip: Optional[StrictStr] = Field(default=None, alias="propertyZip") + property_country: Optional[StrictStr] = Field(default=None, alias="propertyCountry") + property_latitude: Optional[StrictStr] = Field(default=None, alias="propertyLatitude") + property_longitude: Optional[StrictStr] = Field(default=None, alias="propertyLongitude") + __properties: ClassVar[List[str]] = ["propertyAddress1", "propertyAddress2", "propertyCity", "propertyState", "propertyZip", "propertyCountry", "propertyLatitude", "propertyLongitude"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetHotelDetailsResponseDataPropertyAddress from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetHotelDetailsResponseDataPropertyAddress from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyAddress1": obj.get("propertyAddress1"), + "propertyAddress2": obj.get("propertyAddress2"), + "propertyCity": obj.get("propertyCity"), + "propertyState": obj.get("propertyState"), + "propertyZip": obj.get("propertyZip"), + "propertyCountry": obj.get("propertyCountry"), + "propertyLatitude": obj.get("propertyLatitude"), + "propertyLongitude": obj.get("propertyLongitude") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_hotel_details_response_data_property_currency.py b/cloudbeds_pms_v1_3/models/get_hotel_details_response_data_property_currency.py new file mode 100644 index 0000000..f1fb574 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_hotel_details_response_data_property_currency.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetHotelDetailsResponseDataPropertyCurrency(BaseModel): + """ + Currency used by the property + """ # noqa: E501 + currency_code: Optional[StrictStr] = Field(default=None, description="Currency code", alias="currencyCode") + currency_symbol: Optional[StrictStr] = Field(default=None, description="Currency symbol", alias="currencySymbol") + currency_position: Optional[StrictStr] = Field(default=None, description="Currency position", alias="currencyPosition") + currency_decimal_separator: Optional[StrictStr] = Field(default=None, description="Currency decimal separator", alias="currencyDecimalSeparator") + currency_thousands_separator: Optional[StrictStr] = Field(default=None, description="Currency thousands separator", alias="currencyThousandsSeparator") + __properties: ClassVar[List[str]] = ["currencyCode", "currencySymbol", "currencyPosition", "currencyDecimalSeparator", "currencyThousandsSeparator"] + + @field_validator('currency_position') + def currency_position_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['before', 'after', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetHotelDetailsResponseDataPropertyCurrency from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetHotelDetailsResponseDataPropertyCurrency from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "currencyCode": obj.get("currencyCode"), + "currencySymbol": obj.get("currencySymbol"), + "currencyPosition": obj.get("currencyPosition"), + "currencyDecimalSeparator": obj.get("currencyDecimalSeparator"), + "currencyThousandsSeparator": obj.get("currencyThousandsSeparator") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_hotel_details_response_data_property_image_inner.py b/cloudbeds_pms_v1_3/models/get_hotel_details_response_data_property_image_inner.py new file mode 100644 index 0000000..720d2bd --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_hotel_details_response_data_property_image_inner.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetHotelDetailsResponseDataPropertyImageInner(BaseModel): + """ + GetHotelDetailsResponseDataPropertyImageInner + """ # noqa: E501 + thumb: Optional[StrictStr] = Field(default=None, description="Thumbnail URL") + image: Optional[StrictStr] = Field(default=None, description="Full Image URL") + __properties: ClassVar[List[str]] = ["thumb", "image"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetHotelDetailsResponseDataPropertyImageInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetHotelDetailsResponseDataPropertyImageInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "thumb": obj.get("thumb"), + "image": obj.get("image") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_hotel_details_response_data_property_policy.py b/cloudbeds_pms_v1_3/models/get_hotel_details_response_data_property_policy.py new file mode 100644 index 0000000..28a3e8c --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_hotel_details_response_data_property_policy.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetHotelDetailsResponseDataPropertyPolicy(BaseModel): + """ + + """ # noqa: E501 + property_check_in_time: Optional[StrictStr] = Field(default=None, alias="propertyCheckInTime") + property_check_out_time: Optional[StrictStr] = Field(default=None, alias="propertyCheckOutTime") + property_late_check_out_allowed: Optional[StrictBool] = Field(default=None, alias="propertyLateCheckOutAllowed") + property_late_check_out_type: Optional[StrictStr] = Field(default=None, description="If the property accepts late check-out, defines if the value is fixed, or a percentage of the daily rate", alias="propertyLateCheckOutType") + property_late_check_out_value: Optional[StrictStr] = Field(default=None, description="The fixed value, or percentage of the daily rate, to be charged on a late check-out", alias="propertyLateCheckOutValue") + property_terms_and_conditions: Optional[StrictStr] = Field(default=None, description="Text describing the terms and conditions to be displayed to guest", alias="propertyTermsAndConditions") + property_full_payment_before_checkin: Optional[StrictBool] = Field(default=None, description="If the property requires the full payment amount of the reservation to be collected prior to check-in", alias="propertyFullPaymentBeforeCheckin") + __properties: ClassVar[List[str]] = ["propertyCheckInTime", "propertyCheckOutTime", "propertyLateCheckOutAllowed", "propertyLateCheckOutType", "propertyLateCheckOutValue", "propertyTermsAndConditions", "propertyFullPaymentBeforeCheckin"] + + @field_validator('property_late_check_out_type') + def property_late_check_out_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['value', 'percent', 'fixed', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetHotelDetailsResponseDataPropertyPolicy from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetHotelDetailsResponseDataPropertyPolicy from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyCheckInTime": obj.get("propertyCheckInTime"), + "propertyCheckOutTime": obj.get("propertyCheckOutTime"), + "propertyLateCheckOutAllowed": obj.get("propertyLateCheckOutAllowed"), + "propertyLateCheckOutType": obj.get("propertyLateCheckOutType"), + "propertyLateCheckOutValue": obj.get("propertyLateCheckOutValue"), + "propertyTermsAndConditions": obj.get("propertyTermsAndConditions"), + "propertyFullPaymentBeforeCheckin": obj.get("propertyFullPaymentBeforeCheckin") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_hotels_response.py b/cloudbeds_pms_v1_3/models/get_hotels_response.py new file mode 100644 index 0000000..9a36823 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_hotels_response.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_hotels_response_data_inner import GetHotelsResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetHotelsResponse(BaseModel): + """ + GetHotelsResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetHotelsResponseDataInner]] = Field(default=None, description="Information about the hotels") + count: Optional[StrictInt] = Field(default=None, description="Number of results in this page") + total: Optional[StrictInt] = Field(default=None, description="Total number of results") + __properties: ClassVar[List[str]] = ["success", "data", "count", "total"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetHotelsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetHotelsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetHotelsResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "count": obj.get("count"), + "total": obj.get("total") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_hotels_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_hotels_response_data_inner.py new file mode 100644 index 0000000..6c57dfa --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_hotels_response_data_inner.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_hotels_response_data_inner_property_currency_inner import GetHotelsResponseDataInnerPropertyCurrencyInner +from typing import Optional, Set +from typing_extensions import Self + +class GetHotelsResponseDataInner(BaseModel): + """ + GetHotelsResponseDataInner + """ # noqa: E501 + property_id: Optional[StrictStr] = Field(default=None, description="Property ID", alias="propertyID") + organization_id: Optional[StrictStr] = Field(default=None, description="Organization ID", alias="organizationID") + property_name: Optional[StrictStr] = Field(default=None, description="Property name", alias="propertyName") + property_image: Optional[StrictStr] = Field(default=None, description="Property image URL", alias="propertyImage") + property_description: Optional[StrictStr] = Field(default=None, description="Property description", alias="propertyDescription") + property_timezone: Optional[StrictStr] = Field(default=None, description="Property Timezone", alias="propertyTimezone") + property_currency: Optional[List[GetHotelsResponseDataInnerPropertyCurrencyInner]] = Field(default=None, description="Currency used by the property", alias="propertyCurrency") + __properties: ClassVar[List[str]] = ["propertyID", "organizationID", "propertyName", "propertyImage", "propertyDescription", "propertyTimezone", "propertyCurrency"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetHotelsResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in property_currency (list) + _items = [] + if self.property_currency: + for _item_property_currency in self.property_currency: + if _item_property_currency: + _items.append(_item_property_currency.to_dict()) + _dict['propertyCurrency'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetHotelsResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyID": obj.get("propertyID"), + "organizationID": obj.get("organizationID"), + "propertyName": obj.get("propertyName"), + "propertyImage": obj.get("propertyImage"), + "propertyDescription": obj.get("propertyDescription"), + "propertyTimezone": obj.get("propertyTimezone"), + "propertyCurrency": [GetHotelsResponseDataInnerPropertyCurrencyInner.from_dict(_item) for _item in obj["propertyCurrency"]] if obj.get("propertyCurrency") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_hotels_response_data_inner_property_currency_inner.py b/cloudbeds_pms_v1_3/models/get_hotels_response_data_inner_property_currency_inner.py new file mode 100644 index 0000000..d1aa81a --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_hotels_response_data_inner_property_currency_inner.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetHotelsResponseDataInnerPropertyCurrencyInner(BaseModel): + """ + GetHotelsResponseDataInnerPropertyCurrencyInner + """ # noqa: E501 + currency_code: Optional[StrictStr] = Field(default=None, description="Currency code", alias="currencyCode") + currency_symbol: Optional[StrictStr] = Field(default=None, description="Currency symbol", alias="currencySymbol") + currency_position: Optional[StrictStr] = Field(default=None, description="Currency position", alias="currencyPosition") + __properties: ClassVar[List[str]] = ["currencyCode", "currencySymbol", "currencyPosition"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetHotelsResponseDataInnerPropertyCurrencyInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetHotelsResponseDataInnerPropertyCurrencyInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "currencyCode": obj.get("currencyCode"), + "currencySymbol": obj.get("currencySymbol"), + "currencyPosition": obj.get("currencyPosition") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_house_account_list_response.py b/cloudbeds_pms_v1_3/models/get_house_account_list_response.py new file mode 100644 index 0000000..3c4bf88 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_house_account_list_response.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_house_account_list_response_data_inner import GetHouseAccountListResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetHouseAccountListResponse(BaseModel): + """ + GetHouseAccountListResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetHouseAccountListResponseDataInner]] = Field(default=None, description="Details for the house accounts") + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetHouseAccountListResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetHouseAccountListResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetHouseAccountListResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_house_account_list_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_house_account_list_response_data_inner.py new file mode 100644 index 0000000..0fe5574 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_house_account_list_response_data_inner.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetHouseAccountListResponseDataInner(BaseModel): + """ + GetHouseAccountListResponseDataInner + """ # noqa: E501 + account_id: Optional[StrictStr] = Field(default=None, description="House Account ID", alias="accountID") + property_id: Optional[StrictStr] = Field(default=None, description="Property ID", alias="propertyID") + account_name: Optional[StrictStr] = Field(default=None, description="House Account name", alias="accountName") + account_status: Optional[StrictStr] = Field(default=None, description="House Account status", alias="accountStatus") + is_private: Optional[StrictBool] = Field(default=None, description="Whether House Account is set to private or not (if true \"userName\" will be specified)", alias="isPrivate") + user_name: Optional[StrictStr] = Field(default=None, description="Owner Name of private House Account", alias="userName") + __properties: ClassVar[List[str]] = ["accountID", "propertyID", "accountName", "accountStatus", "isPrivate", "userName"] + + @field_validator('account_status') + def account_status_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['open', 'closed', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetHouseAccountListResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetHouseAccountListResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accountID": obj.get("accountID"), + "propertyID": obj.get("propertyID"), + "accountName": obj.get("accountName"), + "accountStatus": obj.get("accountStatus"), + "isPrivate": obj.get("isPrivate"), + "userName": obj.get("userName") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_housekeepers_response.py b/cloudbeds_pms_v1_3/models/get_housekeepers_response.py new file mode 100644 index 0000000..791faaa --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_housekeepers_response.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_housekeepers_response_data_inner import GetHousekeepersResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetHousekeepersResponse(BaseModel): + """ + GetHousekeepersResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetHousekeepersResponseDataInner]] = None + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetHousekeepersResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetHousekeepersResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetHousekeepersResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_housekeepers_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_housekeepers_response_data_inner.py new file mode 100644 index 0000000..7c4cd08 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_housekeepers_response_data_inner.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetHousekeepersResponseDataInner(BaseModel): + """ + GetHousekeepersResponseDataInner + """ # noqa: E501 + property_id: Optional[StrictStr] = Field(default=None, description="Property ID", alias="propertyID") + housekeeper_id: Optional[StrictStr] = Field(default=None, description="Housekeeper ID", alias="housekeeperID") + name: Optional[StrictStr] = Field(default=None, description="Housekeeper Name") + __properties: ClassVar[List[str]] = ["propertyID", "housekeeperID", "name"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetHousekeepersResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetHousekeepersResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyID": obj.get("propertyID"), + "housekeeperID": obj.get("housekeeperID"), + "name": obj.get("name") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_housekeeping_status_response.py b/cloudbeds_pms_v1_3/models/get_housekeeping_status_response.py new file mode 100644 index 0000000..732134e --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_housekeeping_status_response.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_housekeeping_status_response_data_inner import GetHousekeepingStatusResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetHousekeepingStatusResponse(BaseModel): + """ + GetHousekeepingStatusResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetHousekeepingStatusResponseDataInner]] = None + count: Optional[StrictInt] = Field(default=None, description="Results in current request") + total: Optional[StrictInt] = Field(default=None, description="Total number of results for supplied parameters") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "count", "total", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetHousekeepingStatusResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetHousekeepingStatusResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetHousekeepingStatusResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "count": obj.get("count"), + "total": obj.get("total"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_housekeeping_status_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_housekeeping_status_response_data_inner.py new file mode 100644 index 0000000..ef1bbbf --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_housekeeping_status_response_data_inner.py @@ -0,0 +1,138 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetHousekeepingStatusResponseDataInner(BaseModel): + """ + GetHousekeepingStatusResponseDataInner + """ # noqa: E501 + var_date: Optional[date] = Field(default=None, description="Date for last date/time that the room condition changed", alias="date") + room_type_id: Optional[StrictStr] = Field(default=None, description="ID of the room type", alias="roomTypeID") + room_type_name: Optional[StrictStr] = Field(default=None, description="Name of the room type", alias="roomTypeName") + room_id: Optional[StrictStr] = Field(default=None, description="ID of room", alias="roomID") + room_name: Optional[StrictStr] = Field(default=None, description="Name of room", alias="roomName") + room_condition: Optional[StrictStr] = Field(default=None, description="Room cleaning condition", alias="roomCondition") + room_occupied: Optional[StrictBool] = Field(default=None, description="Flag if room currently occupied", alias="roomOccupied") + room_blocked: Optional[StrictBool] = Field(default=None, description="Flag if room is blocked", alias="roomBlocked") + frontdesk_status: Optional[StrictStr] = Field(default=None, description="The following frontdesk statuses exist:

'check-in' - There is no guest checking out, but there is a guest checking in.
'check-out' - Guest checking out today, but no guest checking in.
'stayover' - Guest is in-house, not checking out today and is staying for another night
'turnover' - Guest checking out today and another guest checking in today
'unused' - Room is not being used. There is no one there now due to check out, and no one arriving.", alias="frontdeskStatus") + housekeeper_id: Optional[StrictStr] = Field(default=None, description="ID of Housekeeper", alias="housekeeperID") + housekeeper: Optional[StrictStr] = Field(default=None, description="Housekeeper name") + do_not_disturb: Optional[StrictBool] = Field(default=None, description="Flag if room as set as \"Do Not Disturb\"", alias="doNotDisturb") + refused_service: Optional[StrictBool] = Field(default=None, description="Flag if room as set as \"Refused Service\"", alias="refusedService") + vacant_pickup: Optional[StrictBool] = Field(default=None, description="Flag if room as set as \"Vacant Pickup\"", alias="vacantPickup") + room_comments: Optional[StrictStr] = Field(default=None, description="Room comments", alias="roomComments") + __properties: ClassVar[List[str]] = ["date", "roomTypeID", "roomTypeName", "roomID", "roomName", "roomCondition", "roomOccupied", "roomBlocked", "frontdeskStatus", "housekeeperID", "housekeeper", "doNotDisturb", "refusedService", "vacantPickup", "roomComments"] + + @field_validator('room_condition') + def room_condition_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['dirty', 'clean', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + @field_validator('frontdesk_status') + def frontdesk_status_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['check-in', 'check-out', 'stayover', 'turnover', 'unused', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetHousekeepingStatusResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetHousekeepingStatusResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "date": obj.get("date"), + "roomTypeID": obj.get("roomTypeID"), + "roomTypeName": obj.get("roomTypeName"), + "roomID": obj.get("roomID"), + "roomName": obj.get("roomName"), + "roomCondition": obj.get("roomCondition"), + "roomOccupied": obj.get("roomOccupied"), + "roomBlocked": obj.get("roomBlocked"), + "frontdeskStatus": obj.get("frontdeskStatus"), + "housekeeperID": obj.get("housekeeperID"), + "housekeeper": obj.get("housekeeper"), + "doNotDisturb": obj.get("doNotDisturb"), + "refusedService": obj.get("refusedService"), + "vacantPickup": obj.get("vacantPickup"), + "roomComments": obj.get("roomComments") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_item_categories_response.py b/cloudbeds_pms_v1_3/models/get_item_categories_response.py new file mode 100644 index 0000000..bc53f1b --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_item_categories_response.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_item_categories_response_data_inner import GetItemCategoriesResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetItemCategoriesResponse(BaseModel): + """ + GetItemCategoriesResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetItemCategoriesResponseDataInner]] = Field(default=None, description="Categories details") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetItemCategoriesResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetItemCategoriesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetItemCategoriesResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_item_categories_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_item_categories_response_data_inner.py new file mode 100644 index 0000000..fae9711 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_item_categories_response_data_inner.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetItemCategoriesResponseDataInner(BaseModel): + """ + GetItemCategoriesResponseDataInner + """ # noqa: E501 + category_id: Optional[StrictStr] = Field(default=None, description="Category unique identifier", alias="categoryID") + category_name: Optional[StrictStr] = Field(default=None, description="Category name", alias="categoryName") + category_code: Optional[StrictStr] = Field(default=None, description="Category code", alias="categoryCode") + category_color: Optional[StrictStr] = Field(default=None, description="Category color (like #3b7be7)", alias="categoryColor") + __properties: ClassVar[List[str]] = ["categoryID", "categoryName", "categoryCode", "categoryColor"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetItemCategoriesResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetItemCategoriesResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "categoryID": obj.get("categoryID"), + "categoryName": obj.get("categoryName"), + "categoryCode": obj.get("categoryCode"), + "categoryColor": obj.get("categoryColor") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_item_response.py b/cloudbeds_pms_v1_3/models/get_item_response.py new file mode 100644 index 0000000..7b5c8ca --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_item_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_item_response_data import GetItemResponseData +from typing import Optional, Set +from typing_extensions import Self + +class GetItemResponse(BaseModel): + """ + GetItemResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[GetItemResponseData] = None + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetItemResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetItemResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": GetItemResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_item_response_data.py b/cloudbeds_pms_v1_3/models/get_item_response_data.py new file mode 100644 index 0000000..64d570b --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_item_response_data.py @@ -0,0 +1,209 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from cloudbeds_pms_v1_3.models.get_item_response_data_fees_inner import GetItemResponseDataFeesInner +from cloudbeds_pms_v1_3.models.get_item_response_data_taxes_inner import GetItemResponseDataTaxesInner +from typing import Optional, Set +from typing_extensions import Self + +class GetItemResponseData(BaseModel): + """ + Item details + """ # noqa: E501 + item_id: Optional[StrictStr] = Field(default=None, description="Item unique identifier", alias="itemID") + item_type: Optional[StrictStr] = Field(default=None, description="Item type", alias="itemType") + sku: Optional[StrictStr] = Field(default=None, description="Item SKU") + item_code: Optional[StrictStr] = Field(default=None, description="Item code", alias="itemCode") + name: Optional[StrictStr] = Field(default=None, description="Item name") + category_id: Optional[StrictStr] = Field(default=None, description="Item category identifier. Null if unset", alias="categoryID") + category_name: Optional[StrictStr] = Field(default=None, description="Item category name. Empty if unset", alias="categoryName") + description: Optional[StrictStr] = Field(default=None, description="Item description") + price: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Item price") + stock_inventory: Optional[StrictBool] = Field(default=None, description="Track stock inventory for this item", alias="stockInventory") + item_quantity: Optional[StrictInt] = Field(default=None, description="1 Current amount of item available", alias="itemQuantity") + reorder_threshold: Optional[StrictInt] = Field(default=None, description="1 Quantity at which to reorder item", alias="reorderThreshold") + reorder_needed: Optional[StrictBool] = Field(default=None, description="1 true - Whether item is at or below value set for reorder threshold.", alias="reorderNeeded") + stop_sell: Optional[StrictInt] = Field(default=None, description="1 Quantity at which to stop selling product.", alias="stopSell") + stop_sell_met: Optional[StrictBool] = Field(default=None, description="1 true - Whether item is at or below value set for stop-sell threshold.", alias="stopSellMet") + taxes: Optional[List[GetItemResponseDataTaxesInner]] = Field(default=None, description="2 Details of the taxes applicable") + total_taxes: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="2 Total value of the taxes", alias="totalTaxes") + fees: Optional[List[GetItemResponseDataFeesInner]] = Field(default=None, description="2 Details of the fees applicable") + total_fees: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="2 Total value of the fees", alias="totalFees") + price_without_fees_and_taxes: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="2 item price subtracting the included taxes", alias="priceWithoutFeesAndTaxes") + grand_total: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="2 item price with fees and taxes", alias="grandTotal") + __properties: ClassVar[List[str]] = ["itemID", "itemType", "sku", "itemCode", "name", "categoryID", "categoryName", "description", "price", "stockInventory", "itemQuantity", "reorderThreshold", "reorderNeeded", "stopSell", "stopSellMet", "taxes", "totalTaxes", "fees", "totalFees", "priceWithoutFeesAndTaxes", "grandTotal"] + + @field_validator('item_type') + def item_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['product', 'service', 'mealplan', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetItemResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in taxes (list) + _items = [] + if self.taxes: + for _item_taxes in self.taxes: + if _item_taxes: + _items.append(_item_taxes.to_dict()) + _dict['taxes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in fees (list) + _items = [] + if self.fees: + for _item_fees in self.fees: + if _item_fees: + _items.append(_item_fees.to_dict()) + _dict['fees'] = _items + # set to None if item_quantity (nullable) is None + # and model_fields_set contains the field + if self.item_quantity is None and "item_quantity" in self.model_fields_set: + _dict['itemQuantity'] = None + + # set to None if reorder_threshold (nullable) is None + # and model_fields_set contains the field + if self.reorder_threshold is None and "reorder_threshold" in self.model_fields_set: + _dict['reorderThreshold'] = None + + # set to None if reorder_needed (nullable) is None + # and model_fields_set contains the field + if self.reorder_needed is None and "reorder_needed" in self.model_fields_set: + _dict['reorderNeeded'] = None + + # set to None if stop_sell (nullable) is None + # and model_fields_set contains the field + if self.stop_sell is None and "stop_sell" in self.model_fields_set: + _dict['stopSell'] = None + + # set to None if stop_sell_met (nullable) is None + # and model_fields_set contains the field + if self.stop_sell_met is None and "stop_sell_met" in self.model_fields_set: + _dict['stopSellMet'] = None + + # set to None if taxes (nullable) is None + # and model_fields_set contains the field + if self.taxes is None and "taxes" in self.model_fields_set: + _dict['taxes'] = None + + # set to None if total_taxes (nullable) is None + # and model_fields_set contains the field + if self.total_taxes is None and "total_taxes" in self.model_fields_set: + _dict['totalTaxes'] = None + + # set to None if fees (nullable) is None + # and model_fields_set contains the field + if self.fees is None and "fees" in self.model_fields_set: + _dict['fees'] = None + + # set to None if total_fees (nullable) is None + # and model_fields_set contains the field + if self.total_fees is None and "total_fees" in self.model_fields_set: + _dict['totalFees'] = None + + # set to None if price_without_fees_and_taxes (nullable) is None + # and model_fields_set contains the field + if self.price_without_fees_and_taxes is None and "price_without_fees_and_taxes" in self.model_fields_set: + _dict['priceWithoutFeesAndTaxes'] = None + + # set to None if grand_total (nullable) is None + # and model_fields_set contains the field + if self.grand_total is None and "grand_total" in self.model_fields_set: + _dict['grandTotal'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetItemResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "itemID": obj.get("itemID"), + "itemType": obj.get("itemType"), + "sku": obj.get("sku"), + "itemCode": obj.get("itemCode"), + "name": obj.get("name"), + "categoryID": obj.get("categoryID"), + "categoryName": obj.get("categoryName"), + "description": obj.get("description"), + "price": obj.get("price"), + "stockInventory": obj.get("stockInventory"), + "itemQuantity": obj.get("itemQuantity"), + "reorderThreshold": obj.get("reorderThreshold"), + "reorderNeeded": obj.get("reorderNeeded"), + "stopSell": obj.get("stopSell"), + "stopSellMet": obj.get("stopSellMet"), + "taxes": [GetItemResponseDataTaxesInner.from_dict(_item) for _item in obj["taxes"]] if obj.get("taxes") is not None else None, + "totalTaxes": obj.get("totalTaxes"), + "fees": [GetItemResponseDataFeesInner.from_dict(_item) for _item in obj["fees"]] if obj.get("fees") is not None else None, + "totalFees": obj.get("totalFees"), + "priceWithoutFeesAndTaxes": obj.get("priceWithoutFeesAndTaxes"), + "grandTotal": obj.get("grandTotal") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_item_response_data_fees_inner.py b/cloudbeds_pms_v1_3/models/get_item_response_data_fees_inner.py new file mode 100644 index 0000000..e0adb7f --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_item_response_data_fees_inner.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GetItemResponseDataFeesInner(BaseModel): + """ + GetItemResponseDataFeesInner + """ # noqa: E501 + fee_name: Optional[StrictStr] = Field(default=None, description="2 Name of the fee", alias="feeName") + fee_value: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="2 Value of the fee", alias="feeValue") + __properties: ClassVar[List[str]] = ["feeName", "feeValue"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetItemResponseDataFeesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if fee_name (nullable) is None + # and model_fields_set contains the field + if self.fee_name is None and "fee_name" in self.model_fields_set: + _dict['feeName'] = None + + # set to None if fee_value (nullable) is None + # and model_fields_set contains the field + if self.fee_value is None and "fee_value" in self.model_fields_set: + _dict['feeValue'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetItemResponseDataFeesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "feeName": obj.get("feeName"), + "feeValue": obj.get("feeValue") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_item_response_data_taxes_inner.py b/cloudbeds_pms_v1_3/models/get_item_response_data_taxes_inner.py new file mode 100644 index 0000000..1d726ea --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_item_response_data_taxes_inner.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GetItemResponseDataTaxesInner(BaseModel): + """ + GetItemResponseDataTaxesInner + """ # noqa: E501 + tax_name: Optional[StrictStr] = Field(default=None, description="2 Name of the tax", alias="taxName") + tax_value: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="2 Value of the tax", alias="taxValue") + __properties: ClassVar[List[str]] = ["taxName", "taxValue"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetItemResponseDataTaxesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if tax_name (nullable) is None + # and model_fields_set contains the field + if self.tax_name is None and "tax_name" in self.model_fields_set: + _dict['taxName'] = None + + # set to None if tax_value (nullable) is None + # and model_fields_set contains the field + if self.tax_value is None and "tax_value" in self.model_fields_set: + _dict['taxValue'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetItemResponseDataTaxesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "taxName": obj.get("taxName"), + "taxValue": obj.get("taxValue") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_items_response.py b/cloudbeds_pms_v1_3/models/get_items_response.py new file mode 100644 index 0000000..d5da366 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_items_response.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_items_response_data_inner import GetItemsResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetItemsResponse(BaseModel): + """ + GetItemsResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetItemsResponseDataInner]] = Field(default=None, description="Item details") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetItemsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetItemsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetItemsResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_items_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_items_response_data_inner.py new file mode 100644 index 0000000..2855a06 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_items_response_data_inner.py @@ -0,0 +1,209 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from cloudbeds_pms_v1_3.models.get_item_response_data_fees_inner import GetItemResponseDataFeesInner +from cloudbeds_pms_v1_3.models.get_item_response_data_taxes_inner import GetItemResponseDataTaxesInner +from typing import Optional, Set +from typing_extensions import Self + +class GetItemsResponseDataInner(BaseModel): + """ + GetItemsResponseDataInner + """ # noqa: E501 + item_id: Optional[StrictStr] = Field(default=None, description="Item unique identifier", alias="itemID") + item_type: Optional[StrictStr] = Field(default=None, description="Item type", alias="itemType") + sku: Optional[StrictStr] = Field(default=None, description="Item SKU") + item_code: Optional[StrictStr] = Field(default=None, description="Item code", alias="itemCode") + name: Optional[StrictStr] = Field(default=None, description="Item name") + category_id: Optional[StrictStr] = Field(default=None, description="Item category identifier. Null if unset", alias="categoryID") + category_name: Optional[StrictStr] = Field(default=None, description="Item category name. Empty if unset", alias="categoryName") + description: Optional[StrictStr] = Field(default=None, description="Item description") + price: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Item price") + stock_inventory: Optional[StrictBool] = Field(default=None, description="Track stock inventory for this item", alias="stockInventory") + item_quantity: Optional[StrictInt] = Field(default=None, description="1 Current amount of item available", alias="itemQuantity") + reorder_threshold: Optional[StrictInt] = Field(default=None, description="1 Quantity at which to reorder item", alias="reorderThreshold") + reorder_needed: Optional[StrictBool] = Field(default=None, description="1 true - Whether item is at or below value set for reorder threshold.", alias="reorderNeeded") + stop_sell: Optional[StrictInt] = Field(default=None, description="1 Quantity at which to stop selling product.", alias="stopSell") + stop_sell_met: Optional[StrictBool] = Field(default=None, description="1 true - Whether item is at or below value set for stop-sell threshold.", alias="stopSellMet") + taxes: Optional[List[GetItemResponseDataTaxesInner]] = Field(default=None, description="2 Details of the taxes applicable") + total_taxes: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="2 Total value of the taxes", alias="totalTaxes") + fees: Optional[List[GetItemResponseDataFeesInner]] = Field(default=None, description="2 Details of the fees applicable") + total_fees: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="2 Total value of the fees", alias="totalFees") + price_without_fees_and_taxes: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="2 item price subtracting the included taxes", alias="priceWithoutFeesAndTaxes") + grand_total: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="2 item price with fees and taxes", alias="grandTotal") + __properties: ClassVar[List[str]] = ["itemID", "itemType", "sku", "itemCode", "name", "categoryID", "categoryName", "description", "price", "stockInventory", "itemQuantity", "reorderThreshold", "reorderNeeded", "stopSell", "stopSellMet", "taxes", "totalTaxes", "fees", "totalFees", "priceWithoutFeesAndTaxes", "grandTotal"] + + @field_validator('item_type') + def item_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['product', 'service', 'mealplan', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetItemsResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in taxes (list) + _items = [] + if self.taxes: + for _item_taxes in self.taxes: + if _item_taxes: + _items.append(_item_taxes.to_dict()) + _dict['taxes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in fees (list) + _items = [] + if self.fees: + for _item_fees in self.fees: + if _item_fees: + _items.append(_item_fees.to_dict()) + _dict['fees'] = _items + # set to None if item_quantity (nullable) is None + # and model_fields_set contains the field + if self.item_quantity is None and "item_quantity" in self.model_fields_set: + _dict['itemQuantity'] = None + + # set to None if reorder_threshold (nullable) is None + # and model_fields_set contains the field + if self.reorder_threshold is None and "reorder_threshold" in self.model_fields_set: + _dict['reorderThreshold'] = None + + # set to None if reorder_needed (nullable) is None + # and model_fields_set contains the field + if self.reorder_needed is None and "reorder_needed" in self.model_fields_set: + _dict['reorderNeeded'] = None + + # set to None if stop_sell (nullable) is None + # and model_fields_set contains the field + if self.stop_sell is None and "stop_sell" in self.model_fields_set: + _dict['stopSell'] = None + + # set to None if stop_sell_met (nullable) is None + # and model_fields_set contains the field + if self.stop_sell_met is None and "stop_sell_met" in self.model_fields_set: + _dict['stopSellMet'] = None + + # set to None if taxes (nullable) is None + # and model_fields_set contains the field + if self.taxes is None and "taxes" in self.model_fields_set: + _dict['taxes'] = None + + # set to None if total_taxes (nullable) is None + # and model_fields_set contains the field + if self.total_taxes is None and "total_taxes" in self.model_fields_set: + _dict['totalTaxes'] = None + + # set to None if fees (nullable) is None + # and model_fields_set contains the field + if self.fees is None and "fees" in self.model_fields_set: + _dict['fees'] = None + + # set to None if total_fees (nullable) is None + # and model_fields_set contains the field + if self.total_fees is None and "total_fees" in self.model_fields_set: + _dict['totalFees'] = None + + # set to None if price_without_fees_and_taxes (nullable) is None + # and model_fields_set contains the field + if self.price_without_fees_and_taxes is None and "price_without_fees_and_taxes" in self.model_fields_set: + _dict['priceWithoutFeesAndTaxes'] = None + + # set to None if grand_total (nullable) is None + # and model_fields_set contains the field + if self.grand_total is None and "grand_total" in self.model_fields_set: + _dict['grandTotal'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetItemsResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "itemID": obj.get("itemID"), + "itemType": obj.get("itemType"), + "sku": obj.get("sku"), + "itemCode": obj.get("itemCode"), + "name": obj.get("name"), + "categoryID": obj.get("categoryID"), + "categoryName": obj.get("categoryName"), + "description": obj.get("description"), + "price": obj.get("price"), + "stockInventory": obj.get("stockInventory"), + "itemQuantity": obj.get("itemQuantity"), + "reorderThreshold": obj.get("reorderThreshold"), + "reorderNeeded": obj.get("reorderNeeded"), + "stopSell": obj.get("stopSell"), + "stopSellMet": obj.get("stopSellMet"), + "taxes": [GetItemResponseDataTaxesInner.from_dict(_item) for _item in obj["taxes"]] if obj.get("taxes") is not None else None, + "totalTaxes": obj.get("totalTaxes"), + "fees": [GetItemResponseDataFeesInner.from_dict(_item) for _item in obj["fees"]] if obj.get("fees") is not None else None, + "totalFees": obj.get("totalFees"), + "priceWithoutFeesAndTaxes": obj.get("priceWithoutFeesAndTaxes"), + "grandTotal": obj.get("grandTotal") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_list_allotment_block_notes_response.py b/cloudbeds_pms_v1_3/models/get_list_allotment_block_notes_response.py new file mode 100644 index 0000000..3bde412 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_list_allotment_block_notes_response.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_list_allotment_block_notes_response_data_inner import GetListAllotmentBlockNotesResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetListAllotmentBlockNotesResponse(BaseModel): + """ + GetListAllotmentBlockNotesResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetListAllotmentBlockNotesResponseDataInner]] = Field(default=None, description="List of notes") + page_size: Optional[StrictInt] = Field(default=None, description="Number of Notes per Page", alias="pageSize") + page_number: Optional[StrictInt] = Field(default=None, description="Current page", alias="pageNumber") + total: Optional[StrictInt] = Field(default=None, description="Total number of Notes") + __properties: ClassVar[List[str]] = ["success", "data", "pageSize", "pageNumber", "total"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetListAllotmentBlockNotesResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetListAllotmentBlockNotesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetListAllotmentBlockNotesResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "pageSize": obj.get("pageSize"), + "pageNumber": obj.get("pageNumber"), + "total": obj.get("total") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_list_allotment_block_notes_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_list_allotment_block_notes_response_data_inner.py new file mode 100644 index 0000000..e559463 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_list_allotment_block_notes_response_data_inner.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetListAllotmentBlockNotesResponseDataInner(BaseModel): + """ + GetListAllotmentBlockNotesResponseDataInner + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="Note ID") + message: Optional[StrictStr] = Field(default=None, description="Note contents") + created_by: Optional[StrictStr] = Field(default=None, description="User Name", alias="createdBy") + created_at: Optional[datetime] = Field(default=None, description="Creation datetime (format: Y-m-d H:i:s)", alias="createdAt") + updated_at: Optional[datetime] = Field(default=None, description="Last modification datetime (format: Y-m-d H:i:s)", alias="updatedAt") + archived_at: Optional[datetime] = Field(default=None, description="Archival datetime (format: Y-m-d H:i:s)", alias="archivedAt") + status: Optional[StrictStr] = Field(default=None, description="Note status") + __properties: ClassVar[List[str]] = ["id", "message", "createdBy", "createdAt", "updatedAt", "archivedAt", "status"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetListAllotmentBlockNotesResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if archived_at (nullable) is None + # and model_fields_set contains the field + if self.archived_at is None and "archived_at" in self.model_fields_set: + _dict['archivedAt'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetListAllotmentBlockNotesResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "message": obj.get("message"), + "createdBy": obj.get("createdBy"), + "createdAt": obj.get("createdAt"), + "updatedAt": obj.get("updatedAt"), + "archivedAt": obj.get("archivedAt"), + "status": obj.get("status") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_metadata_response.py b/cloudbeds_pms_v1_3/models/get_metadata_response.py new file mode 100644 index 0000000..91d06e2 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_metadata_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_metadata_response_data import GetMetadataResponseData +from typing import Optional, Set +from typing_extensions import Self + +class GetMetadataResponse(BaseModel): + """ + GetMetadataResponse + """ # noqa: E501 + success: Optional[StrictStr] = Field(default=None, description="True if property can be found") + data: Optional[GetMetadataResponseData] = None + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetMetadataResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetMetadataResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": GetMetadataResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_metadata_response_data.py b/cloudbeds_pms_v1_3/models/get_metadata_response_data.py new file mode 100644 index 0000000..34d888a --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_metadata_response_data.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_metadata_response_data_api import GetMetadataResponseDataApi +from typing import Optional, Set +from typing_extensions import Self + +class GetMetadataResponseData(BaseModel): + """ + + """ # noqa: E501 + api: Optional[GetMetadataResponseDataApi] = None + __properties: ClassVar[List[str]] = ["api"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetMetadataResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of api + if self.api: + _dict['api'] = self.api.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetMetadataResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "api": GetMetadataResponseDataApi.from_dict(obj["api"]) if obj.get("api") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_metadata_response_data_api.py b/cloudbeds_pms_v1_3/models/get_metadata_response_data_api.py new file mode 100644 index 0000000..585628d --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_metadata_response_data_api.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetMetadataResponseDataApi(BaseModel): + """ + The api details + """ # noqa: E501 + url: Optional[StrictStr] = Field(default=None, description="The API URL for the given property") + __properties: ClassVar[List[str]] = ["url"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetMetadataResponseDataApi from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetMetadataResponseDataApi from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "url": obj.get("url") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_packages_response.py b/cloudbeds_pms_v1_3/models/get_packages_response.py new file mode 100644 index 0000000..1ed79f5 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_packages_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_packages_response_data import GetPackagesResponseData +from typing import Optional, Set +from typing_extensions import Self + +class GetPackagesResponse(BaseModel): + """ + GetPackagesResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[GetPackagesResponseData] = None + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetPackagesResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetPackagesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": GetPackagesResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_packages_response_data.py b/cloudbeds_pms_v1_3/models/get_packages_response_data.py new file mode 100644 index 0000000..6b11130 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_packages_response_data.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetPackagesResponseData(BaseModel): + """ + + """ # noqa: E501 + package_names: Optional[List[StrictStr]] = Field(default=None, description="Array of package names", alias="packageNames") + __properties: ClassVar[List[str]] = ["packageNames"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetPackagesResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if package_names (nullable) is None + # and model_fields_set contains the field + if self.package_names is None and "package_names" in self.model_fields_set: + _dict['packageNames'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetPackagesResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "packageNames": obj.get("packageNames") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_payment_methods_response.py b/cloudbeds_pms_v1_3/models/get_payment_methods_response.py new file mode 100644 index 0000000..9f743f4 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_payment_methods_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data import GetPaymentMethodsResponseData +from typing import Optional, Set +from typing_extensions import Self + +class GetPaymentMethodsResponse(BaseModel): + """ + GetPaymentMethodsResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[GetPaymentMethodsResponseData] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetPaymentMethodsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetPaymentMethodsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": GetPaymentMethodsResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_payment_methods_response_data.py b/cloudbeds_pms_v1_3/models/get_payment_methods_response_data.py new file mode 100644 index 0000000..8c7fef6 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_payment_methods_response_data.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data_gateway import GetPaymentMethodsResponseDataGateway +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data_methods_inner import GetPaymentMethodsResponseDataMethodsInner +from typing import Optional, Set +from typing_extensions import Self + +class GetPaymentMethodsResponseData(BaseModel): + """ + + """ # noqa: E501 + property_id: Optional[StrictStr] = Field(default=None, description="Property ID", alias="propertyID") + methods: Optional[List[GetPaymentMethodsResponseDataMethodsInner]] = Field(default=None, description="List of active methods enabled") + gateway: Optional[GetPaymentMethodsResponseDataGateway] = None + __properties: ClassVar[List[str]] = ["propertyID", "methods", "gateway"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetPaymentMethodsResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in methods (list) + _items = [] + if self.methods: + for _item_methods in self.methods: + if _item_methods: + _items.append(_item_methods.to_dict()) + _dict['methods'] = _items + # override the default output from pydantic by calling `to_dict()` of gateway + if self.gateway: + _dict['gateway'] = self.gateway.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetPaymentMethodsResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyID": obj.get("propertyID"), + "methods": [GetPaymentMethodsResponseDataMethodsInner.from_dict(_item) for _item in obj["methods"]] if obj.get("methods") is not None else None, + "gateway": GetPaymentMethodsResponseDataGateway.from_dict(obj["gateway"]) if obj.get("gateway") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_payment_methods_response_data_gateway.py b/cloudbeds_pms_v1_3/models/get_payment_methods_response_data_gateway.py new file mode 100644 index 0000000..625f02f --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_payment_methods_response_data_gateway.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetPaymentMethodsResponseDataGateway(BaseModel): + """ + Payment Gateway used by property + """ # noqa: E501 + name: Optional[StrictStr] = Field(default=None, description="Gateway name") + currency: Optional[StrictStr] = Field(default=None, description="3 letters iso code") + __properties: ClassVar[List[str]] = ["name", "currency"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetPaymentMethodsResponseDataGateway from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetPaymentMethodsResponseDataGateway from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "currency": obj.get("currency") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_payment_methods_response_data_methods_inner.py b/cloudbeds_pms_v1_3/models/get_payment_methods_response_data_methods_inner.py new file mode 100644 index 0000000..2b05497 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_payment_methods_response_data_methods_inner.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data_methods_inner_card_types_inner import GetPaymentMethodsResponseDataMethodsInnerCardTypesInner +from typing import Optional, Set +from typing_extensions import Self + +class GetPaymentMethodsResponseDataMethodsInner(BaseModel): + """ + GetPaymentMethodsResponseDataMethodsInner + """ # noqa: E501 + method: Optional[StrictStr] = Field(default=None, description="Payment Method") + code: Optional[StrictStr] = Field(default=None, description="Payment Code") + name: Optional[StrictStr] = Field(default=None, description="Payment Name (in given lang)") + card_types: Optional[List[GetPaymentMethodsResponseDataMethodsInnerCardTypesInner]] = Field(default=None, description="IF type = 'credit' the enabled card types. Having the array's keys as its type and the value as its name.", alias="cardTypes") + __properties: ClassVar[List[str]] = ["method", "code", "name", "cardTypes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetPaymentMethodsResponseDataMethodsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in card_types (list) + _items = [] + if self.card_types: + for _item_card_types in self.card_types: + if _item_card_types: + _items.append(_item_card_types.to_dict()) + _dict['cardTypes'] = _items + # set to None if card_types (nullable) is None + # and model_fields_set contains the field + if self.card_types is None and "card_types" in self.model_fields_set: + _dict['cardTypes'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetPaymentMethodsResponseDataMethodsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "method": obj.get("method"), + "code": obj.get("code"), + "name": obj.get("name"), + "cardTypes": [GetPaymentMethodsResponseDataMethodsInnerCardTypesInner.from_dict(_item) for _item in obj["cardTypes"]] if obj.get("cardTypes") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_payment_methods_response_data_methods_inner_card_types_inner.py b/cloudbeds_pms_v1_3/models/get_payment_methods_response_data_methods_inner_card_types_inner.py new file mode 100644 index 0000000..da2b5ed --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_payment_methods_response_data_methods_inner_card_types_inner.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetPaymentMethodsResponseDataMethodsInnerCardTypesInner(BaseModel): + """ + GetPaymentMethodsResponseDataMethodsInnerCardTypesInner + """ # noqa: E501 + card_code: Optional[StrictStr] = Field(default=None, alias="cardCode") + card_name: Optional[StrictStr] = Field(default=None, alias="cardName") + __properties: ClassVar[List[str]] = ["cardCode", "cardName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetPaymentMethodsResponseDataMethodsInnerCardTypesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if card_code (nullable) is None + # and model_fields_set contains the field + if self.card_code is None and "card_code" in self.model_fields_set: + _dict['cardCode'] = None + + # set to None if card_name (nullable) is None + # and model_fields_set contains the field + if self.card_name is None and "card_name" in self.model_fields_set: + _dict['cardName'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetPaymentMethodsResponseDataMethodsInnerCardTypesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "cardCode": obj.get("cardCode"), + "cardName": obj.get("cardName") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_payments_capabilities_response.py b/cloudbeds_pms_v1_3/models/get_payments_capabilities_response.py new file mode 100644 index 0000000..8742c45 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_payments_capabilities_response.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_payments_capabilities_response_data_inner import GetPaymentsCapabilitiesResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetPaymentsCapabilitiesResponse(BaseModel): + """ + GetPaymentsCapabilitiesResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetPaymentsCapabilitiesResponseDataInner]] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetPaymentsCapabilitiesResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetPaymentsCapabilitiesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetPaymentsCapabilitiesResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_payments_capabilities_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_payments_capabilities_response_data_inner.py new file mode 100644 index 0000000..8b3dfbb --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_payments_capabilities_response_data_inner.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetPaymentsCapabilitiesResponseDataInner(BaseModel): + """ + GetPaymentsCapabilitiesResponseDataInner + """ # noqa: E501 + cloudbeds_payments: Optional[StrictBool] = Field(default=None, description="If Cloudbeds Payments is enabled for this property", alias="cloudbedsPayments") + terminal: Optional[StrictBool] = Field(default=None, description="If the property has an active terminal") + tap_to_pay: Optional[StrictBool] = Field(default=None, description="If tap-to-pay is enabled for the property in the backend gateway", alias="tapToPay") + gateway: Optional[StrictStr] = Field(default=None, description="The backend gateway in use for this property") + pay_by_link: Optional[StrictBool] = Field(default=None, description="If Pay-by-Link is enabled for the property", alias="payByLink") + __properties: ClassVar[List[str]] = ["cloudbedsPayments", "terminal", "tapToPay", "gateway", "payByLink"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetPaymentsCapabilitiesResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetPaymentsCapabilitiesResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "cloudbedsPayments": obj.get("cloudbedsPayments"), + "terminal": obj.get("terminal"), + "tapToPay": obj.get("tapToPay"), + "gateway": obj.get("gateway"), + "payByLink": obj.get("payByLink") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rate_jobs_response.py b/cloudbeds_pms_v1_3/models/get_rate_jobs_response.py new file mode 100644 index 0000000..fb99331 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rate_jobs_response.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_rate_jobs_response_data_inner import GetRateJobsResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetRateJobsResponse(BaseModel): + """ + GetRateJobsResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + has_next_page: Optional[StrictBool] = Field(default=None, description="Returns true if there is another page of results after this one", alias="hasNextPage") + next_page: Optional[StrictStr] = Field(default=None, description="The URL of the next page of results if there is one", alias="nextPage") + data: Optional[List[GetRateJobsResponseDataInner]] = Field(default=None, description="Job details") + __properties: ClassVar[List[str]] = ["success", "hasNextPage", "nextPage", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRateJobsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if next_page (nullable) is None + # and model_fields_set contains the field + if self.next_page is None and "next_page" in self.model_fields_set: + _dict['nextPage'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRateJobsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "hasNextPage": obj.get("hasNextPage"), + "nextPage": obj.get("nextPage"), + "data": [GetRateJobsResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rate_jobs_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_rate_jobs_response_data_inner.py new file mode 100644 index 0000000..f11675f --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rate_jobs_response_data_inner.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_rate_jobs_response_data_inner_updates_inner import GetRateJobsResponseDataInnerUpdatesInner +from typing import Optional, Set +from typing_extensions import Self + +class GetRateJobsResponseDataInner(BaseModel): + """ + GetRateJobsResponseDataInner + """ # noqa: E501 + job_reference_id: Optional[StrictStr] = Field(default=None, description="Reference ID for the job created for this update. This can be used to track success of the batch for this rate update. See getRateJobs or the rate:batch_job", alias="jobReferenceID") + date_created: Optional[date] = Field(default=None, description="Rate Job creation datetime", alias="dateCreated") + status: Optional[StrictStr] = Field(default=None, description="Status of the Rate Job. in_progress - job is processing. completed - job has completed successfully. error - there was an error with 1 or more updates requested in this job. Allowed values: in_progressgu, completed, error") + updates: Optional[List[GetRateJobsResponseDataInnerUpdatesInner]] = Field(default=None, description="Array of actions produced from this job") + __properties: ClassVar[List[str]] = ["jobReferenceID", "dateCreated", "status", "updates"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRateJobsResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in updates (list) + _items = [] + if self.updates: + for _item_updates in self.updates: + if _item_updates: + _items.append(_item_updates.to_dict()) + _dict['updates'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRateJobsResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "jobReferenceID": obj.get("jobReferenceID"), + "dateCreated": obj.get("dateCreated"), + "status": obj.get("status"), + "updates": [GetRateJobsResponseDataInnerUpdatesInner.from_dict(_item) for _item in obj["updates"]] if obj.get("updates") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rate_jobs_response_data_inner_updates_inner.py b/cloudbeds_pms_v1_3/models/get_rate_jobs_response_data_inner_updates_inner.py new file mode 100644 index 0000000..fe232d5 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rate_jobs_response_data_inner_updates_inner.py @@ -0,0 +1,145 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GetRateJobsResponseDataInnerUpdatesInner(BaseModel): + """ + GetRateJobsResponseDataInnerUpdatesInner + """ # noqa: E501 + rate_id: Optional[StrictStr] = Field(default=None, description="Rate ID for which action was taken", alias="rateID") + action: Optional[StrictStr] = Field(default=None, description="Action taken for this interval as part of this job. in_progress - interval wait for it turn. updated - interval was updated. created - new interval was created with the new date range. error - there was an error when attempting this update. Allowed values: in_progress, updated, created, error") + start_date: Optional[date] = Field(default=None, description="Interval start date", alias="startDate") + end_date: Optional[date] = Field(default=None, description="Interval end date", alias="endDate") + rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Value of rate which was updated") + max_los: Optional[StrictInt] = Field(default=None, description="Maximum length of stay for this rate", alias="maxLos") + min_los: Optional[StrictInt] = Field(default=None, description="Minimum length of stay for this rate", alias="minLos") + closed_to_arrival: Optional[StrictBool] = Field(default=None, description="If this rate is closed to arrival", alias="closedToArrival") + closed_to_departure: Optional[StrictBool] = Field(default=None, description="If this rate is closed to departure", alias="closedToDeparture") + cut_off: Optional[StrictInt] = Field(default=None, description="Cutoff for this rate", alias="cutOff") + last_minute_booking: Optional[StrictInt] = Field(default=None, description="Last minute booking for this rate", alias="lastMinuteBooking") + message: Optional[StrictStr] = Field(default=None, description="Error message") + __properties: ClassVar[List[str]] = ["rateID", "action", "startDate", "endDate", "rate", "maxLos", "minLos", "closedToArrival", "closedToDeparture", "cutOff", "lastMinuteBooking", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRateJobsResponseDataInnerUpdatesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if max_los (nullable) is None + # and model_fields_set contains the field + if self.max_los is None and "max_los" in self.model_fields_set: + _dict['maxLos'] = None + + # set to None if min_los (nullable) is None + # and model_fields_set contains the field + if self.min_los is None and "min_los" in self.model_fields_set: + _dict['minLos'] = None + + # set to None if closed_to_arrival (nullable) is None + # and model_fields_set contains the field + if self.closed_to_arrival is None and "closed_to_arrival" in self.model_fields_set: + _dict['closedToArrival'] = None + + # set to None if closed_to_departure (nullable) is None + # and model_fields_set contains the field + if self.closed_to_departure is None and "closed_to_departure" in self.model_fields_set: + _dict['closedToDeparture'] = None + + # set to None if cut_off (nullable) is None + # and model_fields_set contains the field + if self.cut_off is None and "cut_off" in self.model_fields_set: + _dict['cutOff'] = None + + # set to None if last_minute_booking (nullable) is None + # and model_fields_set contains the field + if self.last_minute_booking is None and "last_minute_booking" in self.model_fields_set: + _dict['lastMinuteBooking'] = None + + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRateJobsResponseDataInnerUpdatesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "rateID": obj.get("rateID"), + "action": obj.get("action"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "rate": obj.get("rate"), + "maxLos": obj.get("maxLos"), + "minLos": obj.get("minLos"), + "closedToArrival": obj.get("closedToArrival"), + "closedToDeparture": obj.get("closedToDeparture"), + "cutOff": obj.get("cutOff"), + "lastMinuteBooking": obj.get("lastMinuteBooking"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rate_plans_response.py b/cloudbeds_pms_v1_3/models/get_rate_plans_response.py new file mode 100644 index 0000000..b2ae46c --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rate_plans_response.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner import GetRatePlansResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetRatePlansResponse(BaseModel): + """ + GetRatePlansResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetRatePlansResponseDataInner]] = Field(default=None, description="Rates details") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRatePlansResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRatePlansResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetRatePlansResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rate_plans_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_rate_plans_response_data_inner.py new file mode 100644 index 0000000..c509bf6 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rate_plans_response_data_inner.py @@ -0,0 +1,219 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner_add_ons_inner import GetRatePlansResponseDataInnerAddOnsInner +from cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner_room_rate_detailed_inner import GetRatePlansResponseDataInnerRoomRateDetailedInner +from typing import Optional, Set +from typing_extensions import Self + +class GetRatePlansResponseDataInner(BaseModel): + """ + GetRatePlansResponseDataInner + """ # noqa: E501 + rate_id: Optional[StrictStr] = Field(default=None, description="Rate ID", alias="rateID") + is_derived: Optional[StrictBool] = Field(default=None, description="True if this rate is derived from another rate", alias="isDerived") + room_rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Rate for the room, based on the parameters provided", alias="roomRate") + total_rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Total rate for the room, based on the parameters provided. Calculated using base rates and additional costs from extra guests.", alias="totalRate") + rooms_available: Optional[StrictInt] = Field(default=None, description="Number of rooms available for the selected date", alias="roomsAvailable") + room_type_id: Optional[StrictStr] = Field(default=None, description="] room type ID (if not specified in request)", alias="roomTypeID") + room_type_name: Optional[StrictInt] = Field(default=None, description="] room type name (if not specified in request)", alias="roomTypeName") + property_id: Optional[StrictStr] = Field(default=None, description="Property ID, used if multiple properties are included in request", alias="propertyID") + rate_plan_id: Optional[StrictStr] = Field(default=None, description="ratePlanID (If rate depends on plan)", alias="ratePlanID") + rate_plan_name_public: Optional[StrictStr] = Field(default=None, description="ratePlanNamePublic", alias="ratePlanNamePublic") + rate_plan_name_private: Optional[StrictStr] = Field(default=None, description="ratePlanNamePrivate", alias="ratePlanNamePrivate") + promo_code: Optional[StrictStr] = Field(default=None, description="Promotional code when rate plan has has it", alias="promoCode") + derived_type: Optional[StrictStr] = Field(default=None, description="type of deriving (only if current rate was derived from other one).", alias="derivedType") + derived_value: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Can be positive or negative (only if current rate was derived from other one).", alias="derivedValue") + base_rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Base rate on given period", alias="baseRate") + days_of_week: Optional[List[StrictStr]] = Field(default=None, description="Returns when there is a difference between range given with startDate/endDate and days of week which rate plan applies.", alias="daysOfWeek") + add_ons: Optional[List[GetRatePlansResponseDataInnerAddOnsInner]] = Field(default=None, description="addOns information on the rates", alias="addOns") + room_rate_detailed: Optional[List[GetRatePlansResponseDataInnerRoomRateDetailedInner]] = Field(default=None, description="Detailed information on the rates, if requested", alias="roomRateDetailed") + __properties: ClassVar[List[str]] = ["rateID", "isDerived", "roomRate", "totalRate", "roomsAvailable", "roomTypeID", "roomTypeName", "propertyID", "ratePlanID", "ratePlanNamePublic", "ratePlanNamePrivate", "promoCode", "derivedType", "derivedValue", "baseRate", "daysOfWeek", "addOns", "roomRateDetailed"] + + @field_validator('derived_type') + def derived_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['fixed', 'percentage', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + @field_validator('days_of_week') + def days_of_week_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'unknown_default_open_api']) + # Map unknown values to the fallback + return [i if i in _allowed_values else 'unknown_default_open_api' for i in value] + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRatePlansResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in add_ons (list) + _items = [] + if self.add_ons: + for _item_add_ons in self.add_ons: + if _item_add_ons: + _items.append(_item_add_ons.to_dict()) + _dict['addOns'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in room_rate_detailed (list) + _items = [] + if self.room_rate_detailed: + for _item_room_rate_detailed in self.room_rate_detailed: + if _item_room_rate_detailed: + _items.append(_item_room_rate_detailed.to_dict()) + _dict['roomRateDetailed'] = _items + # set to None if room_type_id (nullable) is None + # and model_fields_set contains the field + if self.room_type_id is None and "room_type_id" in self.model_fields_set: + _dict['roomTypeID'] = None + + # set to None if room_type_name (nullable) is None + # and model_fields_set contains the field + if self.room_type_name is None and "room_type_name" in self.model_fields_set: + _dict['roomTypeName'] = None + + # set to None if property_id (nullable) is None + # and model_fields_set contains the field + if self.property_id is None and "property_id" in self.model_fields_set: + _dict['propertyID'] = None + + # set to None if rate_plan_id (nullable) is None + # and model_fields_set contains the field + if self.rate_plan_id is None and "rate_plan_id" in self.model_fields_set: + _dict['ratePlanID'] = None + + # set to None if rate_plan_name_public (nullable) is None + # and model_fields_set contains the field + if self.rate_plan_name_public is None and "rate_plan_name_public" in self.model_fields_set: + _dict['ratePlanNamePublic'] = None + + # set to None if rate_plan_name_private (nullable) is None + # and model_fields_set contains the field + if self.rate_plan_name_private is None and "rate_plan_name_private" in self.model_fields_set: + _dict['ratePlanNamePrivate'] = None + + # set to None if promo_code (nullable) is None + # and model_fields_set contains the field + if self.promo_code is None and "promo_code" in self.model_fields_set: + _dict['promoCode'] = None + + # set to None if derived_type (nullable) is None + # and model_fields_set contains the field + if self.derived_type is None and "derived_type" in self.model_fields_set: + _dict['derivedType'] = None + + # set to None if derived_value (nullable) is None + # and model_fields_set contains the field + if self.derived_value is None and "derived_value" in self.model_fields_set: + _dict['derivedValue'] = None + + # set to None if base_rate (nullable) is None + # and model_fields_set contains the field + if self.base_rate is None and "base_rate" in self.model_fields_set: + _dict['baseRate'] = None + + # set to None if days_of_week (nullable) is None + # and model_fields_set contains the field + if self.days_of_week is None and "days_of_week" in self.model_fields_set: + _dict['daysOfWeek'] = None + + # set to None if room_rate_detailed (nullable) is None + # and model_fields_set contains the field + if self.room_rate_detailed is None and "room_rate_detailed" in self.model_fields_set: + _dict['roomRateDetailed'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRatePlansResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "rateID": obj.get("rateID"), + "isDerived": obj.get("isDerived"), + "roomRate": obj.get("roomRate"), + "totalRate": obj.get("totalRate"), + "roomsAvailable": obj.get("roomsAvailable"), + "roomTypeID": obj.get("roomTypeID"), + "roomTypeName": obj.get("roomTypeName"), + "propertyID": obj.get("propertyID"), + "ratePlanID": obj.get("ratePlanID"), + "ratePlanNamePublic": obj.get("ratePlanNamePublic"), + "ratePlanNamePrivate": obj.get("ratePlanNamePrivate"), + "promoCode": obj.get("promoCode"), + "derivedType": obj.get("derivedType"), + "derivedValue": obj.get("derivedValue"), + "baseRate": obj.get("baseRate"), + "daysOfWeek": obj.get("daysOfWeek"), + "addOns": [GetRatePlansResponseDataInnerAddOnsInner.from_dict(_item) for _item in obj["addOns"]] if obj.get("addOns") is not None else None, + "roomRateDetailed": [GetRatePlansResponseDataInnerRoomRateDetailedInner.from_dict(_item) for _item in obj["roomRateDetailed"]] if obj.get("roomRateDetailed") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rate_plans_response_data_inner_add_ons_inner.py b/cloudbeds_pms_v1_3/models/get_rate_plans_response_data_inner_add_ons_inner.py new file mode 100644 index 0000000..2e11127 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rate_plans_response_data_inner_add_ons_inner.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetRatePlansResponseDataInnerAddOnsInner(BaseModel): + """ + GetRatePlansResponseDataInnerAddOnsInner + """ # noqa: E501 + add_on_id: Optional[StrictStr] = Field(default=None, description="addOnID", alias="addOnID") + add_on_name: Optional[StrictStr] = Field(default=None, description="addOnName", alias="addOnName") + item_id: Optional[StrictStr] = Field(default=None, description="itemID", alias="itemID") + item_name: Optional[StrictStr] = Field(default=None, description="itemName", alias="itemName") + __properties: ClassVar[List[str]] = ["addOnID", "addOnName", "itemID", "itemName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRatePlansResponseDataInnerAddOnsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRatePlansResponseDataInnerAddOnsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "addOnID": obj.get("addOnID"), + "addOnName": obj.get("addOnName"), + "itemID": obj.get("itemID"), + "itemName": obj.get("itemName") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rate_plans_response_data_inner_room_rate_detailed_inner.py b/cloudbeds_pms_v1_3/models/get_rate_plans_response_data_inner_room_rate_detailed_inner.py new file mode 100644 index 0000000..e0a8d59 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rate_plans_response_data_inner_room_rate_detailed_inner.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GetRatePlansResponseDataInnerRoomRateDetailedInner(BaseModel): + """ + GetRatePlansResponseDataInnerRoomRateDetailedInner + """ # noqa: E501 + var_date: Optional[date] = Field(default=None, alias="date") + rate_base: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="rate for the selected date", alias="rateBase") + total_rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Total rate for the selected date", alias="totalRate") + rooms_available: Optional[StrictInt] = Field(default=None, description="Number of rooms available for the selected date", alias="roomsAvailable") + closed_to_arrival: Optional[StrictBool] = Field(default=None, description="true if day closed to arrival", alias="closedToArrival") + closed_to_departure: Optional[StrictBool] = Field(default=None, description="true if day closed to departure", alias="closedToDeparture") + min_los: Optional[StrictInt] = Field(default=None, description="Minimum Length Of Stay", alias="minLos") + max_los: Optional[StrictInt] = Field(default=None, description="Maximum Length Of Stay", alias="maxLos") + cut_off: Optional[StrictInt] = Field(default=None, alias="cutOff") + last_minute_booking: Optional[StrictInt] = Field(default=None, alias="lastMinuteBooking") + __properties: ClassVar[List[str]] = ["date", "rateBase", "totalRate", "roomsAvailable", "closedToArrival", "closedToDeparture", "minLos", "maxLos", "cutOff", "lastMinuteBooking"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRatePlansResponseDataInnerRoomRateDetailedInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if rate_base (nullable) is None + # and model_fields_set contains the field + if self.rate_base is None and "rate_base" in self.model_fields_set: + _dict['rateBase'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRatePlansResponseDataInnerRoomRateDetailedInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "date": obj.get("date"), + "rateBase": obj.get("rateBase"), + "totalRate": obj.get("totalRate"), + "roomsAvailable": obj.get("roomsAvailable"), + "closedToArrival": obj.get("closedToArrival"), + "closedToDeparture": obj.get("closedToDeparture"), + "minLos": obj.get("minLos"), + "maxLos": obj.get("maxLos"), + "cutOff": obj.get("cutOff"), + "lastMinuteBooking": obj.get("lastMinuteBooking") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rate_response.py b/cloudbeds_pms_v1_3/models/get_rate_response.py new file mode 100644 index 0000000..6cac743 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rate_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_rate_response_data import GetRateResponseData +from typing import Optional, Set +from typing_extensions import Self + +class GetRateResponse(BaseModel): + """ + GetRateResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[GetRateResponseData] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRateResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRateResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": GetRateResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rate_response_data.py b/cloudbeds_pms_v1_3/models/get_rate_response_data.py new file mode 100644 index 0000000..cc5fd4d --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rate_response_data.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from cloudbeds_pms_v1_3.models.get_rate_response_data_room_rate_detailed_inner import GetRateResponseDataRoomRateDetailedInner +from typing import Optional, Set +from typing_extensions import Self + +class GetRateResponseData(BaseModel): + """ + Rates details + """ # noqa: E501 + rate_id: Optional[StrictStr] = Field(default=None, description="Rate ID", alias="rateID") + is_derived: Optional[StrictBool] = Field(default=None, description="This rate has been derived from another rate", alias="isDerived") + room_rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Base rate for the room, calculated based on the Room Type ID, selected dates, and promo code. This does not include additional guest charges", alias="roomRate") + total_rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Total rate for the room, which includes the base rate (roomRate) plus additional costs for extra guests (adults and children)", alias="totalRate") + rooms_available: Optional[StrictInt] = Field(default=None, description="Number of rooms available, based on the parameters provided", alias="roomsAvailable") + days_of_week: Optional[List[StrictStr]] = Field(default=None, alias="daysOfWeek") + room_rate_detailed: Optional[List[GetRateResponseDataRoomRateDetailedInner]] = Field(default=None, description="Detailed information on the rates, if requested", alias="roomRateDetailed") + __properties: ClassVar[List[str]] = ["rateID", "isDerived", "roomRate", "totalRate", "roomsAvailable", "daysOfWeek", "roomRateDetailed"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRateResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in room_rate_detailed (list) + _items = [] + if self.room_rate_detailed: + for _item_room_rate_detailed in self.room_rate_detailed: + if _item_room_rate_detailed: + _items.append(_item_room_rate_detailed.to_dict()) + _dict['roomRateDetailed'] = _items + # set to None if days_of_week (nullable) is None + # and model_fields_set contains the field + if self.days_of_week is None and "days_of_week" in self.model_fields_set: + _dict['daysOfWeek'] = None + + # set to None if room_rate_detailed (nullable) is None + # and model_fields_set contains the field + if self.room_rate_detailed is None and "room_rate_detailed" in self.model_fields_set: + _dict['roomRateDetailed'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRateResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "rateID": obj.get("rateID"), + "isDerived": obj.get("isDerived"), + "roomRate": obj.get("roomRate"), + "totalRate": obj.get("totalRate"), + "roomsAvailable": obj.get("roomsAvailable"), + "daysOfWeek": obj.get("daysOfWeek"), + "roomRateDetailed": [GetRateResponseDataRoomRateDetailedInner.from_dict(_item) for _item in obj["roomRateDetailed"]] if obj.get("roomRateDetailed") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rate_response_data_room_rate_detailed_inner.py b/cloudbeds_pms_v1_3/models/get_rate_response_data_room_rate_detailed_inner.py new file mode 100644 index 0000000..661defd --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rate_response_data_room_rate_detailed_inner.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GetRateResponseDataRoomRateDetailedInner(BaseModel): + """ + GetRateResponseDataRoomRateDetailedInner + """ # noqa: E501 + var_date: Optional[date] = Field(default=None, alias="date") + rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Base rate for the selected date") + total_rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Total rate for the selected date", alias="totalRate") + rooms_available: Optional[StrictInt] = Field(default=None, description="Number of rooms available for the selected date", alias="roomsAvailable") + closed_to_arrival: Optional[StrictBool] = Field(default=None, alias="closedToArrival") + closed_to_departure: Optional[StrictBool] = Field(default=None, alias="closedToDeparture") + min_los: Optional[StrictInt] = Field(default=None, description="Minimum Length Of Stay", alias="minLos") + max_los: Optional[StrictInt] = Field(default=None, description="Maximum Length Of Stay", alias="maxLos") + __properties: ClassVar[List[str]] = ["date", "rate", "totalRate", "roomsAvailable", "closedToArrival", "closedToDeparture", "minLos", "maxLos"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRateResponseDataRoomRateDetailedInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRateResponseDataRoomRateDetailedInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "date": obj.get("date"), + "rate": obj.get("rate"), + "totalRate": obj.get("totalRate"), + "roomsAvailable": obj.get("roomsAvailable"), + "closedToArrival": obj.get("closedToArrival"), + "closedToDeparture": obj.get("closedToDeparture"), + "minLos": obj.get("minLos"), + "maxLos": obj.get("maxLos") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_assignments_response.py b/cloudbeds_pms_v1_3/models/get_reservation_assignments_response.py new file mode 100644 index 0000000..0ebfb43 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_assignments_response.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_reservation_assignments_response_data_inner import GetReservationAssignmentsResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationAssignmentsResponse(BaseModel): + """ + GetReservationAssignmentsResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetReservationAssignmentsResponseDataInner]] = Field(default=None, description="Details for the rooms assigned on the selected date") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationAssignmentsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationAssignmentsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetReservationAssignmentsResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_assignments_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_reservation_assignments_response_data_inner.py new file mode 100644 index 0000000..65776bd --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_assignments_response_data_inner.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_reservation_assignments_response_data_inner_assigned_inner import GetReservationAssignmentsResponseDataInnerAssignedInner +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationAssignmentsResponseDataInner(BaseModel): + """ + GetReservationAssignmentsResponseDataInner + """ # noqa: E501 + guest_name: Optional[StrictStr] = Field(default=None, description="Guest Name", alias="guestName") + reservation_id: Optional[StrictStr] = Field(default=None, description="Reservation identifier, used for all query operations", alias="reservationID") + unassigned: Optional[StrictInt] = Field(default=None, description="Number of rooms unassigned") + assigned: Optional[List[GetReservationAssignmentsResponseDataInnerAssignedInner]] = Field(default=None, description="Assigned Rooms information. May not exist if no room is assigned.") + __properties: ClassVar[List[str]] = ["guestName", "reservationID", "unassigned", "assigned"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationAssignmentsResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in assigned (list) + _items = [] + if self.assigned: + for _item_assigned in self.assigned: + if _item_assigned: + _items.append(_item_assigned.to_dict()) + _dict['assigned'] = _items + # set to None if assigned (nullable) is None + # and model_fields_set contains the field + if self.assigned is None and "assigned" in self.model_fields_set: + _dict['assigned'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationAssignmentsResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "guestName": obj.get("guestName"), + "reservationID": obj.get("reservationID"), + "unassigned": obj.get("unassigned"), + "assigned": [GetReservationAssignmentsResponseDataInnerAssignedInner.from_dict(_item) for _item in obj["assigned"]] if obj.get("assigned") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_assignments_response_data_inner_assigned_inner.py b/cloudbeds_pms_v1_3/models/get_reservation_assignments_response_data_inner_assigned_inner.py new file mode 100644 index 0000000..56f2385 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_assignments_response_data_inner_assigned_inner.py @@ -0,0 +1,134 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationAssignmentsResponseDataInnerAssignedInner(BaseModel): + """ + GetReservationAssignmentsResponseDataInnerAssignedInner + """ # noqa: E501 + room_type_id: Optional[StrictStr] = Field(default=None, description="ID of the room type assigned", alias="roomTypeID") + room_type_name: Optional[StrictStr] = Field(default=None, description="Name of the room type assigned", alias="roomTypeName") + room_type_name_short: Optional[StrictStr] = Field(default=None, description="Short name of the room type assigned", alias="roomTypeNameShort") + dorm_room_name: Optional[StrictStr] = Field(default=None, description="Name of the dorm room. Used for the shared dorm beds that are organized into rooms within the same room type", alias="dormRoomName") + room_name: Optional[StrictStr] = Field(default=None, description="Name of the specific room assigned", alias="roomName") + room_id: Optional[StrictStr] = Field(default=None, description="ID of the specific room assigned", alias="roomID") + sub_reservation_id: Optional[StrictStr] = Field(default=None, description="Associated subReservation ID (specific to room)", alias="subReservationID") + __properties: ClassVar[List[str]] = ["roomTypeID", "roomTypeName", "roomTypeNameShort", "dormRoomName", "roomName", "roomID", "subReservationID"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationAssignmentsResponseDataInnerAssignedInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if room_type_id (nullable) is None + # and model_fields_set contains the field + if self.room_type_id is None and "room_type_id" in self.model_fields_set: + _dict['roomTypeID'] = None + + # set to None if room_type_name (nullable) is None + # and model_fields_set contains the field + if self.room_type_name is None and "room_type_name" in self.model_fields_set: + _dict['roomTypeName'] = None + + # set to None if room_type_name_short (nullable) is None + # and model_fields_set contains the field + if self.room_type_name_short is None and "room_type_name_short" in self.model_fields_set: + _dict['roomTypeNameShort'] = None + + # set to None if dorm_room_name (nullable) is None + # and model_fields_set contains the field + if self.dorm_room_name is None and "dorm_room_name" in self.model_fields_set: + _dict['dormRoomName'] = None + + # set to None if room_name (nullable) is None + # and model_fields_set contains the field + if self.room_name is None and "room_name" in self.model_fields_set: + _dict['roomName'] = None + + # set to None if room_id (nullable) is None + # and model_fields_set contains the field + if self.room_id is None and "room_id" in self.model_fields_set: + _dict['roomID'] = None + + # set to None if sub_reservation_id (nullable) is None + # and model_fields_set contains the field + if self.sub_reservation_id is None and "sub_reservation_id" in self.model_fields_set: + _dict['subReservationID'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationAssignmentsResponseDataInnerAssignedInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roomTypeID": obj.get("roomTypeID"), + "roomTypeName": obj.get("roomTypeName"), + "roomTypeNameShort": obj.get("roomTypeNameShort"), + "dormRoomName": obj.get("dormRoomName"), + "roomName": obj.get("roomName"), + "roomID": obj.get("roomID"), + "subReservationID": obj.get("subReservationID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_notes_response.py b/cloudbeds_pms_v1_3/models/get_reservation_notes_response.py new file mode 100644 index 0000000..565f68a --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_notes_response.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_reservation_notes_response_data_inner import GetReservationNotesResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationNotesResponse(BaseModel): + """ + GetReservationNotesResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetReservationNotesResponseDataInner]] = Field(default=None, description="Details for the notes on that reservation") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationNotesResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationNotesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetReservationNotesResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_notes_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_reservation_notes_response_data_inner.py new file mode 100644 index 0000000..ba1d21c --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_notes_response_data_inner.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationNotesResponseDataInner(BaseModel): + """ + GetReservationNotesResponseDataInner + """ # noqa: E501 + reservation_note_id: Optional[StrictStr] = Field(default=None, description="Reservation note ID", alias="reservationNoteID") + user_name: Optional[StrictStr] = Field(default=None, description="User Name", alias="userName") + date_created: Optional[datetime] = Field(default=None, description="Creation datetime", alias="dateCreated") + date_modified: Optional[datetime] = Field(default=None, description="Last modification datetime", alias="dateModified") + reservation_note: Optional[StrictStr] = Field(default=None, description="Note content", alias="reservationNote") + __properties: ClassVar[List[str]] = ["reservationNoteID", "userName", "dateCreated", "dateModified", "reservationNote"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationNotesResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationNotesResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "reservationNoteID": obj.get("reservationNoteID"), + "userName": obj.get("userName"), + "dateCreated": obj.get("dateCreated"), + "dateModified": obj.get("dateModified"), + "reservationNote": obj.get("reservationNote") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_response.py b/cloudbeds_pms_v1_3/models/get_reservation_response.py new file mode 100644 index 0000000..8092fd0 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_reservation_response_data import GetReservationResponseData +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationResponse(BaseModel): + """ + GetReservationResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[GetReservationResponseData] = None + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": GetReservationResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_response_data.py b/cloudbeds_pms_v1_3/models/get_reservation_response_data.py new file mode 100644 index 0000000..92b7ebc --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_response_data.py @@ -0,0 +1,228 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date, datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner import GetReservationResponseDataAssignedInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_balance_detailed import GetReservationResponseDataBalanceDetailed +from cloudbeds_pms_v1_3.models.get_reservation_response_data_cards_on_file_inner import GetReservationResponseDataCardsOnFileInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_group_inventory_inner import GetReservationResponseDataGroupInventoryInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value import GetReservationResponseDataGuestListValue +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_custom_fields_inner import GetReservationResponseDataGuestListValueCustomFieldsInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_unassigned_inner import GetReservationResponseDataUnassignedInner +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationResponseData(BaseModel): + """ + Details for the reservation queried + """ # noqa: E501 + property_id: Optional[StrictStr] = Field(default=None, description="Property ID", alias="propertyID") + guest_name: Optional[StrictStr] = Field(default=None, description="Main Guest Name", alias="guestName") + guest_email: Optional[StrictStr] = Field(default=None, description="Main Guest Email", alias="guestEmail") + is_anonymized: Optional[StrictBool] = Field(default=None, description="Flag indicating the main guest data was removed upon request", alias="isAnonymized") + guest_list: Optional[Dict[str, GetReservationResponseDataGuestListValue]] = Field(default=None, description="A map of guest IDs to guest objects (key is the Guest ID). It contains an entry for each guest included on the reservation.", alias="guestList") + reservation_id: Optional[StrictStr] = Field(default=None, description="Reservation identifier", alias="reservationID") + date_created: Optional[datetime] = Field(default=None, alias="dateCreated") + date_modified: Optional[datetime] = Field(default=None, alias="dateModified") + estimated_arrival_time: Optional[StrictStr] = Field(default=None, description="Estimated arrival time, 24-hour format.", alias="estimatedArrivalTime") + source: Optional[StrictStr] = Field(default=None, description="Booking source (e.g. Website, Facebook Widget, Booking.com, etc)") + source_id: Optional[StrictStr] = Field(default=None, description="Booking source unique id", alias="sourceID") + third_party_identifier: Optional[StrictStr] = Field(default=None, description="If it was received from a booking channel, it displays its identifier. If not, it will be empty", alias="thirdPartyIdentifier") + status: Optional[StrictStr] = Field(default=None, description="Reservation status
'not_confirmed' - Reservation is pending confirmation
'confirmed' - Reservation is confirmed
'canceled' - Reservation is canceled
'checked_in' - Guest is in hotel
'checked_out' - Guest already left hotel
'no_show' - Guest didn't showed up on check-in date") + total: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Total price of the booking") + balance: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Balance currently owed") + balance_detailed: Optional[GetReservationResponseDataBalanceDetailed] = Field(default=None, alias="balanceDetailed") + assigned: Optional[List[GetReservationResponseDataAssignedInner]] = Field(default=None, description="Assigned Rooms information") + unassigned: Optional[List[GetReservationResponseDataUnassignedInner]] = Field(default=None, description="Unassigned Rooms information") + cards_on_file: Optional[List[GetReservationResponseDataCardsOnFileInner]] = Field(default=None, description="Credit Cards stored for the reservation", alias="cardsOnFile") + custom_fields: Optional[List[GetReservationResponseDataGuestListValueCustomFieldsInner]] = Field(default=None, description="Custom Fields related to the reservation", alias="customFields") + start_date: Optional[date] = Field(default=None, description="First reservation check-in date", alias="startDate") + end_date: Optional[date] = Field(default=None, description="Last reservation check-out date", alias="endDate") + allotment_block_code: Optional[StrictStr] = Field(default=None, description="Allotment block code", alias="allotmentBlockCode") + channel_provided_credit_card: Optional[StrictBool] = Field(default=None, description="Whether a credit card was provided by the channel. Only included for reservations originating from OTAs.", alias="channelProvidedCreditCard") + group_inventory: Optional[List[GetReservationResponseDataGroupInventoryInner]] = Field(default=None, description="Aggregate allotment block information", alias="groupInventory") + origin: Optional[StrictStr] = Field(default=None, description="Reservation origin") + meal_plans: Optional[StrictStr] = Field(default=None, description="Reservation Meal Plans", alias="mealPlans") + __properties: ClassVar[List[str]] = ["propertyID", "guestName", "guestEmail", "isAnonymized", "guestList", "reservationID", "dateCreated", "dateModified", "estimatedArrivalTime", "source", "sourceID", "thirdPartyIdentifier", "status", "total", "balance", "balanceDetailed", "assigned", "unassigned", "cardsOnFile", "customFields", "startDate", "endDate", "allotmentBlockCode", "channelProvidedCreditCard", "groupInventory", "origin", "mealPlans"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['confirmed', 'not_confirmed', 'canceled', 'checked_in', 'checked_out', 'no_show', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each value in guest_list (dict) + _field_dict = {} + if self.guest_list: + for _key_guest_list in self.guest_list: + if self.guest_list[_key_guest_list]: + _field_dict[_key_guest_list] = self.guest_list[_key_guest_list].to_dict() + _dict['guestList'] = _field_dict + # override the default output from pydantic by calling `to_dict()` of balance_detailed + if self.balance_detailed: + _dict['balanceDetailed'] = self.balance_detailed.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in assigned (list) + _items = [] + if self.assigned: + for _item_assigned in self.assigned: + if _item_assigned: + _items.append(_item_assigned.to_dict()) + _dict['assigned'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in unassigned (list) + _items = [] + if self.unassigned: + for _item_unassigned in self.unassigned: + if _item_unassigned: + _items.append(_item_unassigned.to_dict()) + _dict['unassigned'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in cards_on_file (list) + _items = [] + if self.cards_on_file: + for _item_cards_on_file in self.cards_on_file: + if _item_cards_on_file: + _items.append(_item_cards_on_file.to_dict()) + _dict['cardsOnFile'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in custom_fields (list) + _items = [] + if self.custom_fields: + for _item_custom_fields in self.custom_fields: + if _item_custom_fields: + _items.append(_item_custom_fields.to_dict()) + _dict['customFields'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in group_inventory (list) + _items = [] + if self.group_inventory: + for _item_group_inventory in self.group_inventory: + if _item_group_inventory: + _items.append(_item_group_inventory.to_dict()) + _dict['groupInventory'] = _items + # set to None if estimated_arrival_time (nullable) is None + # and model_fields_set contains the field + if self.estimated_arrival_time is None and "estimated_arrival_time" in self.model_fields_set: + _dict['estimatedArrivalTime'] = None + + # set to None if third_party_identifier (nullable) is None + # and model_fields_set contains the field + if self.third_party_identifier is None and "third_party_identifier" in self.model_fields_set: + _dict['thirdPartyIdentifier'] = None + + # set to None if allotment_block_code (nullable) is None + # and model_fields_set contains the field + if self.allotment_block_code is None and "allotment_block_code" in self.model_fields_set: + _dict['allotmentBlockCode'] = None + + # set to None if group_inventory (nullable) is None + # and model_fields_set contains the field + if self.group_inventory is None and "group_inventory" in self.model_fields_set: + _dict['groupInventory'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyID": obj.get("propertyID"), + "guestName": obj.get("guestName"), + "guestEmail": obj.get("guestEmail"), + "isAnonymized": obj.get("isAnonymized"), + "guestList": dict( + (_k, GetReservationResponseDataGuestListValue.from_dict(_v)) + for _k, _v in obj["guestList"].items() + ) + if obj.get("guestList") is not None + else None, + "reservationID": obj.get("reservationID"), + "dateCreated": obj.get("dateCreated"), + "dateModified": obj.get("dateModified"), + "estimatedArrivalTime": obj.get("estimatedArrivalTime"), + "source": obj.get("source"), + "sourceID": obj.get("sourceID"), + "thirdPartyIdentifier": obj.get("thirdPartyIdentifier"), + "status": obj.get("status"), + "total": obj.get("total"), + "balance": obj.get("balance"), + "balanceDetailed": GetReservationResponseDataBalanceDetailed.from_dict(obj["balanceDetailed"]) if obj.get("balanceDetailed") is not None else None, + "assigned": [GetReservationResponseDataAssignedInner.from_dict(_item) for _item in obj["assigned"]] if obj.get("assigned") is not None else None, + "unassigned": [GetReservationResponseDataUnassignedInner.from_dict(_item) for _item in obj["unassigned"]] if obj.get("unassigned") is not None else None, + "cardsOnFile": [GetReservationResponseDataCardsOnFileInner.from_dict(_item) for _item in obj["cardsOnFile"]] if obj.get("cardsOnFile") is not None else None, + "customFields": [GetReservationResponseDataGuestListValueCustomFieldsInner.from_dict(_item) for _item in obj["customFields"]] if obj.get("customFields") is not None else None, + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "allotmentBlockCode": obj.get("allotmentBlockCode"), + "channelProvidedCreditCard": obj.get("channelProvidedCreditCard"), + "groupInventory": [GetReservationResponseDataGroupInventoryInner.from_dict(_item) for _item in obj["groupInventory"]] if obj.get("groupInventory") is not None else None, + "origin": obj.get("origin"), + "mealPlans": obj.get("mealPlans") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_response_data_assigned_inner.py b/cloudbeds_pms_v1_3/models/get_reservation_response_data_assigned_inner.py new file mode 100644 index 0000000..53fe247 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_response_data_assigned_inner.py @@ -0,0 +1,133 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner_daily_rates_inner import GetReservationResponseDataAssignedInnerDailyRatesInner +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationResponseDataAssignedInner(BaseModel): + """ + GetReservationResponseDataAssignedInner + """ # noqa: E501 + reservation_room_id: Optional[StrictStr] = Field(default=None, description="Reservation room ID", alias="reservationRoomID") + room_type_name: Optional[StrictStr] = Field(default=None, description="Name of the assigned room type", alias="roomTypeName") + room_type_name_short: Optional[StrictStr] = Field(default=None, description="Short name of the assigned room type", alias="roomTypeNameShort") + room_type_is_virtual: Optional[StrictBool] = Field(default=None, description="If room is virtual (true) or physical (false)", alias="roomTypeIsVirtual") + dorm_room_name: Optional[StrictStr] = Field(default=None, description="Name of the dorm room. Used for the shared dorm beds that are organized into rooms within the same room type", alias="dormRoomName") + room_type_id: Optional[StrictStr] = Field(default=None, description="ID of the assigned room type", alias="roomTypeID") + sub_reservation_id: Optional[StrictStr] = Field(default=None, description="Sub Reservation ID of the specific assigned room", alias="subReservationID") + room_name: Optional[StrictStr] = Field(default=None, description="Name of the specific assigned room", alias="roomName") + room_id: Optional[StrictStr] = Field(default=None, description="ID of the specific assigned room", alias="roomID") + start_date: Optional[date] = Field(default=None, description="Check-In date of the room", alias="startDate") + end_date: Optional[date] = Field(default=None, description="Check-Out date of the room", alias="endDate") + adults: Optional[StrictStr] = Field(default=None, description="Number of adult staying in the room") + children: Optional[StrictStr] = Field(default=None, description="Number of children staying in the room") + daily_rates: Optional[List[GetReservationResponseDataAssignedInnerDailyRatesInner]] = Field(default=None, description="Array with rates detailed by day", alias="dailyRates") + room_total: Optional[StrictStr] = Field(default=None, description="Room total rate", alias="roomTotal") + market_name: Optional[StrictStr] = Field(default=None, description="Market segmentation name", alias="marketName") + market_code: Optional[StrictStr] = Field(default=None, description="Market segmentation code", alias="marketCode") + __properties: ClassVar[List[str]] = ["reservationRoomID", "roomTypeName", "roomTypeNameShort", "roomTypeIsVirtual", "dormRoomName", "roomTypeID", "subReservationID", "roomName", "roomID", "startDate", "endDate", "adults", "children", "dailyRates", "roomTotal", "marketName", "marketCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationResponseDataAssignedInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in daily_rates (list) + _items = [] + if self.daily_rates: + for _item_daily_rates in self.daily_rates: + if _item_daily_rates: + _items.append(_item_daily_rates.to_dict()) + _dict['dailyRates'] = _items + # set to None if dorm_room_name (nullable) is None + # and model_fields_set contains the field + if self.dorm_room_name is None and "dorm_room_name" in self.model_fields_set: + _dict['dormRoomName'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationResponseDataAssignedInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "reservationRoomID": obj.get("reservationRoomID"), + "roomTypeName": obj.get("roomTypeName"), + "roomTypeNameShort": obj.get("roomTypeNameShort"), + "roomTypeIsVirtual": obj.get("roomTypeIsVirtual"), + "dormRoomName": obj.get("dormRoomName"), + "roomTypeID": obj.get("roomTypeID"), + "subReservationID": obj.get("subReservationID"), + "roomName": obj.get("roomName"), + "roomID": obj.get("roomID"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "adults": obj.get("adults"), + "children": obj.get("children"), + "dailyRates": [GetReservationResponseDataAssignedInnerDailyRatesInner.from_dict(_item) for _item in obj["dailyRates"]] if obj.get("dailyRates") is not None else None, + "roomTotal": obj.get("roomTotal"), + "marketName": obj.get("marketName"), + "marketCode": obj.get("marketCode") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_response_data_assigned_inner_daily_rates_inner.py b/cloudbeds_pms_v1_3/models/get_reservation_response_data_assigned_inner_daily_rates_inner.py new file mode 100644 index 0000000..94278c3 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_response_data_assigned_inner_daily_rates_inner.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationResponseDataAssignedInnerDailyRatesInner(BaseModel): + """ + GetReservationResponseDataAssignedInnerDailyRatesInner + """ # noqa: E501 + var_date: Optional[date] = Field(default=None, alias="date") + rate: Optional[Union[StrictFloat, StrictInt]] = None + __properties: ClassVar[List[str]] = ["date", "rate"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationResponseDataAssignedInnerDailyRatesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationResponseDataAssignedInnerDailyRatesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "date": obj.get("date"), + "rate": obj.get("rate") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_response_data_balance_detailed.py b/cloudbeds_pms_v1_3/models/get_reservation_response_data_balance_detailed.py new file mode 100644 index 0000000..6ca9614 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_response_data_balance_detailed.py @@ -0,0 +1,140 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from cloudbeds_pms_v1_3.models.get_reservation_response_data_balance_detailed_one_of import GetReservationResponseDataBalanceDetailedOneOf +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +GETRESERVATIONRESPONSEDATABALANCEDETAILED_ONE_OF_SCHEMAS = ["GetReservationResponseDataBalanceDetailedOneOf", "List[GetReservationResponseDataBalanceDetailedOneOf]"] + +class GetReservationResponseDataBalanceDetailed(BaseModel): + """ + Reservation balance detailed with the information available on PC app, describing the financial items calculated + """ + # data type: GetReservationResponseDataBalanceDetailedOneOf + oneof_schema_1_validator: Optional[GetReservationResponseDataBalanceDetailedOneOf] = None + # data type: List[GetReservationResponseDataBalanceDetailedOneOf] + oneof_schema_2_validator: Optional[List[GetReservationResponseDataBalanceDetailedOneOf]] = None + actual_instance: Optional[Union[GetReservationResponseDataBalanceDetailedOneOf, List[GetReservationResponseDataBalanceDetailedOneOf]]] = None + one_of_schemas: Set[str] = { "GetReservationResponseDataBalanceDetailedOneOf", "List[GetReservationResponseDataBalanceDetailedOneOf]" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = GetReservationResponseDataBalanceDetailed.model_construct() + error_messages = [] + match = 0 + # validate data type: GetReservationResponseDataBalanceDetailedOneOf + if not isinstance(v, GetReservationResponseDataBalanceDetailedOneOf): + error_messages.append(f"Error! Input type `{type(v)}` is not `GetReservationResponseDataBalanceDetailedOneOf`") + else: + match += 1 + # validate data type: List[GetReservationResponseDataBalanceDetailedOneOf] + try: + instance.oneof_schema_2_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in GetReservationResponseDataBalanceDetailed with oneOf schemas: GetReservationResponseDataBalanceDetailedOneOf, List[GetReservationResponseDataBalanceDetailedOneOf]. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in GetReservationResponseDataBalanceDetailed with oneOf schemas: GetReservationResponseDataBalanceDetailedOneOf, List[GetReservationResponseDataBalanceDetailedOneOf]. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into GetReservationResponseDataBalanceDetailedOneOf + try: + instance.actual_instance = GetReservationResponseDataBalanceDetailedOneOf.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into List[GetReservationResponseDataBalanceDetailedOneOf] + try: + # validation + instance.oneof_schema_2_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_2_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into GetReservationResponseDataBalanceDetailed with oneOf schemas: GetReservationResponseDataBalanceDetailedOneOf, List[GetReservationResponseDataBalanceDetailedOneOf]. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into GetReservationResponseDataBalanceDetailed with oneOf schemas: GetReservationResponseDataBalanceDetailedOneOf, List[GetReservationResponseDataBalanceDetailedOneOf]. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], GetReservationResponseDataBalanceDetailedOneOf, List[GetReservationResponseDataBalanceDetailedOneOf]]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_response_data_balance_detailed_one_of.py b/cloudbeds_pms_v1_3/models/get_reservation_response_data_balance_detailed_one_of.py new file mode 100644 index 0000000..e26e380 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_response_data_balance_detailed_one_of.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationResponseDataBalanceDetailedOneOf(BaseModel): + """ + GetReservationResponseDataBalanceDetailedOneOf + """ # noqa: E501 + suggested_deposit: Optional[StrictStr] = Field(default=None, description="Suggested deposit value, calculated according to the hotel policies. Does not mean that it was effectively paid", alias="suggestedDeposit") + sub_total: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Sum of the room prices on the reservation", alias="subTotal") + additional_items: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Sum of the additional items recorded on the reservation", alias="additionalItems") + taxes_fees: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Sum of the taxes and fees calculated on the reservation", alias="taxesFees") + grand_total: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Sum of sub.Total + additionalItems + taxesFees", alias="grandTotal") + paid: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Amount paid (reservation deposit + any other extra payment)") + __properties: ClassVar[List[str]] = ["suggestedDeposit", "subTotal", "additionalItems", "taxesFees", "grandTotal", "paid"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationResponseDataBalanceDetailedOneOf from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationResponseDataBalanceDetailedOneOf from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "suggestedDeposit": obj.get("suggestedDeposit"), + "subTotal": obj.get("subTotal"), + "additionalItems": obj.get("additionalItems"), + "taxesFees": obj.get("taxesFees"), + "grandTotal": obj.get("grandTotal"), + "paid": obj.get("paid") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_response_data_cards_on_file_inner.py b/cloudbeds_pms_v1_3/models/get_reservation_response_data_cards_on_file_inner.py new file mode 100644 index 0000000..421625c --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_response_data_cards_on_file_inner.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationResponseDataCardsOnFileInner(BaseModel): + """ + GetReservationResponseDataCardsOnFileInner + """ # noqa: E501 + card_id: Optional[StrictStr] = Field(default=None, description="Credit Card ID, used for card operations", alias="cardID") + card_number: Optional[StrictStr] = Field(default=None, description="Ending digits of the credit card", alias="cardNumber") + card_type: Optional[StrictStr] = Field(default=None, description="Abbreviated name of credit card type", alias="cardType") + __properties: ClassVar[List[str]] = ["cardID", "cardNumber", "cardType"] + + @field_validator('card_type') + def card_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['visa', 'master', 'amex', 'diners', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationResponseDataCardsOnFileInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationResponseDataCardsOnFileInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "cardID": obj.get("cardID"), + "cardNumber": obj.get("cardNumber"), + "cardType": obj.get("cardType") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_response_data_group_inventory_inner.py b/cloudbeds_pms_v1_3/models/get_reservation_response_data_group_inventory_inner.py new file mode 100644 index 0000000..e9bff00 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_response_data_group_inventory_inner.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationResponseDataGroupInventoryInner(BaseModel): + """ + GetReservationResponseDataGroupInventoryInner + """ # noqa: E501 + sub_reservation_id: Optional[StrictStr] = Field(default=None, description="Sub Reservation ID of the specific assigned room", alias="subReservationID") + allotment_block_code: Optional[StrictStr] = Field(default=None, description="Allotment block code", alias="allotmentBlockCode") + start_date: Optional[date] = Field(default=None, description="Check-In date of the room", alias="startDate") + end_date: Optional[date] = Field(default=None, description="Check-Out date of the room", alias="endDate") + __properties: ClassVar[List[str]] = ["subReservationID", "allotmentBlockCode", "startDate", "endDate"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationResponseDataGroupInventoryInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if sub_reservation_id (nullable) is None + # and model_fields_set contains the field + if self.sub_reservation_id is None and "sub_reservation_id" in self.model_fields_set: + _dict['subReservationID'] = None + + # set to None if allotment_block_code (nullable) is None + # and model_fields_set contains the field + if self.allotment_block_code is None and "allotment_block_code" in self.model_fields_set: + _dict['allotmentBlockCode'] = None + + # set to None if start_date (nullable) is None + # and model_fields_set contains the field + if self.start_date is None and "start_date" in self.model_fields_set: + _dict['startDate'] = None + + # set to None if end_date (nullable) is None + # and model_fields_set contains the field + if self.end_date is None and "end_date" in self.model_fields_set: + _dict['endDate'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationResponseDataGroupInventoryInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "subReservationID": obj.get("subReservationID"), + "allotmentBlockCode": obj.get("allotmentBlockCode"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value.py b/cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value.py new file mode 100644 index 0000000..46e54df --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value.py @@ -0,0 +1,279 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_custom_fields_inner import GetReservationResponseDataGuestListValueCustomFieldsInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_guest_birthdate import GetReservationResponseDataGuestListValueGuestBirthdate +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_rooms_inner import GetReservationResponseDataGuestListValueRoomsInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_unassigned_rooms_inner import GetReservationResponseDataGuestListValueUnassignedRoomsInner +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationResponseDataGuestListValue(BaseModel): + """ + GetReservationResponseDataGuestListValue + """ # noqa: E501 + guest_id: Optional[StrictStr] = Field(default=None, description="ID of the guest", alias="guestID") + guest_first_name: Optional[StrictStr] = Field(default=None, description="First Name", alias="guestFirstName") + guest_last_name: Optional[StrictStr] = Field(default=None, description="Last Name", alias="guestLastName") + guest_gender: Optional[StrictStr] = Field(default=None, description="Gender", alias="guestGender") + guest_email: Optional[StrictStr] = Field(default=None, description="Email Address", alias="guestEmail") + guest_phone: Optional[StrictStr] = Field(default=None, description="Phone Number", alias="guestPhone") + guest_cell_phone: Optional[StrictStr] = Field(default=None, description="Cell Phone Number", alias="guestCellPhone") + guest_address: Optional[StrictStr] = Field(default=None, alias="guestAddress") + guest_address2: Optional[StrictStr] = Field(default=None, alias="guestAddress2") + guest_city: Optional[StrictStr] = Field(default=None, alias="guestCity") + guest_state: Optional[StrictStr] = Field(default=None, alias="guestState") + guest_country: Optional[StrictStr] = Field(default=None, alias="guestCountry") + guest_zip: Optional[StrictStr] = Field(default=None, alias="guestZip") + guest_status: Optional[StrictStr] = Field(default=None, alias="guestStatus") + guest_birthdate: Optional[GetReservationResponseDataGuestListValueGuestBirthdate] = Field(default=None, alias="guestBirthdate") + guest_document_type: Optional[StrictStr] = Field(default=None, alias="guestDocumentType") + guest_document_number: Optional[StrictStr] = Field(default=None, alias="guestDocumentNumber") + guest_document_issue_date: Optional[GetReservationResponseDataGuestListValueGuestBirthdate] = Field(default=None, alias="guestDocumentIssueDate") + guest_document_issuing_country: Optional[StrictStr] = Field(default=None, alias="guestDocumentIssuingCountry") + guest_document_expiration_date: Optional[GetReservationResponseDataGuestListValueGuestBirthdate] = Field(default=None, alias="guestDocumentExpirationDate") + tax_id: Optional[StrictStr] = Field(default=None, alias="taxID") + company_tax_id: Optional[StrictStr] = Field(default=None, alias="companyTaxID") + company_name: Optional[StrictStr] = Field(default=None, alias="companyName") + assigned_room: Optional[StrictBool] = Field(default=None, description="Returns true if guest has roomed assigned, false if not", alias="assignedRoom") + is_anonymized: Optional[StrictBool] = Field(default=None, description="Flag indicating the guest data was removed upon request", alias="isAnonymized") + room_id: Optional[StrictStr] = Field(default=None, description="Room ID where guest is assigned", alias="roomID") + room_name: Optional[StrictStr] = Field(default=None, description="Room Name where guest is assigned", alias="roomName") + room_type_name: Optional[StrictStr] = Field(default=None, description="Room Type Name where guest is assigned", alias="roomTypeName") + room_type_is_virtual: Optional[StrictBool] = Field(default=None, description="If room is virtual (true) or physical (false)", alias="roomTypeIsVirtual") + is_main_guest: Optional[StrictBool] = Field(default=None, description="If the guest is the main guest of the reservation or not", alias="isMainGuest") + guest_requirements: Optional[Dict[str, Any]] = Field(default=None, description="Guest requirements data. Only included if `includeGuestRequirements=true`.", alias="guestRequirements") + custom_fields: Optional[List[GetReservationResponseDataGuestListValueCustomFieldsInner]] = Field(default=None, description="List of custom fields", alias="customFields") + rooms: Optional[List[GetReservationResponseDataGuestListValueRoomsInner]] = Field(default=None, description="List of all rooms that guest is assigned to") + unassigned_rooms: Optional[List[GetReservationResponseDataGuestListValueUnassignedRoomsInner]] = Field(default=None, description="List of unassigned rooms", alias="unassignedRooms") + __properties: ClassVar[List[str]] = ["guestID", "guestFirstName", "guestLastName", "guestGender", "guestEmail", "guestPhone", "guestCellPhone", "guestAddress", "guestAddress2", "guestCity", "guestState", "guestCountry", "guestZip", "guestStatus", "guestBirthdate", "guestDocumentType", "guestDocumentNumber", "guestDocumentIssueDate", "guestDocumentIssuingCountry", "guestDocumentExpirationDate", "taxID", "companyTaxID", "companyName", "assignedRoom", "isAnonymized", "roomID", "roomName", "roomTypeName", "roomTypeIsVirtual", "isMainGuest", "guestRequirements", "customFields", "rooms", "unassignedRooms"] + + @field_validator('guest_gender') + def guest_gender_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['M', 'F', 'N/A', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + @field_validator('guest_status') + def guest_status_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['in_progress', 'call2confirm', 'confirmed', 'canceled', 'checked_in', 'checked_out', 'not_confirmed', 'no_show', 'paypal_init', 'pending_payment', 'not_checked_in', 'in_house', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationResponseDataGuestListValue from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of guest_birthdate + if self.guest_birthdate: + _dict['guestBirthdate'] = self.guest_birthdate.to_dict() + # override the default output from pydantic by calling `to_dict()` of guest_document_issue_date + if self.guest_document_issue_date: + _dict['guestDocumentIssueDate'] = self.guest_document_issue_date.to_dict() + # override the default output from pydantic by calling `to_dict()` of guest_document_expiration_date + if self.guest_document_expiration_date: + _dict['guestDocumentExpirationDate'] = self.guest_document_expiration_date.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in custom_fields (list) + _items = [] + if self.custom_fields: + for _item_custom_fields in self.custom_fields: + if _item_custom_fields: + _items.append(_item_custom_fields.to_dict()) + _dict['customFields'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in rooms (list) + _items = [] + if self.rooms: + for _item_rooms in self.rooms: + if _item_rooms: + _items.append(_item_rooms.to_dict()) + _dict['rooms'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in unassigned_rooms (list) + _items = [] + if self.unassigned_rooms: + for _item_unassigned_rooms in self.unassigned_rooms: + if _item_unassigned_rooms: + _items.append(_item_unassigned_rooms.to_dict()) + _dict['unassignedRooms'] = _items + # set to None if guest_birthdate (nullable) is None + # and model_fields_set contains the field + if self.guest_birthdate is None and "guest_birthdate" in self.model_fields_set: + _dict['guestBirthdate'] = None + + # set to None if guest_document_type (nullable) is None + # and model_fields_set contains the field + if self.guest_document_type is None and "guest_document_type" in self.model_fields_set: + _dict['guestDocumentType'] = None + + # set to None if guest_document_number (nullable) is None + # and model_fields_set contains the field + if self.guest_document_number is None and "guest_document_number" in self.model_fields_set: + _dict['guestDocumentNumber'] = None + + # set to None if guest_document_issue_date (nullable) is None + # and model_fields_set contains the field + if self.guest_document_issue_date is None and "guest_document_issue_date" in self.model_fields_set: + _dict['guestDocumentIssueDate'] = None + + # set to None if guest_document_issuing_country (nullable) is None + # and model_fields_set contains the field + if self.guest_document_issuing_country is None and "guest_document_issuing_country" in self.model_fields_set: + _dict['guestDocumentIssuingCountry'] = None + + # set to None if guest_document_expiration_date (nullable) is None + # and model_fields_set contains the field + if self.guest_document_expiration_date is None and "guest_document_expiration_date" in self.model_fields_set: + _dict['guestDocumentExpirationDate'] = None + + # set to None if tax_id (nullable) is None + # and model_fields_set contains the field + if self.tax_id is None and "tax_id" in self.model_fields_set: + _dict['taxID'] = None + + # set to None if company_tax_id (nullable) is None + # and model_fields_set contains the field + if self.company_tax_id is None and "company_tax_id" in self.model_fields_set: + _dict['companyTaxID'] = None + + # set to None if company_name (nullable) is None + # and model_fields_set contains the field + if self.company_name is None and "company_name" in self.model_fields_set: + _dict['companyName'] = None + + # set to None if room_id (nullable) is None + # and model_fields_set contains the field + if self.room_id is None and "room_id" in self.model_fields_set: + _dict['roomID'] = None + + # set to None if room_name (nullable) is None + # and model_fields_set contains the field + if self.room_name is None and "room_name" in self.model_fields_set: + _dict['roomName'] = None + + # set to None if room_type_name (nullable) is None + # and model_fields_set contains the field + if self.room_type_name is None and "room_type_name" in self.model_fields_set: + _dict['roomTypeName'] = None + + # set to None if room_type_is_virtual (nullable) is None + # and model_fields_set contains the field + if self.room_type_is_virtual is None and "room_type_is_virtual" in self.model_fields_set: + _dict['roomTypeIsVirtual'] = None + + # set to None if guest_requirements (nullable) is None + # and model_fields_set contains the field + if self.guest_requirements is None and "guest_requirements" in self.model_fields_set: + _dict['guestRequirements'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationResponseDataGuestListValue from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "guestID": obj.get("guestID"), + "guestFirstName": obj.get("guestFirstName"), + "guestLastName": obj.get("guestLastName"), + "guestGender": obj.get("guestGender"), + "guestEmail": obj.get("guestEmail"), + "guestPhone": obj.get("guestPhone"), + "guestCellPhone": obj.get("guestCellPhone"), + "guestAddress": obj.get("guestAddress"), + "guestAddress2": obj.get("guestAddress2"), + "guestCity": obj.get("guestCity"), + "guestState": obj.get("guestState"), + "guestCountry": obj.get("guestCountry"), + "guestZip": obj.get("guestZip"), + "guestStatus": obj.get("guestStatus"), + "guestBirthdate": GetReservationResponseDataGuestListValueGuestBirthdate.from_dict(obj["guestBirthdate"]) if obj.get("guestBirthdate") is not None else None, + "guestDocumentType": obj.get("guestDocumentType"), + "guestDocumentNumber": obj.get("guestDocumentNumber"), + "guestDocumentIssueDate": GetReservationResponseDataGuestListValueGuestBirthdate.from_dict(obj["guestDocumentIssueDate"]) if obj.get("guestDocumentIssueDate") is not None else None, + "guestDocumentIssuingCountry": obj.get("guestDocumentIssuingCountry"), + "guestDocumentExpirationDate": GetReservationResponseDataGuestListValueGuestBirthdate.from_dict(obj["guestDocumentExpirationDate"]) if obj.get("guestDocumentExpirationDate") is not None else None, + "taxID": obj.get("taxID"), + "companyTaxID": obj.get("companyTaxID"), + "companyName": obj.get("companyName"), + "assignedRoom": obj.get("assignedRoom"), + "isAnonymized": obj.get("isAnonymized"), + "roomID": obj.get("roomID"), + "roomName": obj.get("roomName"), + "roomTypeName": obj.get("roomTypeName"), + "roomTypeIsVirtual": obj.get("roomTypeIsVirtual"), + "isMainGuest": obj.get("isMainGuest"), + "guestRequirements": obj.get("guestRequirements"), + "customFields": [GetReservationResponseDataGuestListValueCustomFieldsInner.from_dict(_item) for _item in obj["customFields"]] if obj.get("customFields") is not None else None, + "rooms": [GetReservationResponseDataGuestListValueRoomsInner.from_dict(_item) for _item in obj["rooms"]] if obj.get("rooms") is not None else None, + "unassignedRooms": [GetReservationResponseDataGuestListValueUnassignedRoomsInner.from_dict(_item) for _item in obj["unassignedRooms"]] if obj.get("unassignedRooms") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value_custom_fields_inner.py b/cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value_custom_fields_inner.py new file mode 100644 index 0000000..6eecb17 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value_custom_fields_inner.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationResponseDataGuestListValueCustomFieldsInner(BaseModel): + """ + GetReservationResponseDataGuestListValueCustomFieldsInner + """ # noqa: E501 + custom_field_name: Optional[StrictStr] = Field(default=None, description="Custom Field Name", alias="customFieldName") + custom_field_value: Optional[StrictStr] = Field(default=None, description="Custom Field Value", alias="customFieldValue") + __properties: ClassVar[List[str]] = ["customFieldName", "customFieldValue"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationResponseDataGuestListValueCustomFieldsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationResponseDataGuestListValueCustomFieldsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "customFieldName": obj.get("customFieldName"), + "customFieldValue": obj.get("customFieldValue") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value_guest_birthdate.py b/cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value_guest_birthdate.py new file mode 100644 index 0000000..bff0a70 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value_guest_birthdate.py @@ -0,0 +1,150 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +GETRESERVATIONRESPONSEDATAGUESTLISTVALUEGUESTBIRTHDATE_ONE_OF_SCHEMAS = ["date", "str"] + +class GetReservationResponseDataGuestListValueGuestBirthdate(BaseModel): + """ + + """ + # data type: date + oneof_schema_1_validator: Optional[date] = None + # data type: str + oneof_schema_2_validator: Optional[StrictStr] = None + actual_instance: Optional[Union[date, str]] = None + one_of_schemas: Set[str] = { "date", "str" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + if v is None: + return v + + instance = GetReservationResponseDataGuestListValueGuestBirthdate.model_construct() + error_messages = [] + match = 0 + # validate data type: date + try: + instance.oneof_schema_1_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: str + try: + instance.oneof_schema_2_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in GetReservationResponseDataGuestListValueGuestBirthdate with oneOf schemas: date, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in GetReservationResponseDataGuestListValueGuestBirthdate with oneOf schemas: date, str. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: Optional[str]) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + if json_str is None: + return instance + + error_messages = [] + match = 0 + + # deserialize data into date + try: + # validation + instance.oneof_schema_1_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_1_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into str + try: + # validation + instance.oneof_schema_2_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_2_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into GetReservationResponseDataGuestListValueGuestBirthdate with oneOf schemas: date, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into GetReservationResponseDataGuestListValueGuestBirthdate with oneOf schemas: date, str. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], date, str]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value_rooms_inner.py b/cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value_rooms_inner.py new file mode 100644 index 0000000..ac337ff --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value_rooms_inner.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationResponseDataGuestListValueRoomsInner(BaseModel): + """ + GetReservationResponseDataGuestListValueRoomsInner + """ # noqa: E501 + reservation_room_id: Optional[StrictStr] = Field(default=None, description="Reservation room ID where guest is assigned", alias="reservationRoomID") + room_id: Optional[StrictStr] = Field(default=None, description="Room ID where guest is assigned", alias="roomID") + room_name: Optional[StrictStr] = Field(default=None, description="Room Name where guest is assigned", alias="roomName") + room_type_name: Optional[StrictStr] = Field(default=None, description="Room Type Name where guest is assigned", alias="roomTypeName") + room_type_is_virtual: Optional[StrictBool] = Field(default=None, description="If room is virtual (true) or physical (false)", alias="roomTypeIsVirtual") + sub_reservation_id: Optional[StrictStr] = Field(default=None, description="Sub Reservation ID of the specific assigned room", alias="subReservationID") + __properties: ClassVar[List[str]] = ["reservationRoomID", "roomID", "roomName", "roomTypeName", "roomTypeIsVirtual", "subReservationID"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationResponseDataGuestListValueRoomsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if reservation_room_id (nullable) is None + # and model_fields_set contains the field + if self.reservation_room_id is None and "reservation_room_id" in self.model_fields_set: + _dict['reservationRoomID'] = None + + # set to None if room_id (nullable) is None + # and model_fields_set contains the field + if self.room_id is None and "room_id" in self.model_fields_set: + _dict['roomID'] = None + + # set to None if room_name (nullable) is None + # and model_fields_set contains the field + if self.room_name is None and "room_name" in self.model_fields_set: + _dict['roomName'] = None + + # set to None if room_type_name (nullable) is None + # and model_fields_set contains the field + if self.room_type_name is None and "room_type_name" in self.model_fields_set: + _dict['roomTypeName'] = None + + # set to None if room_type_is_virtual (nullable) is None + # and model_fields_set contains the field + if self.room_type_is_virtual is None and "room_type_is_virtual" in self.model_fields_set: + _dict['roomTypeIsVirtual'] = None + + # set to None if sub_reservation_id (nullable) is None + # and model_fields_set contains the field + if self.sub_reservation_id is None and "sub_reservation_id" in self.model_fields_set: + _dict['subReservationID'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationResponseDataGuestListValueRoomsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "reservationRoomID": obj.get("reservationRoomID"), + "roomID": obj.get("roomID"), + "roomName": obj.get("roomName"), + "roomTypeName": obj.get("roomTypeName"), + "roomTypeIsVirtual": obj.get("roomTypeIsVirtual"), + "subReservationID": obj.get("subReservationID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value_unassigned_rooms_inner.py b/cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value_unassigned_rooms_inner.py new file mode 100644 index 0000000..20b6f7b --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_response_data_guest_list_value_unassigned_rooms_inner.py @@ -0,0 +1,120 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationResponseDataGuestListValueUnassignedRoomsInner(BaseModel): + """ + GetReservationResponseDataGuestListValueUnassignedRoomsInner + """ # noqa: E501 + reservation_room_id: Optional[StrictStr] = Field(default=None, description="Reservation room ID", alias="reservationRoomID") + room_type_id: Optional[StrictStr] = Field(default=None, description="ID of the assigned room type", alias="roomTypeID") + room_type_name: Optional[StrictStr] = Field(default=None, description="Room Type Name where guest is assigned", alias="roomTypeName") + room_type_is_virtual: Optional[StrictBool] = Field(default=None, description="If room is virtual (true) or physical (false)", alias="roomTypeIsVirtual") + sub_reservation_id: Optional[StrictStr] = Field(default=None, description="Sub Reservation ID of the specific assigned room", alias="subReservationID") + __properties: ClassVar[List[str]] = ["reservationRoomID", "roomTypeID", "roomTypeName", "roomTypeIsVirtual", "subReservationID"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationResponseDataGuestListValueUnassignedRoomsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if reservation_room_id (nullable) is None + # and model_fields_set contains the field + if self.reservation_room_id is None and "reservation_room_id" in self.model_fields_set: + _dict['reservationRoomID'] = None + + # set to None if room_type_id (nullable) is None + # and model_fields_set contains the field + if self.room_type_id is None and "room_type_id" in self.model_fields_set: + _dict['roomTypeID'] = None + + # set to None if room_type_name (nullable) is None + # and model_fields_set contains the field + if self.room_type_name is None and "room_type_name" in self.model_fields_set: + _dict['roomTypeName'] = None + + # set to None if room_type_is_virtual (nullable) is None + # and model_fields_set contains the field + if self.room_type_is_virtual is None and "room_type_is_virtual" in self.model_fields_set: + _dict['roomTypeIsVirtual'] = None + + # set to None if sub_reservation_id (nullable) is None + # and model_fields_set contains the field + if self.sub_reservation_id is None and "sub_reservation_id" in self.model_fields_set: + _dict['subReservationID'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationResponseDataGuestListValueUnassignedRoomsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "reservationRoomID": obj.get("reservationRoomID"), + "roomTypeID": obj.get("roomTypeID"), + "roomTypeName": obj.get("roomTypeName"), + "roomTypeIsVirtual": obj.get("roomTypeIsVirtual"), + "subReservationID": obj.get("subReservationID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_response_data_unassigned_inner.py b/cloudbeds_pms_v1_3/models/get_reservation_response_data_unassigned_inner.py new file mode 100644 index 0000000..6d178d3 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_response_data_unassigned_inner.py @@ -0,0 +1,116 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner_daily_rates_inner import GetReservationResponseDataAssignedInnerDailyRatesInner +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationResponseDataUnassignedInner(BaseModel): + """ + GetReservationResponseDataUnassignedInner + """ # noqa: E501 + reservation_room_id: Optional[StrictStr] = Field(default=None, description="Reservation room ID", alias="reservationRoomID") + room_type_name: Optional[StrictStr] = Field(default=None, description="Name of the room type to be assigned", alias="roomTypeName") + room_type_is_virtual: Optional[StrictBool] = Field(default=None, description="If room is virtual (true) or physical (false)", alias="roomTypeIsVirtual") + room_type_id: Optional[StrictStr] = Field(default=None, description="ID of the room type to be assigned", alias="roomTypeID") + sub_reservation_id: Optional[StrictStr] = Field(default=None, description="Sub Reservation ID of the specific assigned room", alias="subReservationID") + start_date: Optional[date] = Field(default=None, description="Check-In date of the room", alias="startDate") + end_date: Optional[date] = Field(default=None, description="Check-Out date of the room", alias="endDate") + adults: Optional[StrictStr] = Field(default=None, description="Number of adult staying in the room") + children: Optional[StrictStr] = Field(default=None, description="Number of children staying in the room") + daily_rates: Optional[List[GetReservationResponseDataAssignedInnerDailyRatesInner]] = Field(default=None, description="Array with rates detailed by day", alias="dailyRates") + room_total: Optional[StrictStr] = Field(default=None, description="Room total rate", alias="roomTotal") + __properties: ClassVar[List[str]] = ["reservationRoomID", "roomTypeName", "roomTypeIsVirtual", "roomTypeID", "subReservationID", "startDate", "endDate", "adults", "children", "dailyRates", "roomTotal"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationResponseDataUnassignedInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in daily_rates (list) + _items = [] + if self.daily_rates: + for _item_daily_rates in self.daily_rates: + if _item_daily_rates: + _items.append(_item_daily_rates.to_dict()) + _dict['dailyRates'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationResponseDataUnassignedInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "reservationRoomID": obj.get("reservationRoomID"), + "roomTypeName": obj.get("roomTypeName"), + "roomTypeIsVirtual": obj.get("roomTypeIsVirtual"), + "roomTypeID": obj.get("roomTypeID"), + "subReservationID": obj.get("subReservationID"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "adults": obj.get("adults"), + "children": obj.get("children"), + "dailyRates": [GetReservationResponseDataAssignedInnerDailyRatesInner.from_dict(_item) for _item in obj["dailyRates"]] if obj.get("dailyRates") is not None else None, + "roomTotal": obj.get("roomTotal") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_room_details_response.py b/cloudbeds_pms_v1_3/models/get_reservation_room_details_response.py new file mode 100644 index 0000000..b04dd6b --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_room_details_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_reservation_room_details_response_data import GetReservationRoomDetailsResponseData +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationRoomDetailsResponse(BaseModel): + """ + GetReservationRoomDetailsResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + data: Optional[GetReservationRoomDetailsResponseData] = None + __properties: ClassVar[List[str]] = ["success", "message", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationRoomDetailsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationRoomDetailsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message"), + "data": GetReservationRoomDetailsResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_room_details_response_data.py b/cloudbeds_pms_v1_3/models/get_reservation_room_details_response_data.py new file mode 100644 index 0000000..98ffbcb --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_room_details_response_data.py @@ -0,0 +1,139 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_reservation_room_details_response_data_guests_inner import GetReservationRoomDetailsResponseDataGuestsInner +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationRoomDetailsResponseData(BaseModel): + """ + Details for the rooms assigned on the selected date + """ # noqa: E501 + reservation_id: Optional[StrictStr] = Field(default=None, description="Reservation Unique Identifier.", alias="reservationID") + sub_reservation_id: Optional[StrictStr] = Field(default=None, description="Subreservation Unique Identifier", alias="subReservationID") + room_id: Optional[StrictStr] = Field(default=None, description="ID of room assigned", alias="roomID") + room_name: Optional[StrictStr] = Field(default=None, description="Name of room assigned", alias="roomName") + dorm_room_name: Optional[StrictStr] = Field(default=None, description="Name of the dorm room. Used for the shared dorm beds that are organized into rooms within the same room type.", alias="dormRoomName") + guest_id: Optional[StrictStr] = Field(default=None, description="Guest Identifier", alias="guestID") + guest_name: Optional[StrictStr] = Field(default=None, description="Guest Name", alias="guestName") + room_status: Optional[StrictStr] = Field(default=None, description="Room status
'cancelled' - Reservation with this room was canceled
'checked_out' - Guest already left the room
'in_house' - Guest is in the room
'not_checked_in' - Guest isn't checked-in yet", alias="roomStatus") + room_type_id: Optional[StrictStr] = Field(default=None, description="ID of room type assigned", alias="roomTypeID") + room_type_name: Optional[StrictStr] = Field(default=None, description="Name of room type assigned", alias="roomTypeName") + room_type_is_virtual: Optional[StrictBool] = Field(default=None, description="If room is virtual (true) or physical (false)", alias="roomTypeIsVirtual") + max_guests: Optional[StrictInt] = Field(default=None, description="Maximum number of guests that room type permits", alias="maxGuests") + adults: Optional[StrictInt] = Field(default=None, description="Number of adults registered to room (this does not mean there will be this number of guests in guests array)") + children: Optional[StrictInt] = Field(default=None, description="Number of children registered to room (this does not mean there will be this number of guests in guests array)") + guests: Optional[List[GetReservationRoomDetailsResponseDataGuestsInner]] = Field(default=None, description="Array with all guests assigned to room") + __properties: ClassVar[List[str]] = ["reservationID", "subReservationID", "roomID", "roomName", "dormRoomName", "guestID", "guestName", "roomStatus", "roomTypeID", "roomTypeName", "roomTypeIsVirtual", "maxGuests", "adults", "children", "guests"] + + @field_validator('room_status') + def room_status_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['cancelled', 'checked_out', 'in_house', 'not_checked_in', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationRoomDetailsResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in guests (list) + _items = [] + if self.guests: + for _item_guests in self.guests: + if _item_guests: + _items.append(_item_guests.to_dict()) + _dict['guests'] = _items + # set to None if dorm_room_name (nullable) is None + # and model_fields_set contains the field + if self.dorm_room_name is None and "dorm_room_name" in self.model_fields_set: + _dict['dormRoomName'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationRoomDetailsResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "reservationID": obj.get("reservationID"), + "subReservationID": obj.get("subReservationID"), + "roomID": obj.get("roomID"), + "roomName": obj.get("roomName"), + "dormRoomName": obj.get("dormRoomName"), + "guestID": obj.get("guestID"), + "guestName": obj.get("guestName"), + "roomStatus": obj.get("roomStatus"), + "roomTypeID": obj.get("roomTypeID"), + "roomTypeName": obj.get("roomTypeName"), + "roomTypeIsVirtual": obj.get("roomTypeIsVirtual"), + "maxGuests": obj.get("maxGuests"), + "adults": obj.get("adults"), + "children": obj.get("children"), + "guests": [GetReservationRoomDetailsResponseDataGuestsInner.from_dict(_item) for _item in obj["guests"]] if obj.get("guests") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservation_room_details_response_data_guests_inner.py b/cloudbeds_pms_v1_3/models/get_reservation_room_details_response_data_guests_inner.py new file mode 100644 index 0000000..2121b27 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservation_room_details_response_data_guests_inner.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationRoomDetailsResponseDataGuestsInner(BaseModel): + """ + GetReservationRoomDetailsResponseDataGuestsInner + """ # noqa: E501 + guest_id: Optional[StrictStr] = Field(default=None, description="ID of assigned guest", alias="guestID") + guest_first_name: Optional[StrictStr] = Field(default=None, description="First name of assigned guest", alias="guestFirstName") + guest_last_name: Optional[StrictStr] = Field(default=None, description="Last of assigned guest", alias="guestLastName") + is_main_guest: Optional[StrictBool] = Field(default=None, description="If guest is reservation's main guest", alias="isMainGuest") + __properties: ClassVar[List[str]] = ["guestID", "guestFirstName", "guestLastName", "isMainGuest"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationRoomDetailsResponseDataGuestsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationRoomDetailsResponseDataGuestsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "guestID": obj.get("guestID"), + "guestFirstName": obj.get("guestFirstName"), + "guestLastName": obj.get("guestLastName"), + "isMainGuest": obj.get("isMainGuest") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservations_response.py b/cloudbeds_pms_v1_3/models/get_reservations_response.py new file mode 100644 index 0000000..fa55b22 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservations_response.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner import GetReservationsResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationsResponse(BaseModel): + """ + GetReservationsResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetReservationsResponseDataInner]] = Field(default=None, description="Details for the reservation queried") + count: Optional[StrictInt] = Field(default=None, description="Number of results returned") + total: Optional[StrictInt] = Field(default=None, description="Total number of results") + __properties: ClassVar[List[str]] = ["success", "data", "count", "total"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetReservationsResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "count": obj.get("count"), + "total": obj.get("total") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservations_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_reservations_response_data_inner.py new file mode 100644 index 0000000..fb100d3 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservations_response_data_inner.py @@ -0,0 +1,214 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date, datetime +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner import GetGuestsModifiedResponseDataInnerCustomFieldsInner +from cloudbeds_pms_v1_3.models.get_reservation_response_data_group_inventory_inner import GetReservationResponseDataGroupInventoryInner +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value import GetReservationsResponseDataInnerGuestListValue +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_rooms_inner import GetReservationsResponseDataInnerRoomsInner +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationsResponseDataInner(BaseModel): + """ + GetReservationsResponseDataInner + """ # noqa: E501 + property_id: Optional[StrictStr] = Field(default=None, description="Properties identifier", alias="propertyID") + reservation_id: Optional[StrictStr] = Field(default=None, description="Reservation's unique identifier", alias="reservationID") + date_created: Optional[datetime] = Field(default=None, alias="dateCreated") + date_modified: Optional[datetime] = Field(default=None, alias="dateModified") + status: Optional[StrictStr] = None + guest_id: Optional[StrictStr] = Field(default=None, alias="guestID") + profile_id: Optional[StrictStr] = Field(default=None, alias="profileID") + guest_name: Optional[StrictStr] = Field(default=None, alias="guestName") + start_date: Optional[date] = Field(default=None, alias="startDate") + end_date: Optional[date] = Field(default=None, alias="endDate") + allotment_block_code: Optional[StrictStr] = Field(default=None, description="Allotment block code", alias="allotmentBlockCode") + group_code: Optional[StrictStr] = Field(default=None, description="Group profile code", alias="groupCode") + adults: Optional[StrictStr] = None + children: Optional[StrictStr] = None + balance: Optional[Union[StrictFloat, StrictInt]] = None + source_name: Optional[StrictStr] = Field(default=None, description="Source of reservation", alias="sourceName") + source_id: Optional[StrictStr] = Field(default=None, description="Booking source unique id", alias="sourceID") + third_party_identifier: Optional[StrictStr] = Field(default=None, alias="thirdPartyIdentifier") + group_inventory: Optional[List[GetReservationResponseDataGroupInventoryInner]] = Field(default=None, description="Aggregate allotment block information", alias="groupInventory") + sub_reservation_id: Optional[StrictStr] = Field(default=None, description="If roomID or roomName are given, the respective subReservationID (to that room) is informed.", alias="subReservationID") + custom_fields: Optional[List[GetGuestsModifiedResponseDataInnerCustomFieldsInner]] = Field(default=None, description="List of reservation custom fields. Only returned if \"includeCustomFields\" is true", alias="customFields") + rooms: Optional[List[GetReservationsResponseDataInnerRoomsInner]] = Field(default=None, description="Array with rooms information. Only returned if \"includeAllRooms\" is true") + guest_list: Optional[Dict[str, GetReservationsResponseDataInnerGuestListValue]] = Field(default=None, description="A map of guest IDs to guest objects (key is the Guest ID). It contains an entry for each guest included on the reservation. Only returned if \"includeGuestsDetails\" is true", alias="guestList") + origin: Optional[StrictStr] = Field(default=None, description="Reservation origin") + meal_plans: Optional[StrictStr] = Field(default=None, description="Reservation meal plans", alias="mealPlans") + __properties: ClassVar[List[str]] = ["propertyID", "reservationID", "dateCreated", "dateModified", "status", "guestID", "profileID", "guestName", "startDate", "endDate", "allotmentBlockCode", "groupCode", "adults", "children", "balance", "sourceName", "sourceID", "thirdPartyIdentifier", "groupInventory", "subReservationID", "customFields", "rooms", "guestList", "origin", "mealPlans"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['not_confirmed', 'confirmed', 'canceled', 'checked_in', 'checked_out', 'no_show', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationsResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in group_inventory (list) + _items = [] + if self.group_inventory: + for _item_group_inventory in self.group_inventory: + if _item_group_inventory: + _items.append(_item_group_inventory.to_dict()) + _dict['groupInventory'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in custom_fields (list) + _items = [] + if self.custom_fields: + for _item_custom_fields in self.custom_fields: + if _item_custom_fields: + _items.append(_item_custom_fields.to_dict()) + _dict['customFields'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in rooms (list) + _items = [] + if self.rooms: + for _item_rooms in self.rooms: + if _item_rooms: + _items.append(_item_rooms.to_dict()) + _dict['rooms'] = _items + # override the default output from pydantic by calling `to_dict()` of each value in guest_list (dict) + _field_dict = {} + if self.guest_list: + for _key_guest_list in self.guest_list: + if self.guest_list[_key_guest_list]: + _field_dict[_key_guest_list] = self.guest_list[_key_guest_list].to_dict() + _dict['guestList'] = _field_dict + # set to None if allotment_block_code (nullable) is None + # and model_fields_set contains the field + if self.allotment_block_code is None and "allotment_block_code" in self.model_fields_set: + _dict['allotmentBlockCode'] = None + + # set to None if group_code (nullable) is None + # and model_fields_set contains the field + if self.group_code is None and "group_code" in self.model_fields_set: + _dict['groupCode'] = None + + # set to None if group_inventory (nullable) is None + # and model_fields_set contains the field + if self.group_inventory is None and "group_inventory" in self.model_fields_set: + _dict['groupInventory'] = None + + # set to None if sub_reservation_id (nullable) is None + # and model_fields_set contains the field + if self.sub_reservation_id is None and "sub_reservation_id" in self.model_fields_set: + _dict['subReservationID'] = None + + # set to None if custom_fields (nullable) is None + # and model_fields_set contains the field + if self.custom_fields is None and "custom_fields" in self.model_fields_set: + _dict['customFields'] = None + + # set to None if guest_list (nullable) is None + # and model_fields_set contains the field + if self.guest_list is None and "guest_list" in self.model_fields_set: + _dict['guestList'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationsResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyID": obj.get("propertyID"), + "reservationID": obj.get("reservationID"), + "dateCreated": obj.get("dateCreated"), + "dateModified": obj.get("dateModified"), + "status": obj.get("status"), + "guestID": obj.get("guestID"), + "profileID": obj.get("profileID"), + "guestName": obj.get("guestName"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "allotmentBlockCode": obj.get("allotmentBlockCode"), + "groupCode": obj.get("groupCode"), + "adults": obj.get("adults"), + "children": obj.get("children"), + "balance": obj.get("balance"), + "sourceName": obj.get("sourceName"), + "sourceID": obj.get("sourceID"), + "thirdPartyIdentifier": obj.get("thirdPartyIdentifier"), + "groupInventory": [GetReservationResponseDataGroupInventoryInner.from_dict(_item) for _item in obj["groupInventory"]] if obj.get("groupInventory") is not None else None, + "subReservationID": obj.get("subReservationID"), + "customFields": [GetGuestsModifiedResponseDataInnerCustomFieldsInner.from_dict(_item) for _item in obj["customFields"]] if obj.get("customFields") is not None else None, + "rooms": [GetReservationsResponseDataInnerRoomsInner.from_dict(_item) for _item in obj["rooms"]] if obj.get("rooms") is not None else None, + "guestList": dict( + (_k, GetReservationsResponseDataInnerGuestListValue.from_dict(_v)) + for _k, _v in obj["guestList"].items() + ) + if obj.get("guestList") is not None + else None, + "origin": obj.get("origin"), + "mealPlans": obj.get("mealPlans") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservations_response_data_inner_guest_list_value.py b/cloudbeds_pms_v1_3/models/get_reservations_response_data_inner_guest_list_value.py new file mode 100644 index 0000000..df13b92 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservations_response_data_inner_guest_list_value.py @@ -0,0 +1,380 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner import GetGuestsModifiedResponseDataInnerCustomFieldsInner +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_rooms_inner import GetReservationsResponseDataInnerGuestListValueRoomsInner +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner import GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationsResponseDataInnerGuestListValue(BaseModel): + """ + GetReservationsResponseDataInnerGuestListValue + """ # noqa: E501 + guest_id: Optional[StrictStr] = Field(default=None, description="ID of the guest", alias="guestID") + guest_name: Optional[StrictStr] = Field(default=None, alias="guestName") + guest_first_name: Optional[StrictStr] = Field(default=None, alias="guestFirstName") + guest_last_name: Optional[StrictStr] = Field(default=None, alias="guestLastName") + guest_gender: Optional[StrictStr] = Field(default=None, alias="guestGender") + guest_email: Optional[StrictStr] = Field(default=None, alias="guestEmail") + guest_phone: Optional[StrictStr] = Field(default=None, alias="guestPhone") + guest_cell_phone: Optional[StrictStr] = Field(default=None, alias="guestCellPhone") + guest_address: Optional[StrictStr] = Field(default=None, alias="guestAddress") + guest_address2: Optional[StrictStr] = Field(default=None, alias="guestAddress2") + guest_city: Optional[StrictStr] = Field(default=None, alias="guestCity") + guest_state: Optional[StrictStr] = Field(default=None, alias="guestState") + guest_country: Optional[StrictStr] = Field(default=None, alias="guestCountry") + guest_zip: Optional[StrictStr] = Field(default=None, alias="guestZip") + guest_birthdate: Optional[StrictStr] = Field(default=None, alias="guestBirthdate") + guest_document_type: Optional[StrictStr] = Field(default=None, alias="guestDocumentType") + guest_document_number: Optional[StrictStr] = Field(default=None, alias="guestDocumentNumber") + guest_document_issue_date: Optional[StrictStr] = Field(default=None, alias="guestDocumentIssueDate") + guest_document_issuing_country: Optional[StrictStr] = Field(default=None, alias="guestDocumentIssuingCountry") + guest_document_expiration_date: Optional[StrictStr] = Field(default=None, alias="guestDocumentExpirationDate") + tax_id: Optional[StrictStr] = Field(default=None, description="Guest's tax ID", alias="taxID") + company_tax_id: Optional[StrictStr] = Field(default=None, description="Guest's company tax ID", alias="companyTaxID") + company_name: Optional[StrictStr] = Field(default=None, description="Guest's company name", alias="companyName") + sub_reservation_id: Optional[StrictStr] = Field(default=None, alias="subReservationID") + start_date: Optional[date] = Field(default=None, alias="startDate") + end_date: Optional[date] = Field(default=None, alias="endDate") + assigned_room: Optional[StrictBool] = Field(default=None, description="Returns true if guest has roomed assigned, false if not", alias="assignedRoom") + room_id: Optional[StrictStr] = Field(default=None, description="Room ID where guest is assigned", alias="roomID") + room_name: Optional[StrictStr] = Field(default=None, description="Room Name where guest is assigned", alias="roomName") + room_type_name: Optional[StrictStr] = Field(default=None, description="Room Name where guest is assigned", alias="roomTypeName") + room_type_is_virtual: Optional[StrictBool] = Field(default=None, description="If room is virtual (true) or physical (false)", alias="roomTypeIsVirtual") + rooms: Optional[List[GetReservationsResponseDataInnerGuestListValueRoomsInner]] = Field(default=None, description="List of all rooms that guest is assigned to") + unassigned_rooms: Optional[List[GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner]] = Field(default=None, description="List of all unassigned rooms", alias="unassignedRooms") + guest_requirements: Optional[Dict[str, Any]] = Field(default=None, description="Guest requirements data. Only included if `includeGuestsDetails=true` and `includeGuestRequirements=true`.", alias="guestRequirements") + custom_fields: Optional[List[GetGuestsModifiedResponseDataInnerCustomFieldsInner]] = Field(default=None, description="List of guest custom fields", alias="customFields") + is_anonymized: Optional[StrictBool] = Field(default=None, description="Flag indicating the guest data was removed upon request", alias="isAnonymized") + is_main_guest: Optional[StrictBool] = Field(default=None, description="Flag indicating the guest is the main guest on the reservation", alias="isMainGuest") + __properties: ClassVar[List[str]] = ["guestID", "guestName", "guestFirstName", "guestLastName", "guestGender", "guestEmail", "guestPhone", "guestCellPhone", "guestAddress", "guestAddress2", "guestCity", "guestState", "guestCountry", "guestZip", "guestBirthdate", "guestDocumentType", "guestDocumentNumber", "guestDocumentIssueDate", "guestDocumentIssuingCountry", "guestDocumentExpirationDate", "taxID", "companyTaxID", "companyName", "subReservationID", "startDate", "endDate", "assignedRoom", "roomID", "roomName", "roomTypeName", "roomTypeIsVirtual", "rooms", "unassignedRooms", "guestRequirements", "customFields", "isAnonymized", "isMainGuest"] + + @field_validator('guest_gender') + def guest_gender_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['M', 'F', 'N/A', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationsResponseDataInnerGuestListValue from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in rooms (list) + _items = [] + if self.rooms: + for _item_rooms in self.rooms: + if _item_rooms: + _items.append(_item_rooms.to_dict()) + _dict['rooms'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in unassigned_rooms (list) + _items = [] + if self.unassigned_rooms: + for _item_unassigned_rooms in self.unassigned_rooms: + if _item_unassigned_rooms: + _items.append(_item_unassigned_rooms.to_dict()) + _dict['unassignedRooms'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in custom_fields (list) + _items = [] + if self.custom_fields: + for _item_custom_fields in self.custom_fields: + if _item_custom_fields: + _items.append(_item_custom_fields.to_dict()) + _dict['customFields'] = _items + # set to None if guest_id (nullable) is None + # and model_fields_set contains the field + if self.guest_id is None and "guest_id" in self.model_fields_set: + _dict['guestID'] = None + + # set to None if guest_name (nullable) is None + # and model_fields_set contains the field + if self.guest_name is None and "guest_name" in self.model_fields_set: + _dict['guestName'] = None + + # set to None if guest_first_name (nullable) is None + # and model_fields_set contains the field + if self.guest_first_name is None and "guest_first_name" in self.model_fields_set: + _dict['guestFirstName'] = None + + # set to None if guest_last_name (nullable) is None + # and model_fields_set contains the field + if self.guest_last_name is None and "guest_last_name" in self.model_fields_set: + _dict['guestLastName'] = None + + # set to None if guest_gender (nullable) is None + # and model_fields_set contains the field + if self.guest_gender is None and "guest_gender" in self.model_fields_set: + _dict['guestGender'] = None + + # set to None if guest_email (nullable) is None + # and model_fields_set contains the field + if self.guest_email is None and "guest_email" in self.model_fields_set: + _dict['guestEmail'] = None + + # set to None if guest_phone (nullable) is None + # and model_fields_set contains the field + if self.guest_phone is None and "guest_phone" in self.model_fields_set: + _dict['guestPhone'] = None + + # set to None if guest_cell_phone (nullable) is None + # and model_fields_set contains the field + if self.guest_cell_phone is None and "guest_cell_phone" in self.model_fields_set: + _dict['guestCellPhone'] = None + + # set to None if guest_address (nullable) is None + # and model_fields_set contains the field + if self.guest_address is None and "guest_address" in self.model_fields_set: + _dict['guestAddress'] = None + + # set to None if guest_address2 (nullable) is None + # and model_fields_set contains the field + if self.guest_address2 is None and "guest_address2" in self.model_fields_set: + _dict['guestAddress2'] = None + + # set to None if guest_city (nullable) is None + # and model_fields_set contains the field + if self.guest_city is None and "guest_city" in self.model_fields_set: + _dict['guestCity'] = None + + # set to None if guest_state (nullable) is None + # and model_fields_set contains the field + if self.guest_state is None and "guest_state" in self.model_fields_set: + _dict['guestState'] = None + + # set to None if guest_country (nullable) is None + # and model_fields_set contains the field + if self.guest_country is None and "guest_country" in self.model_fields_set: + _dict['guestCountry'] = None + + # set to None if guest_zip (nullable) is None + # and model_fields_set contains the field + if self.guest_zip is None and "guest_zip" in self.model_fields_set: + _dict['guestZip'] = None + + # set to None if guest_birthdate (nullable) is None + # and model_fields_set contains the field + if self.guest_birthdate is None and "guest_birthdate" in self.model_fields_set: + _dict['guestBirthdate'] = None + + # set to None if guest_document_type (nullable) is None + # and model_fields_set contains the field + if self.guest_document_type is None and "guest_document_type" in self.model_fields_set: + _dict['guestDocumentType'] = None + + # set to None if guest_document_number (nullable) is None + # and model_fields_set contains the field + if self.guest_document_number is None and "guest_document_number" in self.model_fields_set: + _dict['guestDocumentNumber'] = None + + # set to None if guest_document_issue_date (nullable) is None + # and model_fields_set contains the field + if self.guest_document_issue_date is None and "guest_document_issue_date" in self.model_fields_set: + _dict['guestDocumentIssueDate'] = None + + # set to None if guest_document_issuing_country (nullable) is None + # and model_fields_set contains the field + if self.guest_document_issuing_country is None and "guest_document_issuing_country" in self.model_fields_set: + _dict['guestDocumentIssuingCountry'] = None + + # set to None if guest_document_expiration_date (nullable) is None + # and model_fields_set contains the field + if self.guest_document_expiration_date is None and "guest_document_expiration_date" in self.model_fields_set: + _dict['guestDocumentExpirationDate'] = None + + # set to None if tax_id (nullable) is None + # and model_fields_set contains the field + if self.tax_id is None and "tax_id" in self.model_fields_set: + _dict['taxID'] = None + + # set to None if company_tax_id (nullable) is None + # and model_fields_set contains the field + if self.company_tax_id is None and "company_tax_id" in self.model_fields_set: + _dict['companyTaxID'] = None + + # set to None if company_name (nullable) is None + # and model_fields_set contains the field + if self.company_name is None and "company_name" in self.model_fields_set: + _dict['companyName'] = None + + # set to None if sub_reservation_id (nullable) is None + # and model_fields_set contains the field + if self.sub_reservation_id is None and "sub_reservation_id" in self.model_fields_set: + _dict['subReservationID'] = None + + # set to None if start_date (nullable) is None + # and model_fields_set contains the field + if self.start_date is None and "start_date" in self.model_fields_set: + _dict['startDate'] = None + + # set to None if end_date (nullable) is None + # and model_fields_set contains the field + if self.end_date is None and "end_date" in self.model_fields_set: + _dict['endDate'] = None + + # set to None if assigned_room (nullable) is None + # and model_fields_set contains the field + if self.assigned_room is None and "assigned_room" in self.model_fields_set: + _dict['assignedRoom'] = None + + # set to None if room_id (nullable) is None + # and model_fields_set contains the field + if self.room_id is None and "room_id" in self.model_fields_set: + _dict['roomID'] = None + + # set to None if room_name (nullable) is None + # and model_fields_set contains the field + if self.room_name is None and "room_name" in self.model_fields_set: + _dict['roomName'] = None + + # set to None if room_type_name (nullable) is None + # and model_fields_set contains the field + if self.room_type_name is None and "room_type_name" in self.model_fields_set: + _dict['roomTypeName'] = None + + # set to None if room_type_is_virtual (nullable) is None + # and model_fields_set contains the field + if self.room_type_is_virtual is None and "room_type_is_virtual" in self.model_fields_set: + _dict['roomTypeIsVirtual'] = None + + # set to None if rooms (nullable) is None + # and model_fields_set contains the field + if self.rooms is None and "rooms" in self.model_fields_set: + _dict['rooms'] = None + + # set to None if unassigned_rooms (nullable) is None + # and model_fields_set contains the field + if self.unassigned_rooms is None and "unassigned_rooms" in self.model_fields_set: + _dict['unassignedRooms'] = None + + # set to None if guest_requirements (nullable) is None + # and model_fields_set contains the field + if self.guest_requirements is None and "guest_requirements" in self.model_fields_set: + _dict['guestRequirements'] = None + + # set to None if custom_fields (nullable) is None + # and model_fields_set contains the field + if self.custom_fields is None and "custom_fields" in self.model_fields_set: + _dict['customFields'] = None + + # set to None if is_anonymized (nullable) is None + # and model_fields_set contains the field + if self.is_anonymized is None and "is_anonymized" in self.model_fields_set: + _dict['isAnonymized'] = None + + # set to None if is_main_guest (nullable) is None + # and model_fields_set contains the field + if self.is_main_guest is None and "is_main_guest" in self.model_fields_set: + _dict['isMainGuest'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationsResponseDataInnerGuestListValue from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "guestID": obj.get("guestID"), + "guestName": obj.get("guestName"), + "guestFirstName": obj.get("guestFirstName"), + "guestLastName": obj.get("guestLastName"), + "guestGender": obj.get("guestGender"), + "guestEmail": obj.get("guestEmail"), + "guestPhone": obj.get("guestPhone"), + "guestCellPhone": obj.get("guestCellPhone"), + "guestAddress": obj.get("guestAddress"), + "guestAddress2": obj.get("guestAddress2"), + "guestCity": obj.get("guestCity"), + "guestState": obj.get("guestState"), + "guestCountry": obj.get("guestCountry"), + "guestZip": obj.get("guestZip"), + "guestBirthdate": obj.get("guestBirthdate"), + "guestDocumentType": obj.get("guestDocumentType"), + "guestDocumentNumber": obj.get("guestDocumentNumber"), + "guestDocumentIssueDate": obj.get("guestDocumentIssueDate"), + "guestDocumentIssuingCountry": obj.get("guestDocumentIssuingCountry"), + "guestDocumentExpirationDate": obj.get("guestDocumentExpirationDate"), + "taxID": obj.get("taxID"), + "companyTaxID": obj.get("companyTaxID"), + "companyName": obj.get("companyName"), + "subReservationID": obj.get("subReservationID"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "assignedRoom": obj.get("assignedRoom"), + "roomID": obj.get("roomID"), + "roomName": obj.get("roomName"), + "roomTypeName": obj.get("roomTypeName"), + "roomTypeIsVirtual": obj.get("roomTypeIsVirtual"), + "rooms": [GetReservationsResponseDataInnerGuestListValueRoomsInner.from_dict(_item) for _item in obj["rooms"]] if obj.get("rooms") is not None else None, + "unassignedRooms": [GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner.from_dict(_item) for _item in obj["unassignedRooms"]] if obj.get("unassignedRooms") is not None else None, + "guestRequirements": obj.get("guestRequirements"), + "customFields": [GetGuestsModifiedResponseDataInnerCustomFieldsInner.from_dict(_item) for _item in obj["customFields"]] if obj.get("customFields") is not None else None, + "isAnonymized": obj.get("isAnonymized"), + "isMainGuest": obj.get("isMainGuest") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservations_response_data_inner_guest_list_value_rooms_inner.py b/cloudbeds_pms_v1_3/models/get_reservations_response_data_inner_guest_list_value_rooms_inner.py new file mode 100644 index 0000000..92b3f80 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservations_response_data_inner_guest_list_value_rooms_inner.py @@ -0,0 +1,173 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationsResponseDataInnerGuestListValueRoomsInner(BaseModel): + """ + GetReservationsResponseDataInnerGuestListValueRoomsInner + """ # noqa: E501 + reservation_room_id: Optional[StrictStr] = Field(default=None, description="Reservation room ID where guest is assigned", alias="reservationRoomID") + room_id: Optional[StrictStr] = Field(default=None, description="Room ID where guest is assigned", alias="roomID") + room_name: Optional[StrictStr] = Field(default=None, description="Room Name where guest is assigned", alias="roomName") + room_type_name: Optional[StrictStr] = Field(default=None, description="Room Type Name where guest is assigned", alias="roomTypeName") + room_type_is_virtual: Optional[StrictBool] = Field(default=None, description="If room is virtual (true) or physical (false)", alias="roomTypeIsVirtual") + room_type_id: Optional[StrictStr] = Field(default=None, description="Room Type ID", alias="roomTypeID") + room_type_name_short: Optional[StrictStr] = Field(default=None, description="Room Type Short Name", alias="roomTypeNameShort") + rate_id: Optional[StrictStr] = Field(default=None, description="Rate ID", alias="rateID") + rate_plan_name: Optional[StrictStr] = Field(default=None, description="Rate plan name", alias="ratePlanName") + room_status: Optional[StrictStr] = Field(default=None, alias="roomStatus") + sub_reservation_id: Optional[StrictStr] = Field(default=None, alias="subReservationID") + __properties: ClassVar[List[str]] = ["reservationRoomID", "roomID", "roomName", "roomTypeName", "roomTypeIsVirtual", "roomTypeID", "roomTypeNameShort", "rateID", "ratePlanName", "roomStatus", "subReservationID"] + + @field_validator('room_status') + def room_status_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['in_house', 'checked_out', 'not_checked_in', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationsResponseDataInnerGuestListValueRoomsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if reservation_room_id (nullable) is None + # and model_fields_set contains the field + if self.reservation_room_id is None and "reservation_room_id" in self.model_fields_set: + _dict['reservationRoomID'] = None + + # set to None if room_id (nullable) is None + # and model_fields_set contains the field + if self.room_id is None and "room_id" in self.model_fields_set: + _dict['roomID'] = None + + # set to None if room_name (nullable) is None + # and model_fields_set contains the field + if self.room_name is None and "room_name" in self.model_fields_set: + _dict['roomName'] = None + + # set to None if room_type_name (nullable) is None + # and model_fields_set contains the field + if self.room_type_name is None and "room_type_name" in self.model_fields_set: + _dict['roomTypeName'] = None + + # set to None if room_type_is_virtual (nullable) is None + # and model_fields_set contains the field + if self.room_type_is_virtual is None and "room_type_is_virtual" in self.model_fields_set: + _dict['roomTypeIsVirtual'] = None + + # set to None if room_type_id (nullable) is None + # and model_fields_set contains the field + if self.room_type_id is None and "room_type_id" in self.model_fields_set: + _dict['roomTypeID'] = None + + # set to None if room_type_name_short (nullable) is None + # and model_fields_set contains the field + if self.room_type_name_short is None and "room_type_name_short" in self.model_fields_set: + _dict['roomTypeNameShort'] = None + + # set to None if rate_id (nullable) is None + # and model_fields_set contains the field + if self.rate_id is None and "rate_id" in self.model_fields_set: + _dict['rateID'] = None + + # set to None if rate_plan_name (nullable) is None + # and model_fields_set contains the field + if self.rate_plan_name is None and "rate_plan_name" in self.model_fields_set: + _dict['ratePlanName'] = None + + # set to None if room_status (nullable) is None + # and model_fields_set contains the field + if self.room_status is None and "room_status" in self.model_fields_set: + _dict['roomStatus'] = None + + # set to None if sub_reservation_id (nullable) is None + # and model_fields_set contains the field + if self.sub_reservation_id is None and "sub_reservation_id" in self.model_fields_set: + _dict['subReservationID'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationsResponseDataInnerGuestListValueRoomsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "reservationRoomID": obj.get("reservationRoomID"), + "roomID": obj.get("roomID"), + "roomName": obj.get("roomName"), + "roomTypeName": obj.get("roomTypeName"), + "roomTypeIsVirtual": obj.get("roomTypeIsVirtual"), + "roomTypeID": obj.get("roomTypeID"), + "roomTypeNameShort": obj.get("roomTypeNameShort"), + "rateID": obj.get("rateID"), + "ratePlanName": obj.get("ratePlanName"), + "roomStatus": obj.get("roomStatus"), + "subReservationID": obj.get("subReservationID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner.py b/cloudbeds_pms_v1_3/models/get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner.py new file mode 100644 index 0000000..7b243d9 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner(BaseModel): + """ + GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner + """ # noqa: E501 + reservation_room_id: Optional[StrictStr] = Field(default=None, description="Reservation room ID", alias="reservationRoomID") + room_type_id: Optional[StrictStr] = Field(default=None, description="ID of the assigned room type", alias="roomTypeID") + room_type_name: Optional[StrictStr] = Field(default=None, description="Room Type Name where guest is assigned", alias="roomTypeName") + room_type_is_virtual: Optional[StrictBool] = Field(default=None, description="If room is virtual (true) or physical (false)", alias="roomTypeIsVirtual") + room_type_name_short: Optional[StrictStr] = Field(default=None, description="Room Type Short Name", alias="roomTypeNameShort") + rate_id: Optional[StrictStr] = Field(default=None, description="Rate ID", alias="rateID") + rate_plan_name: Optional[StrictStr] = Field(default=None, description="Rate plan name", alias="ratePlanName") + sub_reservation_id: Optional[StrictStr] = Field(default=None, description="Sub Reservation ID of the specific assigned room", alias="subReservationID") + __properties: ClassVar[List[str]] = ["reservationRoomID", "roomTypeID", "roomTypeName", "roomTypeIsVirtual", "roomTypeNameShort", "rateID", "ratePlanName", "subReservationID"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if reservation_room_id (nullable) is None + # and model_fields_set contains the field + if self.reservation_room_id is None and "reservation_room_id" in self.model_fields_set: + _dict['reservationRoomID'] = None + + # set to None if room_type_id (nullable) is None + # and model_fields_set contains the field + if self.room_type_id is None and "room_type_id" in self.model_fields_set: + _dict['roomTypeID'] = None + + # set to None if room_type_name (nullable) is None + # and model_fields_set contains the field + if self.room_type_name is None and "room_type_name" in self.model_fields_set: + _dict['roomTypeName'] = None + + # set to None if room_type_is_virtual (nullable) is None + # and model_fields_set contains the field + if self.room_type_is_virtual is None and "room_type_is_virtual" in self.model_fields_set: + _dict['roomTypeIsVirtual'] = None + + # set to None if room_type_name_short (nullable) is None + # and model_fields_set contains the field + if self.room_type_name_short is None and "room_type_name_short" in self.model_fields_set: + _dict['roomTypeNameShort'] = None + + # set to None if rate_id (nullable) is None + # and model_fields_set contains the field + if self.rate_id is None and "rate_id" in self.model_fields_set: + _dict['rateID'] = None + + # set to None if rate_plan_name (nullable) is None + # and model_fields_set contains the field + if self.rate_plan_name is None and "rate_plan_name" in self.model_fields_set: + _dict['ratePlanName'] = None + + # set to None if sub_reservation_id (nullable) is None + # and model_fields_set contains the field + if self.sub_reservation_id is None and "sub_reservation_id" in self.model_fields_set: + _dict['subReservationID'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "reservationRoomID": obj.get("reservationRoomID"), + "roomTypeID": obj.get("roomTypeID"), + "roomTypeName": obj.get("roomTypeName"), + "roomTypeIsVirtual": obj.get("roomTypeIsVirtual"), + "roomTypeNameShort": obj.get("roomTypeNameShort"), + "rateID": obj.get("rateID"), + "ratePlanName": obj.get("ratePlanName"), + "subReservationID": obj.get("subReservationID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservations_response_data_inner_rooms_inner.py b/cloudbeds_pms_v1_3/models/get_reservations_response_data_inner_rooms_inner.py new file mode 100644 index 0000000..af0e462 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservations_response_data_inner_rooms_inner.py @@ -0,0 +1,133 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationsResponseDataInnerRoomsInner(BaseModel): + """ + GetReservationsResponseDataInnerRoomsInner + """ # noqa: E501 + room_type_id: Optional[StrictStr] = Field(default=None, description="Room Type ID", alias="roomTypeID") + room_type_name: Optional[StrictStr] = Field(default=None, description="Room Type Name", alias="roomTypeName") + room_type_is_virtual: Optional[StrictBool] = Field(default=None, description="If room is virtual (true) or physical (false)", alias="roomTypeIsVirtual") + sub_reservation_id: Optional[StrictStr] = Field(default=None, description="sub Reservation ID (specific to each room)", alias="subReservationID") + guest_id: Optional[StrictStr] = Field(default=None, description="ID of the main guest assigned to the room", alias="guestID") + guest_name: Optional[StrictStr] = Field(default=None, description="Name of the main guest assigned to the room", alias="guestName") + adults: Optional[StrictStr] = Field(default=None, description="Number of adults in the room") + children: Optional[StrictStr] = Field(default=None, description="Number of children in the room") + reservation_room_id: Optional[StrictStr] = Field(default=None, description="Reservation room ID", alias="reservationRoomID") + room_id: Optional[StrictStr] = Field(default=None, description="Room ID (null if the reservation has not been assigned a specific room yet).", alias="roomID") + room_name: Optional[StrictStr] = Field(default=None, description="Name of the room, if roomID=null it does not exist.", alias="roomName") + room_check_in: Optional[StrictStr] = Field(default=None, description="Check-in date for the room", alias="roomCheckIn") + room_check_out: Optional[StrictStr] = Field(default=None, description="Check-out date for the room", alias="roomCheckOut") + room_status: Optional[StrictStr] = Field(default=None, alias="roomStatus") + market_name: Optional[StrictStr] = Field(default=None, description="Market segmentation name", alias="marketName") + market_code: Optional[StrictStr] = Field(default=None, description="Market segmentation code", alias="marketCode") + __properties: ClassVar[List[str]] = ["roomTypeID", "roomTypeName", "roomTypeIsVirtual", "subReservationID", "guestID", "guestName", "adults", "children", "reservationRoomID", "roomID", "roomName", "roomCheckIn", "roomCheckOut", "roomStatus", "marketName", "marketCode"] + + @field_validator('room_status') + def room_status_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['cancelled', 'in_house', 'checked_out', 'not_checked_in', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationsResponseDataInnerRoomsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if room_name (nullable) is None + # and model_fields_set contains the field + if self.room_name is None and "room_name" in self.model_fields_set: + _dict['roomName'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationsResponseDataInnerRoomsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roomTypeID": obj.get("roomTypeID"), + "roomTypeName": obj.get("roomTypeName"), + "roomTypeIsVirtual": obj.get("roomTypeIsVirtual"), + "subReservationID": obj.get("subReservationID"), + "guestID": obj.get("guestID"), + "guestName": obj.get("guestName"), + "adults": obj.get("adults"), + "children": obj.get("children"), + "reservationRoomID": obj.get("reservationRoomID"), + "roomID": obj.get("roomID"), + "roomName": obj.get("roomName"), + "roomCheckIn": obj.get("roomCheckIn"), + "roomCheckOut": obj.get("roomCheckOut"), + "roomStatus": obj.get("roomStatus"), + "marketName": obj.get("marketName"), + "marketCode": obj.get("marketCode") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response.py b/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response.py new file mode 100644 index 0000000..43e2769 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner import GetReservationsWithRateDetailsResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationsWithRateDetailsResponse(BaseModel): + """ + GetReservationsWithRateDetailsResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetReservationsWithRateDetailsResponseDataInner]] = Field(default=None, description="Details for the reservations returned") + count: Optional[StrictInt] = Field(default=None, description="Number of results returned") + total: Optional[StrictInt] = Field(default=None, description="Total number of results") + __properties: ClassVar[List[str]] = ["success", "data", "count", "total"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationsWithRateDetailsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationsWithRateDetailsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetReservationsWithRateDetailsResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "count": obj.get("count"), + "total": obj.get("total") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner.py new file mode 100644 index 0000000..ef9e0f6 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner.py @@ -0,0 +1,238 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner import GetGuestsModifiedResponseDataInnerCustomFieldsInner +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_balance_detailed import GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_guest_list_value import GetReservationsWithRateDetailsResponseDataInnerGuestListValue +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_rooms_inner import GetReservationsWithRateDetailsResponseDataInnerRoomsInner +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_source import GetReservationsWithRateDetailsResponseDataInnerSource +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationsWithRateDetailsResponseDataInner(BaseModel): + """ + GetReservationsWithRateDetailsResponseDataInner + """ # noqa: E501 + property_id: Optional[StrictStr] = Field(default=None, description="Properties identifier", alias="propertyID") + reservation_id: Optional[StrictStr] = Field(default=None, description="Reservation's unique identifier", alias="reservationID") + is_deleted: Optional[StrictBool] = Field(default=None, alias="isDeleted") + date_created: Optional[datetime] = Field(default=None, alias="dateCreated") + date_created_utc: Optional[datetime] = Field(default=None, alias="dateCreatedUTC") + date_modified: Optional[datetime] = Field(default=None, alias="dateModified") + date_modified_utc: Optional[datetime] = Field(default=None, alias="dateModifiedUTC") + date_cancelled: Optional[datetime] = Field(default=None, description="Will be displayed only if \"status = 'canceled'\"", alias="dateCancelled") + date_cancelled_utc: Optional[datetime] = Field(default=None, description="Will be displayed only if \"status = 'canceled'\"", alias="dateCancelledUTC") + status: Optional[StrictStr] = Field(default=None, description="Reservation status
'not_confirmed' - Reservation is pending confirmation
'confirmed' - Reservation is confirmed
'canceled' - Reservation is canceled
'checked_in' - Guest is in hotel
'checked_out' - Guest already left hotel
'no_show' - Guest didn't showed up on check-in date") + reservation_check_in: Optional[datetime] = Field(default=None, alias="reservationCheckIn") + reservation_check_out: Optional[datetime] = Field(default=None, alias="reservationCheckOut") + guest_id: Optional[StrictStr] = Field(default=None, description="Main guest ID", alias="guestID") + profile_id: Optional[StrictStr] = Field(default=None, description="Main guest profile ID", alias="profileID") + guest_country: Optional[StrictStr] = Field(default=None, description="Main guest Country", alias="guestCountry") + source_name: Optional[StrictStr] = Field(default=None, description="Reservation source", alias="sourceName") + source: Optional[GetReservationsWithRateDetailsResponseDataInnerSource] = None + source_category: Optional[StrictStr] = Field(default=None, description="Reservation source category", alias="sourceCategory") + source_reservation_id: Optional[StrictStr] = Field(default=None, description="Reservation ID on the source", alias="sourceReservationID") + property_currency: Optional[StrictStr] = Field(default=None, description="Property currency ISO-formatted (3 characters)", alias="propertyCurrency") + balance_detailed: Optional[GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed] = Field(default=None, alias="balanceDetailed") + detailed_rates: Optional[Dict[str, Any]] = Field(default=None, description="Associative object, where key is the date, and value is the total rate for that date.", alias="detailedRates") + rooms: Optional[List[GetReservationsWithRateDetailsResponseDataInnerRoomsInner]] = Field(default=None, description="Array with rooms information") + origin: Optional[StrictStr] = Field(default=None, description="Reservation origin") + meal_plans: Optional[StrictStr] = Field(default=None, description="Reservation meal plans", alias="mealPlans") + guest_list: Optional[Dict[str, GetReservationsWithRateDetailsResponseDataInnerGuestListValue]] = Field(default=None, description="A map of guest IDs to guest objects (key is the Guest ID). It contains an entry for each guest included on the reservation. Only returned if \"includeGuestsDetails\" is true", alias="guestList") + third_party_identifier: Optional[StrictStr] = Field(default=None, alias="thirdPartyIdentifier") + custom_fields: Optional[List[GetGuestsModifiedResponseDataInnerCustomFieldsInner]] = Field(default=None, description="List of reservation custom fields. Only returned if \"includeCustomFields\" is true", alias="customFields") + estimated_arrival_time: Optional[StrictStr] = Field(default=None, description="Estimated arrival time, 24-hour format.", alias="estimatedArrivalTime") + total: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Total price of the booking") + balance: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Balance currently owed") + date_imported: Optional[StrictStr] = Field(default=None, description="Date when the reservation was imported", alias="dateImported") + __properties: ClassVar[List[str]] = ["propertyID", "reservationID", "isDeleted", "dateCreated", "dateCreatedUTC", "dateModified", "dateModifiedUTC", "dateCancelled", "dateCancelledUTC", "status", "reservationCheckIn", "reservationCheckOut", "guestID", "profileID", "guestCountry", "sourceName", "source", "sourceCategory", "sourceReservationID", "propertyCurrency", "balanceDetailed", "detailedRates", "rooms", "origin", "mealPlans", "guestList", "thirdPartyIdentifier", "customFields", "estimatedArrivalTime", "total", "balance", "dateImported"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['confirmed', 'not_confirmed', 'canceled', 'checked_in', 'checked_out', 'no_show', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationsWithRateDetailsResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of source + if self.source: + _dict['source'] = self.source.to_dict() + # override the default output from pydantic by calling `to_dict()` of balance_detailed + if self.balance_detailed: + _dict['balanceDetailed'] = self.balance_detailed.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in rooms (list) + _items = [] + if self.rooms: + for _item_rooms in self.rooms: + if _item_rooms: + _items.append(_item_rooms.to_dict()) + _dict['rooms'] = _items + # override the default output from pydantic by calling `to_dict()` of each value in guest_list (dict) + _field_dict = {} + if self.guest_list: + for _key_guest_list in self.guest_list: + if self.guest_list[_key_guest_list]: + _field_dict[_key_guest_list] = self.guest_list[_key_guest_list].to_dict() + _dict['guestList'] = _field_dict + # override the default output from pydantic by calling `to_dict()` of each item in custom_fields (list) + _items = [] + if self.custom_fields: + for _item_custom_fields in self.custom_fields: + if _item_custom_fields: + _items.append(_item_custom_fields.to_dict()) + _dict['customFields'] = _items + # set to None if date_cancelled (nullable) is None + # and model_fields_set contains the field + if self.date_cancelled is None and "date_cancelled" in self.model_fields_set: + _dict['dateCancelled'] = None + + # set to None if date_cancelled_utc (nullable) is None + # and model_fields_set contains the field + if self.date_cancelled_utc is None and "date_cancelled_utc" in self.model_fields_set: + _dict['dateCancelledUTC'] = None + + # set to None if source_category (nullable) is None + # and model_fields_set contains the field + if self.source_category is None and "source_category" in self.model_fields_set: + _dict['sourceCategory'] = None + + # set to None if source_reservation_id (nullable) is None + # and model_fields_set contains the field + if self.source_reservation_id is None and "source_reservation_id" in self.model_fields_set: + _dict['sourceReservationID'] = None + + # set to None if property_currency (nullable) is None + # and model_fields_set contains the field + if self.property_currency is None and "property_currency" in self.model_fields_set: + _dict['propertyCurrency'] = None + + # set to None if guest_list (nullable) is None + # and model_fields_set contains the field + if self.guest_list is None and "guest_list" in self.model_fields_set: + _dict['guestList'] = None + + # set to None if custom_fields (nullable) is None + # and model_fields_set contains the field + if self.custom_fields is None and "custom_fields" in self.model_fields_set: + _dict['customFields'] = None + + # set to None if estimated_arrival_time (nullable) is None + # and model_fields_set contains the field + if self.estimated_arrival_time is None and "estimated_arrival_time" in self.model_fields_set: + _dict['estimatedArrivalTime'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationsWithRateDetailsResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyID": obj.get("propertyID"), + "reservationID": obj.get("reservationID"), + "isDeleted": obj.get("isDeleted"), + "dateCreated": obj.get("dateCreated"), + "dateCreatedUTC": obj.get("dateCreatedUTC"), + "dateModified": obj.get("dateModified"), + "dateModifiedUTC": obj.get("dateModifiedUTC"), + "dateCancelled": obj.get("dateCancelled"), + "dateCancelledUTC": obj.get("dateCancelledUTC"), + "status": obj.get("status"), + "reservationCheckIn": obj.get("reservationCheckIn"), + "reservationCheckOut": obj.get("reservationCheckOut"), + "guestID": obj.get("guestID"), + "profileID": obj.get("profileID"), + "guestCountry": obj.get("guestCountry"), + "sourceName": obj.get("sourceName"), + "source": GetReservationsWithRateDetailsResponseDataInnerSource.from_dict(obj["source"]) if obj.get("source") is not None else None, + "sourceCategory": obj.get("sourceCategory"), + "sourceReservationID": obj.get("sourceReservationID"), + "propertyCurrency": obj.get("propertyCurrency"), + "balanceDetailed": GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed.from_dict(obj["balanceDetailed"]) if obj.get("balanceDetailed") is not None else None, + "detailedRates": obj.get("detailedRates"), + "rooms": [GetReservationsWithRateDetailsResponseDataInnerRoomsInner.from_dict(_item) for _item in obj["rooms"]] if obj.get("rooms") is not None else None, + "origin": obj.get("origin"), + "mealPlans": obj.get("mealPlans"), + "guestList": dict( + (_k, GetReservationsWithRateDetailsResponseDataInnerGuestListValue.from_dict(_v)) + for _k, _v in obj["guestList"].items() + ) + if obj.get("guestList") is not None + else None, + "thirdPartyIdentifier": obj.get("thirdPartyIdentifier"), + "customFields": [GetGuestsModifiedResponseDataInnerCustomFieldsInner.from_dict(_item) for _item in obj["customFields"]] if obj.get("customFields") is not None else None, + "estimatedArrivalTime": obj.get("estimatedArrivalTime"), + "total": obj.get("total"), + "balance": obj.get("balance"), + "dateImported": obj.get("dateImported") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner_balance_detailed.py b/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner_balance_detailed.py new file mode 100644 index 0000000..58f82bd --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner_balance_detailed.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed(BaseModel): + """ + Reservation balance detailed with the information available on MyFrontdesk, describing the financial items calculated + """ # noqa: E501 + suggested_deposit: Optional[StrictStr] = Field(default=None, description="Suggested deposit value, calculated according to the hotel policies. Does not mean that it was effectively paid", alias="suggestedDeposit") + sub_total: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Sum of the room prices on the reservation", alias="subTotal") + additional_items: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Sum of the additional items recorded on the reservation", alias="additionalItems") + taxes_fees: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Sum of the taxes and fees calculated on the reservation", alias="taxesFees") + grand_total: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Sum of sub.Total + additionalItems + taxesFees", alias="grandTotal") + paid: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Amount paid (reservation deposit + any other extra payment)") + __properties: ClassVar[List[str]] = ["suggestedDeposit", "subTotal", "additionalItems", "taxesFees", "grandTotal", "paid"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "suggestedDeposit": obj.get("suggestedDeposit"), + "subTotal": obj.get("subTotal"), + "additionalItems": obj.get("additionalItems"), + "taxesFees": obj.get("taxesFees"), + "grandTotal": obj.get("grandTotal"), + "paid": obj.get("paid") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner_guest_list_value.py b/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner_guest_list_value.py new file mode 100644 index 0000000..03b06ce --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner_guest_list_value.py @@ -0,0 +1,380 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner import GetGuestsModifiedResponseDataInnerCustomFieldsInner +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_rooms_inner import GetReservationsResponseDataInnerGuestListValueRoomsInner +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner import GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationsWithRateDetailsResponseDataInnerGuestListValue(BaseModel): + """ + GetReservationsWithRateDetailsResponseDataInnerGuestListValue + """ # noqa: E501 + guest_id: Optional[StrictStr] = Field(default=None, description="ID of the guest", alias="guestID") + guest_name: Optional[StrictStr] = Field(default=None, alias="guestName") + guest_first_name: Optional[StrictStr] = Field(default=None, alias="guestFirstName") + guest_last_name: Optional[StrictStr] = Field(default=None, alias="guestLastName") + guest_gender: Optional[StrictStr] = Field(default=None, alias="guestGender") + guest_email: Optional[StrictStr] = Field(default=None, alias="guestEmail") + guest_phone: Optional[StrictStr] = Field(default=None, alias="guestPhone") + guest_cell_phone: Optional[StrictStr] = Field(default=None, alias="guestCellPhone") + guest_address: Optional[StrictStr] = Field(default=None, alias="guestAddress") + guest_address2: Optional[StrictStr] = Field(default=None, alias="guestAddress2") + guest_city: Optional[StrictStr] = Field(default=None, alias="guestCity") + guest_state: Optional[StrictStr] = Field(default=None, alias="guestState") + guest_country: Optional[StrictStr] = Field(default=None, alias="guestCountry") + guest_zip: Optional[StrictStr] = Field(default=None, alias="guestZip") + guest_birthdate: Optional[date] = Field(default=None, alias="guestBirthdate") + guest_document_type: Optional[StrictStr] = Field(default=None, alias="guestDocumentType") + guest_document_number: Optional[StrictStr] = Field(default=None, alias="guestDocumentNumber") + guest_document_issue_date: Optional[StrictStr] = Field(default=None, alias="guestDocumentIssueDate") + guest_document_issuing_country: Optional[StrictStr] = Field(default=None, alias="guestDocumentIssuingCountry") + guest_document_expiration_date: Optional[StrictStr] = Field(default=None, alias="guestDocumentExpirationDate") + tax_id: Optional[StrictStr] = Field(default=None, description="Guest's tax ID", alias="taxID") + company_tax_id: Optional[StrictStr] = Field(default=None, description="Guest's company tax ID", alias="companyTaxID") + company_name: Optional[StrictStr] = Field(default=None, description="Guest's company name", alias="companyName") + sub_reservation_id: Optional[StrictStr] = Field(default=None, alias="subReservationID") + start_date: Optional[date] = Field(default=None, alias="startDate") + end_date: Optional[date] = Field(default=None, alias="endDate") + assigned_room: Optional[StrictBool] = Field(default=None, description="Returns true if guest has roomed assigned, false if not", alias="assignedRoom") + room_id: Optional[StrictStr] = Field(default=None, description="Room ID where guest is assigned", alias="roomID") + room_name: Optional[StrictStr] = Field(default=None, description="Room Name where guest is assigned", alias="roomName") + room_type_name: Optional[StrictStr] = Field(default=None, description="Room Name where guest is assigned", alias="roomTypeName") + room_type_is_virtual: Optional[StrictBool] = Field(default=None, description="If room is virtual (true) or physical (false)", alias="roomTypeIsVirtual") + rooms: Optional[List[GetReservationsResponseDataInnerGuestListValueRoomsInner]] = Field(default=None, description="List of all rooms that guest is assigned to") + unassigned_rooms: Optional[List[GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner]] = Field(default=None, description="List of all unassigned rooms", alias="unassignedRooms") + guest_requirements: Optional[Dict[str, Any]] = Field(default=None, description="Guest requirements data. Only included if `includeGuestsDetails=true` and `includeGuestRequirements=true`.", alias="guestRequirements") + custom_fields: Optional[List[GetGuestsModifiedResponseDataInnerCustomFieldsInner]] = Field(default=None, description="List of guest custom fields", alias="customFields") + is_anonymized: Optional[StrictBool] = Field(default=None, description="Flag indicating the guest data was removed upon request", alias="isAnonymized") + is_main_guest: Optional[StrictBool] = Field(default=None, description="Flag indicating the guest is the main guest on the reservation", alias="isMainGuest") + __properties: ClassVar[List[str]] = ["guestID", "guestName", "guestFirstName", "guestLastName", "guestGender", "guestEmail", "guestPhone", "guestCellPhone", "guestAddress", "guestAddress2", "guestCity", "guestState", "guestCountry", "guestZip", "guestBirthdate", "guestDocumentType", "guestDocumentNumber", "guestDocumentIssueDate", "guestDocumentIssuingCountry", "guestDocumentExpirationDate", "taxID", "companyTaxID", "companyName", "subReservationID", "startDate", "endDate", "assignedRoom", "roomID", "roomName", "roomTypeName", "roomTypeIsVirtual", "rooms", "unassignedRooms", "guestRequirements", "customFields", "isAnonymized", "isMainGuest"] + + @field_validator('guest_gender') + def guest_gender_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['M', 'F', 'N/A', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationsWithRateDetailsResponseDataInnerGuestListValue from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in rooms (list) + _items = [] + if self.rooms: + for _item_rooms in self.rooms: + if _item_rooms: + _items.append(_item_rooms.to_dict()) + _dict['rooms'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in unassigned_rooms (list) + _items = [] + if self.unassigned_rooms: + for _item_unassigned_rooms in self.unassigned_rooms: + if _item_unassigned_rooms: + _items.append(_item_unassigned_rooms.to_dict()) + _dict['unassignedRooms'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in custom_fields (list) + _items = [] + if self.custom_fields: + for _item_custom_fields in self.custom_fields: + if _item_custom_fields: + _items.append(_item_custom_fields.to_dict()) + _dict['customFields'] = _items + # set to None if guest_id (nullable) is None + # and model_fields_set contains the field + if self.guest_id is None and "guest_id" in self.model_fields_set: + _dict['guestID'] = None + + # set to None if guest_name (nullable) is None + # and model_fields_set contains the field + if self.guest_name is None and "guest_name" in self.model_fields_set: + _dict['guestName'] = None + + # set to None if guest_first_name (nullable) is None + # and model_fields_set contains the field + if self.guest_first_name is None and "guest_first_name" in self.model_fields_set: + _dict['guestFirstName'] = None + + # set to None if guest_last_name (nullable) is None + # and model_fields_set contains the field + if self.guest_last_name is None and "guest_last_name" in self.model_fields_set: + _dict['guestLastName'] = None + + # set to None if guest_gender (nullable) is None + # and model_fields_set contains the field + if self.guest_gender is None and "guest_gender" in self.model_fields_set: + _dict['guestGender'] = None + + # set to None if guest_email (nullable) is None + # and model_fields_set contains the field + if self.guest_email is None and "guest_email" in self.model_fields_set: + _dict['guestEmail'] = None + + # set to None if guest_phone (nullable) is None + # and model_fields_set contains the field + if self.guest_phone is None and "guest_phone" in self.model_fields_set: + _dict['guestPhone'] = None + + # set to None if guest_cell_phone (nullable) is None + # and model_fields_set contains the field + if self.guest_cell_phone is None and "guest_cell_phone" in self.model_fields_set: + _dict['guestCellPhone'] = None + + # set to None if guest_address (nullable) is None + # and model_fields_set contains the field + if self.guest_address is None and "guest_address" in self.model_fields_set: + _dict['guestAddress'] = None + + # set to None if guest_address2 (nullable) is None + # and model_fields_set contains the field + if self.guest_address2 is None and "guest_address2" in self.model_fields_set: + _dict['guestAddress2'] = None + + # set to None if guest_city (nullable) is None + # and model_fields_set contains the field + if self.guest_city is None and "guest_city" in self.model_fields_set: + _dict['guestCity'] = None + + # set to None if guest_state (nullable) is None + # and model_fields_set contains the field + if self.guest_state is None and "guest_state" in self.model_fields_set: + _dict['guestState'] = None + + # set to None if guest_country (nullable) is None + # and model_fields_set contains the field + if self.guest_country is None and "guest_country" in self.model_fields_set: + _dict['guestCountry'] = None + + # set to None if guest_zip (nullable) is None + # and model_fields_set contains the field + if self.guest_zip is None and "guest_zip" in self.model_fields_set: + _dict['guestZip'] = None + + # set to None if guest_birthdate (nullable) is None + # and model_fields_set contains the field + if self.guest_birthdate is None and "guest_birthdate" in self.model_fields_set: + _dict['guestBirthdate'] = None + + # set to None if guest_document_type (nullable) is None + # and model_fields_set contains the field + if self.guest_document_type is None and "guest_document_type" in self.model_fields_set: + _dict['guestDocumentType'] = None + + # set to None if guest_document_number (nullable) is None + # and model_fields_set contains the field + if self.guest_document_number is None and "guest_document_number" in self.model_fields_set: + _dict['guestDocumentNumber'] = None + + # set to None if guest_document_issue_date (nullable) is None + # and model_fields_set contains the field + if self.guest_document_issue_date is None and "guest_document_issue_date" in self.model_fields_set: + _dict['guestDocumentIssueDate'] = None + + # set to None if guest_document_issuing_country (nullable) is None + # and model_fields_set contains the field + if self.guest_document_issuing_country is None and "guest_document_issuing_country" in self.model_fields_set: + _dict['guestDocumentIssuingCountry'] = None + + # set to None if guest_document_expiration_date (nullable) is None + # and model_fields_set contains the field + if self.guest_document_expiration_date is None and "guest_document_expiration_date" in self.model_fields_set: + _dict['guestDocumentExpirationDate'] = None + + # set to None if tax_id (nullable) is None + # and model_fields_set contains the field + if self.tax_id is None and "tax_id" in self.model_fields_set: + _dict['taxID'] = None + + # set to None if company_tax_id (nullable) is None + # and model_fields_set contains the field + if self.company_tax_id is None and "company_tax_id" in self.model_fields_set: + _dict['companyTaxID'] = None + + # set to None if company_name (nullable) is None + # and model_fields_set contains the field + if self.company_name is None and "company_name" in self.model_fields_set: + _dict['companyName'] = None + + # set to None if sub_reservation_id (nullable) is None + # and model_fields_set contains the field + if self.sub_reservation_id is None and "sub_reservation_id" in self.model_fields_set: + _dict['subReservationID'] = None + + # set to None if start_date (nullable) is None + # and model_fields_set contains the field + if self.start_date is None and "start_date" in self.model_fields_set: + _dict['startDate'] = None + + # set to None if end_date (nullable) is None + # and model_fields_set contains the field + if self.end_date is None and "end_date" in self.model_fields_set: + _dict['endDate'] = None + + # set to None if assigned_room (nullable) is None + # and model_fields_set contains the field + if self.assigned_room is None and "assigned_room" in self.model_fields_set: + _dict['assignedRoom'] = None + + # set to None if room_id (nullable) is None + # and model_fields_set contains the field + if self.room_id is None and "room_id" in self.model_fields_set: + _dict['roomID'] = None + + # set to None if room_name (nullable) is None + # and model_fields_set contains the field + if self.room_name is None and "room_name" in self.model_fields_set: + _dict['roomName'] = None + + # set to None if room_type_name (nullable) is None + # and model_fields_set contains the field + if self.room_type_name is None and "room_type_name" in self.model_fields_set: + _dict['roomTypeName'] = None + + # set to None if room_type_is_virtual (nullable) is None + # and model_fields_set contains the field + if self.room_type_is_virtual is None and "room_type_is_virtual" in self.model_fields_set: + _dict['roomTypeIsVirtual'] = None + + # set to None if rooms (nullable) is None + # and model_fields_set contains the field + if self.rooms is None and "rooms" in self.model_fields_set: + _dict['rooms'] = None + + # set to None if unassigned_rooms (nullable) is None + # and model_fields_set contains the field + if self.unassigned_rooms is None and "unassigned_rooms" in self.model_fields_set: + _dict['unassignedRooms'] = None + + # set to None if guest_requirements (nullable) is None + # and model_fields_set contains the field + if self.guest_requirements is None and "guest_requirements" in self.model_fields_set: + _dict['guestRequirements'] = None + + # set to None if custom_fields (nullable) is None + # and model_fields_set contains the field + if self.custom_fields is None and "custom_fields" in self.model_fields_set: + _dict['customFields'] = None + + # set to None if is_anonymized (nullable) is None + # and model_fields_set contains the field + if self.is_anonymized is None and "is_anonymized" in self.model_fields_set: + _dict['isAnonymized'] = None + + # set to None if is_main_guest (nullable) is None + # and model_fields_set contains the field + if self.is_main_guest is None and "is_main_guest" in self.model_fields_set: + _dict['isMainGuest'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationsWithRateDetailsResponseDataInnerGuestListValue from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "guestID": obj.get("guestID"), + "guestName": obj.get("guestName"), + "guestFirstName": obj.get("guestFirstName"), + "guestLastName": obj.get("guestLastName"), + "guestGender": obj.get("guestGender"), + "guestEmail": obj.get("guestEmail"), + "guestPhone": obj.get("guestPhone"), + "guestCellPhone": obj.get("guestCellPhone"), + "guestAddress": obj.get("guestAddress"), + "guestAddress2": obj.get("guestAddress2"), + "guestCity": obj.get("guestCity"), + "guestState": obj.get("guestState"), + "guestCountry": obj.get("guestCountry"), + "guestZip": obj.get("guestZip"), + "guestBirthdate": obj.get("guestBirthdate"), + "guestDocumentType": obj.get("guestDocumentType"), + "guestDocumentNumber": obj.get("guestDocumentNumber"), + "guestDocumentIssueDate": obj.get("guestDocumentIssueDate"), + "guestDocumentIssuingCountry": obj.get("guestDocumentIssuingCountry"), + "guestDocumentExpirationDate": obj.get("guestDocumentExpirationDate"), + "taxID": obj.get("taxID"), + "companyTaxID": obj.get("companyTaxID"), + "companyName": obj.get("companyName"), + "subReservationID": obj.get("subReservationID"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "assignedRoom": obj.get("assignedRoom"), + "roomID": obj.get("roomID"), + "roomName": obj.get("roomName"), + "roomTypeName": obj.get("roomTypeName"), + "roomTypeIsVirtual": obj.get("roomTypeIsVirtual"), + "rooms": [GetReservationsResponseDataInnerGuestListValueRoomsInner.from_dict(_item) for _item in obj["rooms"]] if obj.get("rooms") is not None else None, + "unassignedRooms": [GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner.from_dict(_item) for _item in obj["unassignedRooms"]] if obj.get("unassignedRooms") is not None else None, + "guestRequirements": obj.get("guestRequirements"), + "customFields": [GetGuestsModifiedResponseDataInnerCustomFieldsInner.from_dict(_item) for _item in obj["customFields"]] if obj.get("customFields") is not None else None, + "isAnonymized": obj.get("isAnonymized"), + "isMainGuest": obj.get("isMainGuest") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner_rooms_inner.py b/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner_rooms_inner.py new file mode 100644 index 0000000..984352f --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner_rooms_inner.py @@ -0,0 +1,139 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationsWithRateDetailsResponseDataInnerRoomsInner(BaseModel): + """ + GetReservationsWithRateDetailsResponseDataInnerRoomsInner + """ # noqa: E501 + room_type_id: Optional[StrictStr] = Field(default=None, description="Room Type ID", alias="roomTypeID") + room_type_is_virtual: Optional[StrictBool] = Field(default=None, description="If room is virtual (true) or physical (false)", alias="roomTypeIsVirtual") + room_type_name: Optional[StrictStr] = Field(default=None, description="Room Type Name", alias="roomTypeName") + sub_reservation_id: Optional[StrictStr] = Field(default=None, description="sub Reservation ID (specific to each room)", alias="subReservationID") + guest_id: Optional[StrictStr] = Field(default=None, description="ID of the main guest assigned to the room", alias="guestID") + guest_name: Optional[StrictStr] = Field(default=None, description="Name of the main guest assigned to the room", alias="guestName") + rate_id: Optional[StrictStr] = Field(default=None, description="ID of the rate used for the booking room", alias="rateID") + rate_name: Optional[StrictStr] = Field(default=None, description="Name of the rate used for the booking room", alias="rateName") + adults: Optional[StrictStr] = Field(default=None, description="Number of adults in the room") + children: Optional[StrictStr] = Field(default=None, description="Number of children in the room") + reservation_room_id: Optional[StrictStr] = Field(default=None, description="Reservation room ID", alias="reservationRoomID") + room_id: Optional[StrictStr] = Field(default=None, description="Room ID (null if the reservation has not been assigned a specific room yet).", alias="roomID") + room_name: Optional[StrictStr] = Field(default=None, description="Name of the room, if roomID=null it does not exist.", alias="roomName") + room_check_in: Optional[StrictStr] = Field(default=None, description="Check-in date for the room", alias="roomCheckIn") + room_check_out: Optional[StrictStr] = Field(default=None, description="Check-out date for the room", alias="roomCheckOut") + room_status: Optional[StrictStr] = Field(default=None, alias="roomStatus") + detailed_room_rates: Optional[Dict[str, Any]] = Field(default=None, description="A map of dates to rates (key is date). It contains an entry for each reserved date.", alias="detailedRoomRates") + market_name: Optional[StrictStr] = Field(default=None, description="Market segmentation name", alias="marketName") + market_code: Optional[StrictStr] = Field(default=None, description="Market segmentation code", alias="marketCode") + __properties: ClassVar[List[str]] = ["roomTypeID", "roomTypeIsVirtual", "roomTypeName", "subReservationID", "guestID", "guestName", "rateID", "rateName", "adults", "children", "reservationRoomID", "roomID", "roomName", "roomCheckIn", "roomCheckOut", "roomStatus", "detailedRoomRates", "marketName", "marketCode"] + + @field_validator('room_status') + def room_status_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['cancelled', 'in_house', 'checked_out', 'not_checked_in', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationsWithRateDetailsResponseDataInnerRoomsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if room_name (nullable) is None + # and model_fields_set contains the field + if self.room_name is None and "room_name" in self.model_fields_set: + _dict['roomName'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationsWithRateDetailsResponseDataInnerRoomsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roomTypeID": obj.get("roomTypeID"), + "roomTypeIsVirtual": obj.get("roomTypeIsVirtual"), + "roomTypeName": obj.get("roomTypeName"), + "subReservationID": obj.get("subReservationID"), + "guestID": obj.get("guestID"), + "guestName": obj.get("guestName"), + "rateID": obj.get("rateID"), + "rateName": obj.get("rateName"), + "adults": obj.get("adults"), + "children": obj.get("children"), + "reservationRoomID": obj.get("reservationRoomID"), + "roomID": obj.get("roomID"), + "roomName": obj.get("roomName"), + "roomCheckIn": obj.get("roomCheckIn"), + "roomCheckOut": obj.get("roomCheckOut"), + "roomStatus": obj.get("roomStatus"), + "detailedRoomRates": obj.get("detailedRoomRates"), + "marketName": obj.get("marketName"), + "marketCode": obj.get("marketCode") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner_source.py b/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner_source.py new file mode 100644 index 0000000..420a6d6 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_reservations_with_rate_details_response_data_inner_source.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetReservationsWithRateDetailsResponseDataInnerSource(BaseModel): + """ + + """ # noqa: E501 + name: Optional[StrictStr] = Field(default=None, description="Reservation source") + payment_collect: Optional[StrictStr] = Field(default=None, description="Reservation payment collect source", alias="paymentCollect") + source_id: Optional[StrictStr] = Field(default=None, description="Booking source unique id", alias="sourceID") + category: Optional[StrictStr] = Field(default=None, description="Reservation source category") + __properties: ClassVar[List[str]] = ["name", "paymentCollect", "sourceID", "category"] + + @field_validator('payment_collect') + def payment_collect_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['hotel', 'collect', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetReservationsWithRateDetailsResponseDataInnerSource from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetReservationsWithRateDetailsResponseDataInnerSource from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "paymentCollect": obj.get("paymentCollect"), + "sourceID": obj.get("sourceID"), + "category": obj.get("category") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_room_blocks_response.py b/cloudbeds_pms_v1_3/models/get_room_blocks_response.py new file mode 100644 index 0000000..bb3ecf4 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_room_blocks_response.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_room_blocks_response_data_inner import GetRoomBlocksResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetRoomBlocksResponse(BaseModel): + """ + GetRoomBlocksResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetRoomBlocksResponseDataInner]] = Field(default=None, description="Room block details") + room_block_type: Optional[StrictStr] = Field(default=None, description="Room block type. ‘blocked’ - Room block. ‘out_of_service’ - Out of service block. 'courtesy_hold' - Courtesy hold block.", alias="roomBlockType") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "roomBlockType", "message"] + + @field_validator('room_block_type') + def room_block_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['blocked', 'out_of_service', 'courtesy_hold', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoomBlocksResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoomBlocksResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetRoomBlocksResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "roomBlockType": obj.get("roomBlockType"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_room_blocks_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_room_blocks_response_data_inner.py new file mode 100644 index 0000000..2c5aea6 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_room_blocks_response_data_inner.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_room_blocks_response_data_inner_rooms_inner import GetRoomBlocksResponseDataInnerRoomsInner +from typing import Optional, Set +from typing_extensions import Self + +class GetRoomBlocksResponseDataInner(BaseModel): + """ + GetRoomBlocksResponseDataInner + """ # noqa: E501 + room_block_id: Optional[StrictStr] = Field(default=None, description="Room block ID", alias="roomBlockID") + room_block_reason: Optional[StrictStr] = Field(default=None, description="Room block reason", alias="roomBlockReason") + start_date: Optional[date] = Field(default=None, description="Room block start date", alias="startDate") + end_date: Optional[date] = Field(default=None, description="Room block end date", alias="endDate") + rooms: Optional[List[GetRoomBlocksResponseDataInnerRoomsInner]] = Field(default=None, description="All rooms for Block ID. For properties using split inventory, this includes both source rooms (explicitly requested) and linked rooms (automatically added based on shared inventory configuration).") + count: Optional[StrictInt] = Field(default=None, description="Number of results (properties) returned.") + __properties: ClassVar[List[str]] = ["roomBlockID", "roomBlockReason", "startDate", "endDate", "rooms", "count"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoomBlocksResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in rooms (list) + _items = [] + if self.rooms: + for _item_rooms in self.rooms: + if _item_rooms: + _items.append(_item_rooms.to_dict()) + _dict['rooms'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoomBlocksResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roomBlockID": obj.get("roomBlockID"), + "roomBlockReason": obj.get("roomBlockReason"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "rooms": [GetRoomBlocksResponseDataInnerRoomsInner.from_dict(_item) for _item in obj["rooms"]] if obj.get("rooms") is not None else None, + "count": obj.get("count") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_room_blocks_response_data_inner_rooms_inner.py b/cloudbeds_pms_v1_3/models/get_room_blocks_response_data_inner_rooms_inner.py new file mode 100644 index 0000000..3c12cdf --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_room_blocks_response_data_inner_rooms_inner.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetRoomBlocksResponseDataInnerRoomsInner(BaseModel): + """ + GetRoomBlocksResponseDataInnerRoomsInner + """ # noqa: E501 + event_id: Optional[StrictStr] = Field(default=None, description="Event ID (unique identifier for this specific room's block entry)", alias="eventID") + room_id: Optional[StrictStr] = Field(default=None, description="Room ID", alias="roomID") + room_type_id: Optional[StrictStr] = Field(default=None, description="Room type ID", alias="roomTypeID") + is_source: Optional[StrictBool] = Field(default=None, description="Indicates whether this room was explicitly requested (true) or automatically added due to split inventory configuration (false). Auto-added rooms cannot be individually removed or swapped; they are managed through their source room.", alias="isSource") + __properties: ClassVar[List[str]] = ["eventID", "roomID", "roomTypeID", "isSource"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoomBlocksResponseDataInnerRoomsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoomBlocksResponseDataInnerRoomsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "eventID": obj.get("eventID"), + "roomID": obj.get("roomID"), + "roomTypeID": obj.get("roomTypeID"), + "isSource": obj.get("isSource") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_room_types_response.py b/cloudbeds_pms_v1_3/models/get_room_types_response.py new file mode 100644 index 0000000..ee761bb --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_room_types_response.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_room_types_response_data_inner import GetRoomTypesResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetRoomTypesResponse(BaseModel): + """ + GetRoomTypesResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetRoomTypesResponseDataInner]] = Field(default=None, description="Room Types details") + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoomTypesResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoomTypesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetRoomTypesResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_room_types_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_room_types_response_data_inner.py new file mode 100644 index 0000000..c6a8c0a --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_room_types_response_data_inner.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetRoomTypesResponseDataInner(BaseModel): + """ + GetRoomTypesResponseDataInner + """ # noqa: E501 + room_type_id: Optional[StrictStr] = Field(default=None, description="Room Type ID", alias="roomTypeID") + property_id: Optional[StrictStr] = Field(default=None, description="Property ID", alias="propertyID") + room_type_name: Optional[StrictStr] = Field(default=None, description="Room Type Name", alias="roomTypeName") + room_type_name_short: Optional[StrictStr] = Field(default=None, description="Room Type Short Name", alias="roomTypeNameShort") + room_type_description: Optional[StrictStr] = Field(default=None, description="Room Type Description", alias="roomTypeDescription") + is_private: Optional[StrictBool] = Field(default=None, description="Whether room is private or shared", alias="isPrivate") + max_guests: Optional[StrictInt] = Field(default=None, description="Max number of guests allowed in the room type", alias="maxGuests") + adults_included: Optional[StrictInt] = Field(default=None, description="Number of adults included on the basic room rate", alias="adultsIncluded") + children_included: Optional[StrictInt] = Field(default=None, description="Number of children included on the basic room rate", alias="childrenIncluded") + __properties: ClassVar[List[str]] = ["roomTypeID", "propertyID", "roomTypeName", "roomTypeNameShort", "roomTypeDescription", "isPrivate", "maxGuests", "adultsIncluded", "childrenIncluded"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoomTypesResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoomTypesResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roomTypeID": obj.get("roomTypeID"), + "propertyID": obj.get("propertyID"), + "roomTypeName": obj.get("roomTypeName"), + "roomTypeNameShort": obj.get("roomTypeNameShort"), + "roomTypeDescription": obj.get("roomTypeDescription"), + "isPrivate": obj.get("isPrivate"), + "maxGuests": obj.get("maxGuests"), + "adultsIncluded": obj.get("adultsIncluded"), + "childrenIncluded": obj.get("childrenIncluded") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rooms_fees_and_taxes_response.py b/cloudbeds_pms_v1_3/models/get_rooms_fees_and_taxes_response.py new file mode 100644 index 0000000..147584a --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rooms_fees_and_taxes_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data import GetRoomsFeesAndTaxesResponseData +from typing import Optional, Set +from typing_extensions import Self + +class GetRoomsFeesAndTaxesResponse(BaseModel): + """ + GetRoomsFeesAndTaxesResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[GetRoomsFeesAndTaxesResponseData] = None + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoomsFeesAndTaxesResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoomsFeesAndTaxesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": GetRoomsFeesAndTaxesResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rooms_fees_and_taxes_response_data.py b/cloudbeds_pms_v1_3/models/get_rooms_fees_and_taxes_response_data.py new file mode 100644 index 0000000..439344c --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rooms_fees_and_taxes_response_data.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt +from typing import Any, ClassVar, Dict, List, Optional, Union +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data_fees_inner import GetRoomsFeesAndTaxesResponseDataFeesInner +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data_taxes_inner import GetRoomsFeesAndTaxesResponseDataTaxesInner +from typing import Optional, Set +from typing_extensions import Self + +class GetRoomsFeesAndTaxesResponseData(BaseModel): + """ + Details of the fees and taxes applicable + """ # noqa: E501 + fees: Optional[List[GetRoomsFeesAndTaxesResponseDataFeesInner]] = Field(default=None, description="Details of the fees applicable") + taxes: Optional[List[GetRoomsFeesAndTaxesResponseDataTaxesInner]] = Field(default=None, description="Details of the taxes applicable") + rooms_total_without_taxes: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="\"roomsTotal\" parameter subtracting the included taxes", alias="roomsTotalWithoutTaxes") + grand_total: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Total with fees and taxes", alias="grandTotal") + __properties: ClassVar[List[str]] = ["fees", "taxes", "roomsTotalWithoutTaxes", "grandTotal"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoomsFeesAndTaxesResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in fees (list) + _items = [] + if self.fees: + for _item_fees in self.fees: + if _item_fees: + _items.append(_item_fees.to_dict()) + _dict['fees'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in taxes (list) + _items = [] + if self.taxes: + for _item_taxes in self.taxes: + if _item_taxes: + _items.append(_item_taxes.to_dict()) + _dict['taxes'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoomsFeesAndTaxesResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "fees": [GetRoomsFeesAndTaxesResponseDataFeesInner.from_dict(_item) for _item in obj["fees"]] if obj.get("fees") is not None else None, + "taxes": [GetRoomsFeesAndTaxesResponseDataTaxesInner.from_dict(_item) for _item in obj["taxes"]] if obj.get("taxes") is not None else None, + "roomsTotalWithoutTaxes": obj.get("roomsTotalWithoutTaxes"), + "grandTotal": obj.get("grandTotal") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rooms_fees_and_taxes_response_data_fees_inner.py b/cloudbeds_pms_v1_3/models/get_rooms_fees_and_taxes_response_data_fees_inner.py new file mode 100644 index 0000000..3d773e9 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rooms_fees_and_taxes_response_data_fees_inner.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GetRoomsFeesAndTaxesResponseDataFeesInner(BaseModel): + """ + GetRoomsFeesAndTaxesResponseDataFeesInner + """ # noqa: E501 + fee_name: Optional[StrictStr] = Field(default=None, description="Name of the fee", alias="feeName") + fee_value: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Value of the fee for the selected parameters", alias="feeValue") + total_fees: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Total value of the fees", alias="totalFees") + __properties: ClassVar[List[str]] = ["feeName", "feeValue", "totalFees"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoomsFeesAndTaxesResponseDataFeesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoomsFeesAndTaxesResponseDataFeesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "feeName": obj.get("feeName"), + "feeValue": obj.get("feeValue"), + "totalFees": obj.get("totalFees") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rooms_fees_and_taxes_response_data_taxes_inner.py b/cloudbeds_pms_v1_3/models/get_rooms_fees_and_taxes_response_data_taxes_inner.py new file mode 100644 index 0000000..2c19586 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rooms_fees_and_taxes_response_data_taxes_inner.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GetRoomsFeesAndTaxesResponseDataTaxesInner(BaseModel): + """ + GetRoomsFeesAndTaxesResponseDataTaxesInner + """ # noqa: E501 + fee_name: Optional[StrictStr] = Field(default=None, description="Name of the tax", alias="feeName") + fee_value: Optional[StrictStr] = Field(default=None, description="Value of the tax for the selected parameters", alias="feeValue") + total_taxes: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Total value of the taxes", alias="totalTaxes") + __properties: ClassVar[List[str]] = ["feeName", "feeValue", "totalTaxes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoomsFeesAndTaxesResponseDataTaxesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoomsFeesAndTaxesResponseDataTaxesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "feeName": obj.get("feeName"), + "feeValue": obj.get("feeValue"), + "totalTaxes": obj.get("totalTaxes") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rooms_response.py b/cloudbeds_pms_v1_3/models/get_rooms_response.py new file mode 100644 index 0000000..bd51bbf --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rooms_response.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_rooms_response_data_inner import GetRoomsResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetRoomsResponse(BaseModel): + """ + GetRoomsResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetRoomsResponseDataInner]] = Field(default=None, description="Room Types details") + count: Optional[StrictInt] = Field(default=None, description="Number of results (properties) returned") + total: Optional[StrictInt] = Field(default=None, description="Total number of results, can be more than what was returned") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "count", "total", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoomsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoomsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetRoomsResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "count": obj.get("count"), + "total": obj.get("total"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rooms_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_rooms_response_data_inner.py new file mode 100644 index 0000000..45c02a8 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rooms_response_data_inner.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_rooms_response_data_inner_rooms_inner import GetRoomsResponseDataInnerRoomsInner +from typing import Optional, Set +from typing_extensions import Self + +class GetRoomsResponseDataInner(BaseModel): + """ + GetRoomsResponseDataInner + """ # noqa: E501 + property_id: Optional[StrictStr] = Field(default=None, description="Property ID", alias="propertyID") + rooms: Optional[List[GetRoomsResponseDataInnerRoomsInner]] = Field(default=None, description="All rooms for property ID") + __properties: ClassVar[List[str]] = ["propertyID", "rooms"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoomsResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in rooms (list) + _items = [] + if self.rooms: + for _item_rooms in self.rooms: + if _item_rooms: + _items.append(_item_rooms.to_dict()) + _dict['rooms'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoomsResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyID": obj.get("propertyID"), + "rooms": [GetRoomsResponseDataInnerRoomsInner.from_dict(_item) for _item in obj["rooms"]] if obj.get("rooms") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rooms_response_data_inner_rooms_inner.py b/cloudbeds_pms_v1_3/models/get_rooms_response_data_inner_rooms_inner.py new file mode 100644 index 0000000..8a39c03 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rooms_response_data_inner_rooms_inner.py @@ -0,0 +1,138 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner import GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner +from typing import Optional, Set +from typing_extensions import Self + +class GetRoomsResponseDataInnerRoomsInner(BaseModel): + """ + GetRoomsResponseDataInnerRoomsInner + """ # noqa: E501 + room_id: Optional[StrictStr] = Field(default=None, description="Room ID", alias="roomID") + room_name: Optional[StrictStr] = Field(default=None, description="Room Name", alias="roomName") + dorm_room_name: Optional[StrictStr] = Field(default=None, description="Name of the dorm room. Used for the shared dorm beds that are organized into rooms within the same room type", alias="dormRoomName") + room_description: Optional[StrictStr] = Field(default=None, description="Room Description", alias="roomDescription") + max_guests: Optional[StrictInt] = Field(default=None, description="Number of guests that room allows", alias="maxGuests") + is_private: Optional[StrictBool] = Field(default=None, description="If room is private (true) or shared (false)", alias="isPrivate") + is_virtual: Optional[StrictBool] = Field(default=None, description="If room is virtual (true) or physical (false)", alias="isVirtual") + room_blocked: Optional[StrictBool] = Field(default=None, description="If room is blocked on calendar during the period selected. If no check-in/out dates are sent, it returns the status for the current day.", alias="roomBlocked") + room_type_id: Optional[StrictStr] = Field(default=None, description="Room type ID", alias="roomTypeID") + room_type_name: Optional[StrictStr] = Field(default=None, description="Room type Name", alias="roomTypeName") + room_type_name_short: Optional[StrictStr] = Field(default=None, description="Room type Short Name", alias="roomTypeNameShort") + doorlock_id: Optional[StrictStr] = Field(default=None, description="The doorlock ID for the room", alias="doorlockID") + linked_room_ids: Optional[List[StrictStr]] = Field(default=None, description="List of linked room IDs for this room (including nested relations). Only returned if includeRoomRelations is set to true", alias="linkedRoomIDs") + linked_room_type_ids: Optional[List[StrictStr]] = Field(default=None, description="List of linked room type IDs. Only returned if includeRoomRelations is set to true", alias="linkedRoomTypeIDs") + linked_room_type_qty: Optional[List[GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner]] = Field(default=None, description="Data about linked rooms count, grouped by room type. Only returned if includeRoomRelations is set to true", alias="linkedRoomTypeQty") + __properties: ClassVar[List[str]] = ["roomID", "roomName", "dormRoomName", "roomDescription", "maxGuests", "isPrivate", "isVirtual", "roomBlocked", "roomTypeID", "roomTypeName", "roomTypeNameShort", "doorlockID", "linkedRoomIDs", "linkedRoomTypeIDs", "linkedRoomTypeQty"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoomsResponseDataInnerRoomsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in linked_room_type_qty (list) + _items = [] + if self.linked_room_type_qty: + for _item_linked_room_type_qty in self.linked_room_type_qty: + if _item_linked_room_type_qty: + _items.append(_item_linked_room_type_qty.to_dict()) + _dict['linkedRoomTypeQty'] = _items + # set to None if linked_room_ids (nullable) is None + # and model_fields_set contains the field + if self.linked_room_ids is None and "linked_room_ids" in self.model_fields_set: + _dict['linkedRoomIDs'] = None + + # set to None if linked_room_type_ids (nullable) is None + # and model_fields_set contains the field + if self.linked_room_type_ids is None and "linked_room_type_ids" in self.model_fields_set: + _dict['linkedRoomTypeIDs'] = None + + # set to None if linked_room_type_qty (nullable) is None + # and model_fields_set contains the field + if self.linked_room_type_qty is None and "linked_room_type_qty" in self.model_fields_set: + _dict['linkedRoomTypeQty'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoomsResponseDataInnerRoomsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roomID": obj.get("roomID"), + "roomName": obj.get("roomName"), + "dormRoomName": obj.get("dormRoomName"), + "roomDescription": obj.get("roomDescription"), + "maxGuests": obj.get("maxGuests"), + "isPrivate": obj.get("isPrivate"), + "isVirtual": obj.get("isVirtual"), + "roomBlocked": obj.get("roomBlocked"), + "roomTypeID": obj.get("roomTypeID"), + "roomTypeName": obj.get("roomTypeName"), + "roomTypeNameShort": obj.get("roomTypeNameShort"), + "doorlockID": obj.get("doorlockID"), + "linkedRoomIDs": obj.get("linkedRoomIDs"), + "linkedRoomTypeIDs": obj.get("linkedRoomTypeIDs"), + "linkedRoomTypeQty": [GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner.from_dict(_item) for _item in obj["linkedRoomTypeQty"]] if obj.get("linkedRoomTypeQty") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner.py b/cloudbeds_pms_v1_3/models/get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner.py new file mode 100644 index 0000000..a7e5504 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner(BaseModel): + """ + GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner + """ # noqa: E501 + room_type_id: Optional[StrictStr] = Field(default=None, description="Room type ID", alias="roomTypeId") + room_qty: Optional[StrictInt] = Field(default=None, description="Related rooms count", alias="roomQty") + __properties: ClassVar[List[str]] = ["roomTypeId", "roomQty"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if room_type_id (nullable) is None + # and model_fields_set contains the field + if self.room_type_id is None and "room_type_id" in self.model_fields_set: + _dict['roomTypeId'] = None + + # set to None if room_qty (nullable) is None + # and model_fields_set contains the field + if self.room_qty is None and "room_qty" in self.model_fields_set: + _dict['roomQty'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roomTypeId": obj.get("roomTypeId"), + "roomQty": obj.get("roomQty") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rooms_unassigned_response.py b/cloudbeds_pms_v1_3/models/get_rooms_unassigned_response.py new file mode 100644 index 0000000..771a9cb --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rooms_unassigned_response.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_rooms_unassigned_response_data_inner import GetRoomsUnassignedResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetRoomsUnassignedResponse(BaseModel): + """ + GetRoomsUnassignedResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetRoomsUnassignedResponseDataInner]] = Field(default=None, description="Room Types details") + count: Optional[StrictInt] = Field(default=None, description="Number of results (properties) returned") + total: Optional[StrictInt] = Field(default=None, description="Total number of results, can be more than what was returned") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "count", "total", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoomsUnassignedResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoomsUnassignedResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetRoomsUnassignedResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "count": obj.get("count"), + "total": obj.get("total"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rooms_unassigned_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_rooms_unassigned_response_data_inner.py new file mode 100644 index 0000000..fc46c8a --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rooms_unassigned_response_data_inner.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_rooms_unassigned_response_data_inner_rooms_inner import GetRoomsUnassignedResponseDataInnerRoomsInner +from typing import Optional, Set +from typing_extensions import Self + +class GetRoomsUnassignedResponseDataInner(BaseModel): + """ + GetRoomsUnassignedResponseDataInner + """ # noqa: E501 + property_id: Optional[StrictStr] = Field(default=None, description="Property ID", alias="propertyID") + rooms: Optional[List[GetRoomsUnassignedResponseDataInnerRoomsInner]] = Field(default=None, description="All rooms for property ID") + __properties: ClassVar[List[str]] = ["propertyID", "rooms"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoomsUnassignedResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in rooms (list) + _items = [] + if self.rooms: + for _item_rooms in self.rooms: + if _item_rooms: + _items.append(_item_rooms.to_dict()) + _dict['rooms'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoomsUnassignedResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyID": obj.get("propertyID"), + "rooms": [GetRoomsUnassignedResponseDataInnerRoomsInner.from_dict(_item) for _item in obj["rooms"]] if obj.get("rooms") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_rooms_unassigned_response_data_inner_rooms_inner.py b/cloudbeds_pms_v1_3/models/get_rooms_unassigned_response_data_inner_rooms_inner.py new file mode 100644 index 0000000..1ffe7df --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_rooms_unassigned_response_data_inner_rooms_inner.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetRoomsUnassignedResponseDataInnerRoomsInner(BaseModel): + """ + GetRoomsUnassignedResponseDataInnerRoomsInner + """ # noqa: E501 + room_id: Optional[StrictStr] = Field(default=None, description="Room ID", alias="roomID") + room_name: Optional[StrictStr] = Field(default=None, description="Room Name", alias="roomName") + dorm_room_name: Optional[StrictStr] = Field(default=None, description="Name of the dorm room. Used for the shared dorm beds that are organized into rooms within the same room type", alias="dormRoomName") + room_description: Optional[StrictStr] = Field(default=None, description="Room Description", alias="roomDescription") + max_guests: Optional[StrictInt] = Field(default=None, description="Number of guests that room allows", alias="maxGuests") + is_private: Optional[StrictBool] = Field(default=None, description="If room is private (true) or shared (false)", alias="isPrivate") + is_virtual: Optional[StrictBool] = Field(default=None, description="If room is virtual (true) or physical (false)", alias="isVirtual") + room_blocked: Optional[StrictBool] = Field(default=None, description="If room is blocked on calendar during the period selected. If no check-in/out dates are sent, it returns the status for the current day.", alias="roomBlocked") + room_type_id: Optional[StrictStr] = Field(default=None, description="Room type ID", alias="roomTypeID") + room_type_name: Optional[StrictStr] = Field(default=None, description="Room type Name", alias="roomTypeName") + room_type_name_short: Optional[StrictStr] = Field(default=None, description="Room type Short Name", alias="roomTypeNameShort") + __properties: ClassVar[List[str]] = ["roomID", "roomName", "dormRoomName", "roomDescription", "maxGuests", "isPrivate", "isVirtual", "roomBlocked", "roomTypeID", "roomTypeName", "roomTypeNameShort"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRoomsUnassignedResponseDataInnerRoomsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRoomsUnassignedResponseDataInnerRoomsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roomID": obj.get("roomID"), + "roomName": obj.get("roomName"), + "dormRoomName": obj.get("dormRoomName"), + "roomDescription": obj.get("roomDescription"), + "maxGuests": obj.get("maxGuests"), + "isPrivate": obj.get("isPrivate"), + "isVirtual": obj.get("isVirtual"), + "roomBlocked": obj.get("roomBlocked"), + "roomTypeID": obj.get("roomTypeID"), + "roomTypeName": obj.get("roomTypeName"), + "roomTypeNameShort": obj.get("roomTypeNameShort") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_sources_response.py b/cloudbeds_pms_v1_3/models/get_sources_response.py new file mode 100644 index 0000000..db7435c --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_sources_response.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_sources_response_data_inner import GetSourcesResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetSourcesResponse(BaseModel): + """ + GetSourcesResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetSourcesResponseDataInner]] = None + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetSourcesResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetSourcesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetSourcesResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_sources_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_sources_response_data_inner.py new file mode 100644 index 0000000..1c840f0 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_sources_response_data_inner.py @@ -0,0 +1,130 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from cloudbeds_pms_v1_3.models.get_sources_response_data_inner_fees_inner import GetSourcesResponseDataInnerFeesInner +from cloudbeds_pms_v1_3.models.get_sources_response_data_inner_taxes_inner import GetSourcesResponseDataInnerTaxesInner +from typing import Optional, Set +from typing_extensions import Self + +class GetSourcesResponseDataInner(BaseModel): + """ + GetSourcesResponseDataInner + """ # noqa: E501 + property_id: Optional[StrictStr] = Field(default=None, description="Property Id", alias="propertyID") + source_id: Optional[StrictStr] = Field(default=None, description="Source Identifier", alias="sourceID") + source_name: Optional[StrictStr] = Field(default=None, description="Source Name", alias="sourceName") + is_third_party: Optional[StrictBool] = Field(default=None, description="true if source is from third party", alias="isThirdParty") + status: Optional[StrictBool] = Field(default=None, description="true if source is active") + commission: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="How much commission charged by source (in %)") + payment_collect: Optional[StrictStr] = Field(default=None, description="Type of payment collect practiced by source", alias="paymentCollect") + taxes: Optional[List[GetSourcesResponseDataInnerTaxesInner]] = None + fees: Optional[List[GetSourcesResponseDataInnerFeesInner]] = None + __properties: ClassVar[List[str]] = ["propertyID", "sourceID", "sourceName", "isThirdParty", "status", "commission", "paymentCollect", "taxes", "fees"] + + @field_validator('payment_collect') + def payment_collect_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['hotel', 'channel', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetSourcesResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in taxes (list) + _items = [] + if self.taxes: + for _item_taxes in self.taxes: + if _item_taxes: + _items.append(_item_taxes.to_dict()) + _dict['taxes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in fees (list) + _items = [] + if self.fees: + for _item_fees in self.fees: + if _item_fees: + _items.append(_item_fees.to_dict()) + _dict['fees'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetSourcesResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyID": obj.get("propertyID"), + "sourceID": obj.get("sourceID"), + "sourceName": obj.get("sourceName"), + "isThirdParty": obj.get("isThirdParty"), + "status": obj.get("status"), + "commission": obj.get("commission"), + "paymentCollect": obj.get("paymentCollect"), + "taxes": [GetSourcesResponseDataInnerTaxesInner.from_dict(_item) for _item in obj["taxes"]] if obj.get("taxes") is not None else None, + "fees": [GetSourcesResponseDataInnerFeesInner.from_dict(_item) for _item in obj["fees"]] if obj.get("fees") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_sources_response_data_inner_fees_inner.py b/cloudbeds_pms_v1_3/models/get_sources_response_data_inner_fees_inner.py new file mode 100644 index 0000000..6a01f30 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_sources_response_data_inner_fees_inner.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GetSourcesResponseDataInnerFeesInner(BaseModel): + """ + GetSourcesResponseDataInnerFeesInner + """ # noqa: E501 + fee_id: Optional[StrictInt] = Field(default=None, description="ID of fee", alias="feeID") + name: Optional[StrictStr] = Field(default=None, description="Name of fee") + amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Value of fee") + amount_type: Optional[StrictStr] = Field(default=None, description="If fee is percentage of amount or fixed", alias="amountType") + type: Optional[StrictStr] = Field(default=None, description="If fee is included or not in final price") + __properties: ClassVar[List[str]] = ["feeID", "name", "amount", "amountType", "type"] + + @field_validator('amount_type') + def amount_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['percentage', 'fixed', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['exclusive', 'inclusive', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetSourcesResponseDataInnerFeesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetSourcesResponseDataInnerFeesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "feeID": obj.get("feeID"), + "name": obj.get("name"), + "amount": obj.get("amount"), + "amountType": obj.get("amountType"), + "type": obj.get("type") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_sources_response_data_inner_taxes_inner.py b/cloudbeds_pms_v1_3/models/get_sources_response_data_inner_taxes_inner.py new file mode 100644 index 0000000..045b4f6 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_sources_response_data_inner_taxes_inner.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GetSourcesResponseDataInnerTaxesInner(BaseModel): + """ + GetSourcesResponseDataInnerTaxesInner + """ # noqa: E501 + tax_id: Optional[StrictStr] = Field(default=None, description="ID of tax", alias="taxID") + name: Optional[StrictStr] = Field(default=None, description="Name of tax") + amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Value of tax") + amount_type: Optional[StrictStr] = Field(default=None, description="If tax is percentage of amount or fixed", alias="amountType") + type: Optional[StrictStr] = Field(default=None, description="If tax is included or not in final price") + __properties: ClassVar[List[str]] = ["taxID", "name", "amount", "amountType", "type"] + + @field_validator('amount_type') + def amount_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['percentage', 'fixed', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['exclusive', 'inclusive', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetSourcesResponseDataInnerTaxesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetSourcesResponseDataInnerTaxesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "taxID": obj.get("taxID"), + "name": obj.get("name"), + "amount": obj.get("amount"), + "amountType": obj.get("amountType"), + "type": obj.get("type") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response.py new file mode 100644 index 0000000..0158e9a --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response.py @@ -0,0 +1,116 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner import GetTaxesAndFeesResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetTaxesAndFeesResponse(BaseModel): + """ + GetTaxesAndFeesResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + data: Optional[List[GetTaxesAndFeesResponseDataInner]] = Field(default=None, description="Details for the taxes and fees. If success = false, it may not exist.") + total: Optional[StrictInt] = Field(default=None, description="Total number of results") + __properties: ClassVar[List[str]] = ["success", "message", "data", "total"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + + # set to None if total (nullable) is None + # and model_fields_set contains the field + if self.total is None and "total" in self.model_fields_set: + _dict['total'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message"), + "data": [GetTaxesAndFeesResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "total": obj.get("total") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner.py new file mode 100644 index 0000000..d1953b2 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner.py @@ -0,0 +1,247 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_adult import GetTaxesAndFeesResponseDataInnerAmountAdult +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_child import GetTaxesAndFeesResponseDataInnerAmountChild +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner import GetTaxesAndFeesResponseDataInnerAmountRateBasedInner +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner import GetTaxesAndFeesResponseDataInnerDateRangesInner +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings import GetTaxesAndFeesResponseDataInnerLengthOfStaySettings +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_room_types_inner import GetTaxesAndFeesResponseDataInnerRoomTypesInner +from typing import Optional, Set +from typing_extensions import Self + +class GetTaxesAndFeesResponseDataInner(BaseModel): + """ + GetTaxesAndFeesResponseDataInner + """ # noqa: E501 + type: Optional[StrictStr] = Field(default=None, description="Type. Fee or tax.") + fee_id: Optional[StrictStr] = Field(default=None, description="Fee's unique identifier. Only exists if type = fee.", alias="feeID") + tax_id: Optional[StrictStr] = Field(default=None, description="Tax's unique identifier. Only exists if type = tax.", alias="taxID") + name: Optional[StrictStr] = Field(default=None, description="Name") + code: Optional[StrictStr] = Field(default=None, description="Code") + kind: Optional[StrictStr] = Field(default=None, description="Tax kind. Currently supports \"vat\", \"municipal_tax\" or null. Only exists if type = tax.") + amount: Optional[StrictStr] = Field(default=None, description="Amount") + amount_adult: Optional[GetTaxesAndFeesResponseDataInnerAmountAdult] = Field(default=None, alias="amountAdult") + amount_child: Optional[GetTaxesAndFeesResponseDataInnerAmountChild] = Field(default=None, alias="amountChild") + amount_rate_based: Optional[List[GetTaxesAndFeesResponseDataInnerAmountRateBasedInner]] = Field(default=None, description="Rules defined for Rate-Based taxes/fees. Only applicable if amountType = percentage_rate_based (Rate-based)", alias="amountRateBased") + amount_type: Optional[StrictStr] = Field(default=None, description="Amount type. They mean:
ValueMeaning
percentagePercentage of Total Amount
fixedFixed per Room Night / Item
fixed_per_personFixed per Person per Night
fixed_per_accomodationFixed per Accomodation
fixed_per_reservationFixed per Reservation
percentage_rate_basedRate-based
", alias="amountType") + available_for: Optional[List[StrictStr]] = Field(default=None, description="Where this tax/fee is available?
They mean:
ValueMeaning
productItems
rateReservations
feeFees -- this tax is charged on top of some fees
custom_itemCustom item - this tax was charged for a custom item
", alias="availableFor") + fees_charged: Optional[List[StrictStr]] = Field(default=None, description="List of Fee IDs charged by the current tax. Only exists if type = tax.", alias="feesCharged") + inclusive_or_exclusive: Optional[StrictStr] = Field(default=None, description="If this tax/fee is inclusive or exclusive", alias="inclusiveOrExclusive") + is_deleted: Optional[StrictBool] = Field(default=None, description="Flag indicating if tax was deleted from the system", alias="isDeleted") + child_id: Optional[StrictStr] = Field(default=None, description="ID of the tax or fee that replaced current one", alias="childId") + created_at: Optional[StrictStr] = Field(default=None, description="Date when tax or fee was created in the system", alias="createdAt") + expired_at: Optional[StrictStr] = Field(default=None, description="Date when tax or fee was expired", alias="expiredAt") + room_types: Optional[List[GetTaxesAndFeesResponseDataInnerRoomTypesInner]] = Field(default=None, description="Room types this tax/fee applies to", alias="roomTypes") + date_ranges: Optional[List[GetTaxesAndFeesResponseDataInnerDateRangesInner]] = Field(default=None, description="Date ranges when this tax/fee is applicable", alias="dateRanges") + length_of_stay_settings: Optional[GetTaxesAndFeesResponseDataInnerLengthOfStaySettings] = Field(default=None, alias="lengthOfStaySettings") + __properties: ClassVar[List[str]] = ["type", "feeID", "taxID", "name", "code", "kind", "amount", "amountAdult", "amountChild", "amountRateBased", "amountType", "availableFor", "feesCharged", "inclusiveOrExclusive", "isDeleted", "childId", "createdAt", "expiredAt", "roomTypes", "dateRanges", "lengthOfStaySettings"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['fee', 'tax', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + @field_validator('amount_type') + def amount_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['percentage', 'fixed', 'fixed_per_person', 'fixed_per_accomodation', 'fixed_per_reservation', 'percentage_rate_based', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + @field_validator('available_for') + def available_for_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['product', 'rate', 'fee', 'custom_item', 'unknown_default_open_api']) + # Map unknown values to the fallback + return [i if i in _allowed_values else 'unknown_default_open_api' for i in value] + return value + + @field_validator('inclusive_or_exclusive') + def inclusive_or_exclusive_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['inclusive', 'exclusive', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of amount_adult + if self.amount_adult: + _dict['amountAdult'] = self.amount_adult.to_dict() + # override the default output from pydantic by calling `to_dict()` of amount_child + if self.amount_child: + _dict['amountChild'] = self.amount_child.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in amount_rate_based (list) + _items = [] + if self.amount_rate_based: + for _item_amount_rate_based in self.amount_rate_based: + if _item_amount_rate_based: + _items.append(_item_amount_rate_based.to_dict()) + _dict['amountRateBased'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in room_types (list) + _items = [] + if self.room_types: + for _item_room_types in self.room_types: + if _item_room_types: + _items.append(_item_room_types.to_dict()) + _dict['roomTypes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in date_ranges (list) + _items = [] + if self.date_ranges: + for _item_date_ranges in self.date_ranges: + if _item_date_ranges: + _items.append(_item_date_ranges.to_dict()) + _dict['dateRanges'] = _items + # override the default output from pydantic by calling `to_dict()` of length_of_stay_settings + if self.length_of_stay_settings: + _dict['lengthOfStaySettings'] = self.length_of_stay_settings.to_dict() + # set to None if fee_id (nullable) is None + # and model_fields_set contains the field + if self.fee_id is None and "fee_id" in self.model_fields_set: + _dict['feeID'] = None + + # set to None if tax_id (nullable) is None + # and model_fields_set contains the field + if self.tax_id is None and "tax_id" in self.model_fields_set: + _dict['taxID'] = None + + # set to None if kind (nullable) is None + # and model_fields_set contains the field + if self.kind is None and "kind" in self.model_fields_set: + _dict['kind'] = None + + # set to None if amount_rate_based (nullable) is None + # and model_fields_set contains the field + if self.amount_rate_based is None and "amount_rate_based" in self.model_fields_set: + _dict['amountRateBased'] = None + + # set to None if fees_charged (nullable) is None + # and model_fields_set contains the field + if self.fees_charged is None and "fees_charged" in self.model_fields_set: + _dict['feesCharged'] = None + + # set to None if room_types (nullable) is None + # and model_fields_set contains the field + if self.room_types is None and "room_types" in self.model_fields_set: + _dict['roomTypes'] = None + + # set to None if date_ranges (nullable) is None + # and model_fields_set contains the field + if self.date_ranges is None and "date_ranges" in self.model_fields_set: + _dict['dateRanges'] = None + + # set to None if length_of_stay_settings (nullable) is None + # and model_fields_set contains the field + if self.length_of_stay_settings is None and "length_of_stay_settings" in self.model_fields_set: + _dict['lengthOfStaySettings'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "feeID": obj.get("feeID"), + "taxID": obj.get("taxID"), + "name": obj.get("name"), + "code": obj.get("code"), + "kind": obj.get("kind"), + "amount": obj.get("amount"), + "amountAdult": GetTaxesAndFeesResponseDataInnerAmountAdult.from_dict(obj["amountAdult"]) if obj.get("amountAdult") is not None else None, + "amountChild": GetTaxesAndFeesResponseDataInnerAmountChild.from_dict(obj["amountChild"]) if obj.get("amountChild") is not None else None, + "amountRateBased": [GetTaxesAndFeesResponseDataInnerAmountRateBasedInner.from_dict(_item) for _item in obj["amountRateBased"]] if obj.get("amountRateBased") is not None else None, + "amountType": obj.get("amountType"), + "availableFor": obj.get("availableFor"), + "feesCharged": obj.get("feesCharged"), + "inclusiveOrExclusive": obj.get("inclusiveOrExclusive"), + "isDeleted": obj.get("isDeleted"), + "childId": obj.get("childId"), + "createdAt": obj.get("createdAt"), + "expiredAt": obj.get("expiredAt"), + "roomTypes": [GetTaxesAndFeesResponseDataInnerRoomTypesInner.from_dict(_item) for _item in obj["roomTypes"]] if obj.get("roomTypes") is not None else None, + "dateRanges": [GetTaxesAndFeesResponseDataInnerDateRangesInner.from_dict(_item) for _item in obj["dateRanges"]] if obj.get("dateRanges") is not None else None, + "lengthOfStaySettings": GetTaxesAndFeesResponseDataInnerLengthOfStaySettings.from_dict(obj["lengthOfStaySettings"]) if obj.get("lengthOfStaySettings") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_adult.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_adult.py new file mode 100644 index 0000000..ce553cf --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_adult.py @@ -0,0 +1,143 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional, Union +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +GETTAXESANDFEESRESPONSEDATAINNERAMOUNTADULT_ONE_OF_SCHEMAS = ["float", "str"] + +class GetTaxesAndFeesResponseDataInnerAmountAdult(BaseModel): + """ + Amount charged per adult. Only applicable if amountType = fixed_per_person (Per Person Per Night) + """ + # data type: str + oneof_schema_1_validator: Optional[StrictStr] = None + # data type: float + oneof_schema_2_validator: Optional[Union[StrictFloat, StrictInt]] = None + actual_instance: Optional[Union[float, str]] = None + one_of_schemas: Set[str] = { "float", "str" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = GetTaxesAndFeesResponseDataInnerAmountAdult.model_construct() + error_messages = [] + match = 0 + # validate data type: str + try: + instance.oneof_schema_1_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: float + try: + instance.oneof_schema_2_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in GetTaxesAndFeesResponseDataInnerAmountAdult with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in GetTaxesAndFeesResponseDataInnerAmountAdult with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into str + try: + # validation + instance.oneof_schema_1_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_1_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into float + try: + # validation + instance.oneof_schema_2_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_2_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into GetTaxesAndFeesResponseDataInnerAmountAdult with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into GetTaxesAndFeesResponseDataInnerAmountAdult with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], float, str]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_child.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_child.py new file mode 100644 index 0000000..dce3b89 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_child.py @@ -0,0 +1,143 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional, Union +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +GETTAXESANDFEESRESPONSEDATAINNERAMOUNTCHILD_ONE_OF_SCHEMAS = ["float", "str"] + +class GetTaxesAndFeesResponseDataInnerAmountChild(BaseModel): + """ + Amount charged per children. Only applicable if amountType = fixed_per_person (Per Person Per Night) + """ + # data type: str + oneof_schema_1_validator: Optional[StrictStr] = None + # data type: float + oneof_schema_2_validator: Optional[Union[StrictFloat, StrictInt]] = None + actual_instance: Optional[Union[float, str]] = None + one_of_schemas: Set[str] = { "float", "str" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = GetTaxesAndFeesResponseDataInnerAmountChild.model_construct() + error_messages = [] + match = 0 + # validate data type: str + try: + instance.oneof_schema_1_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: float + try: + instance.oneof_schema_2_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in GetTaxesAndFeesResponseDataInnerAmountChild with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in GetTaxesAndFeesResponseDataInnerAmountChild with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into str + try: + # validation + instance.oneof_schema_1_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_1_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into float + try: + # validation + instance.oneof_schema_2_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_2_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into GetTaxesAndFeesResponseDataInnerAmountChild with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into GetTaxesAndFeesResponseDataInnerAmountChild with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], float, str]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_rate_based_inner.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_rate_based_inner.py new file mode 100644 index 0000000..78086fa --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_rate_based_inner.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage import GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate import GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate +from typing import Optional, Set +from typing_extensions import Self + +class GetTaxesAndFeesResponseDataInnerAmountRateBasedInner(BaseModel): + """ + GetTaxesAndFeesResponseDataInnerAmountRateBasedInner + """ # noqa: E501 + rate: Optional[GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate] = None + percentage: Optional[GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage] = None + __properties: ClassVar[List[str]] = ["rate", "percentage"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInnerAmountRateBasedInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of rate + if self.rate: + _dict['rate'] = self.rate.to_dict() + # override the default output from pydantic by calling `to_dict()` of percentage + if self.percentage: + _dict['percentage'] = self.percentage.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInnerAmountRateBasedInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "rate": GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate.from_dict(obj["rate"]) if obj.get("rate") is not None else None, + "percentage": GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage.from_dict(obj["percentage"]) if obj.get("percentage") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage.py new file mode 100644 index 0000000..544537f --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage.py @@ -0,0 +1,143 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional, Union +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +GETTAXESANDFEESRESPONSEDATAINNERAMOUNTRATEBASEDINNERPERCENTAGE_ONE_OF_SCHEMAS = ["float", "str"] + +class GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage(BaseModel): + """ + Percentage applied for the rate + """ + # data type: str + oneof_schema_1_validator: Optional[StrictStr] = None + # data type: float + oneof_schema_2_validator: Optional[Union[StrictFloat, StrictInt]] = None + actual_instance: Optional[Union[float, str]] = None + one_of_schemas: Set[str] = { "float", "str" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage.model_construct() + error_messages = [] + match = 0 + # validate data type: str + try: + instance.oneof_schema_1_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: float + try: + instance.oneof_schema_2_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into str + try: + # validation + instance.oneof_schema_1_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_1_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into float + try: + # validation + instance.oneof_schema_2_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_2_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], float, str]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate.py new file mode 100644 index 0000000..0eb83b8 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate.py @@ -0,0 +1,143 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional, Union +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +GETTAXESANDFEESRESPONSEDATAINNERAMOUNTRATEBASEDINNERRATE_ONE_OF_SCHEMAS = ["float", "str"] + +class GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate(BaseModel): + """ + Maximum rate for which this amount is valid + """ + # data type: str + oneof_schema_1_validator: Optional[StrictStr] = None + # data type: float + oneof_schema_2_validator: Optional[Union[StrictFloat, StrictInt]] = None + actual_instance: Optional[Union[float, str]] = None + one_of_schemas: Set[str] = { "float", "str" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate.model_construct() + error_messages = [] + match = 0 + # validate data type: str + try: + instance.oneof_schema_1_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: float + try: + instance.oneof_schema_2_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into str + try: + # validation + instance.oneof_schema_1_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_1_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into float + try: + # validation + instance.oneof_schema_2_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_2_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], float, str]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner.py new file mode 100644 index 0000000..db31e61 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner.py @@ -0,0 +1,137 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_adult import GetTaxesAndFeesResponseDataInnerAmountAdult +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_child import GetTaxesAndFeesResponseDataInnerAmountChild +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner import GetTaxesAndFeesResponseDataInnerAmountRateBasedInner +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_amount import GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings import GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length import GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength +from typing import Optional, Set +from typing_extensions import Self + +class GetTaxesAndFeesResponseDataInnerDateRangesInner(BaseModel): + """ + GetTaxesAndFeesResponseDataInnerDateRangesInner + """ # noqa: E501 + range: Optional[StrictStr] = Field(default=None, description="ISO 8601 date range. It can be in the format YYYY-MM-DD/YYYY-MM-DD or YYYY-MM-DD/ (to indicate that the end date is not defined). In case of empty year the format is --MM-DD/--MM-DD") + amount: Optional[GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount] = None + amount_adult: Optional[GetTaxesAndFeesResponseDataInnerAmountAdult] = Field(default=None, alias="amountAdult") + amount_child: Optional[GetTaxesAndFeesResponseDataInnerAmountChild] = Field(default=None, alias="amountChild") + max_length: Optional[GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength] = Field(default=None, alias="maxLength") + amount_rate_based: Optional[List[GetTaxesAndFeesResponseDataInnerAmountRateBasedInner]] = Field(default=None, description="Rules defined for Rate-Based taxes/fees. Only applicable if amountType = percentage_rate_based (Rate-based)", alias="amountRateBased") + length_of_stay_settings: Optional[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings] = Field(default=None, alias="lengthOfStaySettings") + __properties: ClassVar[List[str]] = ["range", "amount", "amountAdult", "amountChild", "maxLength", "amountRateBased", "lengthOfStaySettings"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of amount + if self.amount: + _dict['amount'] = self.amount.to_dict() + # override the default output from pydantic by calling `to_dict()` of amount_adult + if self.amount_adult: + _dict['amountAdult'] = self.amount_adult.to_dict() + # override the default output from pydantic by calling `to_dict()` of amount_child + if self.amount_child: + _dict['amountChild'] = self.amount_child.to_dict() + # override the default output from pydantic by calling `to_dict()` of max_length + if self.max_length: + _dict['maxLength'] = self.max_length.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in amount_rate_based (list) + _items = [] + if self.amount_rate_based: + for _item_amount_rate_based in self.amount_rate_based: + if _item_amount_rate_based: + _items.append(_item_amount_rate_based.to_dict()) + _dict['amountRateBased'] = _items + # override the default output from pydantic by calling `to_dict()` of length_of_stay_settings + if self.length_of_stay_settings: + _dict['lengthOfStaySettings'] = self.length_of_stay_settings.to_dict() + # set to None if amount_rate_based (nullable) is None + # and model_fields_set contains the field + if self.amount_rate_based is None and "amount_rate_based" in self.model_fields_set: + _dict['amountRateBased'] = None + + # set to None if length_of_stay_settings (nullable) is None + # and model_fields_set contains the field + if self.length_of_stay_settings is None and "length_of_stay_settings" in self.model_fields_set: + _dict['lengthOfStaySettings'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "range": obj.get("range"), + "amount": GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount.from_dict(obj["amount"]) if obj.get("amount") is not None else None, + "amountAdult": GetTaxesAndFeesResponseDataInnerAmountAdult.from_dict(obj["amountAdult"]) if obj.get("amountAdult") is not None else None, + "amountChild": GetTaxesAndFeesResponseDataInnerAmountChild.from_dict(obj["amountChild"]) if obj.get("amountChild") is not None else None, + "maxLength": GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength.from_dict(obj["maxLength"]) if obj.get("maxLength") is not None else None, + "amountRateBased": [GetTaxesAndFeesResponseDataInnerAmountRateBasedInner.from_dict(_item) for _item in obj["amountRateBased"]] if obj.get("amountRateBased") is not None else None, + "lengthOfStaySettings": GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings.from_dict(obj["lengthOfStaySettings"]) if obj.get("lengthOfStaySettings") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_amount.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_amount.py new file mode 100644 index 0000000..ff0e1c2 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_amount.py @@ -0,0 +1,143 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional, Union +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +GETTAXESANDFEESRESPONSEDATAINNERDATERANGESINNERAMOUNT_ONE_OF_SCHEMAS = ["float", "str"] + +class GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount(BaseModel): + """ + Amount + """ + # data type: str + oneof_schema_1_validator: Optional[StrictStr] = None + # data type: float + oneof_schema_2_validator: Optional[Union[StrictFloat, StrictInt]] = None + actual_instance: Optional[Union[float, str]] = None + one_of_schemas: Set[str] = { "float", "str" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount.model_construct() + error_messages = [] + match = 0 + # validate data type: str + try: + instance.oneof_schema_1_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: float + try: + instance.oneof_schema_2_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into str + try: + # validation + instance.oneof_schema_1_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_1_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into float + try: + # validation + instance.oneof_schema_2_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_2_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], float, str]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings.py new file mode 100644 index 0000000..30c42ed --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings.py @@ -0,0 +1,146 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of import GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +GETTAXESANDFEESRESPONSEDATAINNERDATERANGESINNERLENGTHOFSTAYSETTINGS_ONE_OF_SCHEMAS = ["GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf", "List[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf]"] + +class GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings(BaseModel): + """ + Length of Stay configuration settings specific to this date range. Returns object when settings exist, empty array [] when no settings configured. + """ + # data type: GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf + oneof_schema_1_validator: Optional[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf] = None + # data type: List[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf] + oneof_schema_2_validator: Optional[List[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf]] = None + actual_instance: Optional[Union[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf, List[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf]]] = None + one_of_schemas: Set[str] = { "GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf", "List[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf]" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + if v is None: + return v + + instance = GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings.model_construct() + error_messages = [] + match = 0 + # validate data type: GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf + if not isinstance(v, GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf): + error_messages.append(f"Error! Input type `{type(v)}` is not `GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf`") + else: + match += 1 + # validate data type: List[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf] + try: + instance.oneof_schema_2_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings with oneOf schemas: GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf, List[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf]. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings with oneOf schemas: GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf, List[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf]. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: Optional[str]) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + if json_str is None: + return instance + + error_messages = [] + match = 0 + + # deserialize data into GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf + try: + instance.actual_instance = GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into List[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf] + try: + # validation + instance.oneof_schema_2_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_2_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings with oneOf schemas: GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf, List[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf]. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings with oneOf schemas: GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf, List[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf]. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf, List[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf]]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of.py new file mode 100644 index 0000000..aa74971 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of.py @@ -0,0 +1,118 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner import GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner +from typing import Optional, Set +from typing_extensions import Self + +class GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf(BaseModel): + """ + GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf + """ # noqa: E501 + application_type: Optional[StrictStr] = Field(default=None, description="Application type for Length of Stay rules", alias="applicationType") + ranges: Optional[List[GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner]] = Field(default=None, description="Night-based ranges for Length of Stay configuration") + __properties: ClassVar[List[str]] = ["applicationType", "ranges"] + + @field_validator('application_type') + def application_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['progressive_application', 'retroactive_adjustment', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in ranges (list) + _items = [] + if self.ranges: + for _item_ranges in self.ranges: + if _item_ranges: + _items.append(_item_ranges.to_dict()) + _dict['ranges'] = _items + # set to None if application_type (nullable) is None + # and model_fields_set contains the field + if self.application_type is None and "application_type" in self.model_fields_set: + _dict['applicationType'] = None + + # set to None if ranges (nullable) is None + # and model_fields_set contains the field + if self.ranges is None and "ranges" in self.model_fields_set: + _dict['ranges'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "applicationType": obj.get("applicationType"), + "ranges": [GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner.from_dict(_item) for _item in obj["ranges"]] if obj.get("ranges") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner.py new file mode 100644 index 0000000..292e7fa --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner.py @@ -0,0 +1,122 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner(BaseModel): + """ + GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner + """ # noqa: E501 + minimum_nights: Optional[StrictInt] = Field(default=None, description="Minimum number of nights required for this range", alias="minimumNights") + maximum_nights: Optional[StrictInt] = Field(default=None, description="Maximum number of nights for this range (null means no limit)", alias="maximumNights") + amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Amount for this range") + amount_adult: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Amount per adult for this range", alias="amountAdult") + amount_child: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Amount per child for this range", alias="amountChild") + amount_rate_based: Optional[List[Dict[str, Any]]] = Field(default=None, description="Rate-based amounts for this range", alias="amountRateBased") + __properties: ClassVar[List[str]] = ["minimumNights", "maximumNights", "amount", "amountAdult", "amountChild", "amountRateBased"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if maximum_nights (nullable) is None + # and model_fields_set contains the field + if self.maximum_nights is None and "maximum_nights" in self.model_fields_set: + _dict['maximumNights'] = None + + # set to None if amount (nullable) is None + # and model_fields_set contains the field + if self.amount is None and "amount" in self.model_fields_set: + _dict['amount'] = None + + # set to None if amount_adult (nullable) is None + # and model_fields_set contains the field + if self.amount_adult is None and "amount_adult" in self.model_fields_set: + _dict['amountAdult'] = None + + # set to None if amount_child (nullable) is None + # and model_fields_set contains the field + if self.amount_child is None and "amount_child" in self.model_fields_set: + _dict['amountChild'] = None + + # set to None if amount_rate_based (nullable) is None + # and model_fields_set contains the field + if self.amount_rate_based is None and "amount_rate_based" in self.model_fields_set: + _dict['amountRateBased'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "minimumNights": obj.get("minimumNights"), + "maximumNights": obj.get("maximumNights"), + "amount": obj.get("amount"), + "amountAdult": obj.get("amountAdult"), + "amountChild": obj.get("amountChild"), + "amountRateBased": obj.get("amountRateBased") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length.py new file mode 100644 index 0000000..c81ec24 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length.py @@ -0,0 +1,143 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional, Union +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +GETTAXESANDFEESRESPONSEDATAINNERDATERANGESINNERMAXLENGTH_ONE_OF_SCHEMAS = ["float", "str"] + +class GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength(BaseModel): + """ + Maximum amount of nights where this applies. Only applicable if amountType = fixed_per_person (Per Person Per Night) + """ + # data type: str + oneof_schema_1_validator: Optional[StrictStr] = None + # data type: float + oneof_schema_2_validator: Optional[Union[StrictFloat, StrictInt]] = None + actual_instance: Optional[Union[float, str]] = None + one_of_schemas: Set[str] = { "float", "str" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength.model_construct() + error_messages = [] + match = 0 + # validate data type: str + try: + instance.oneof_schema_1_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # validate data type: float + try: + instance.oneof_schema_2_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into str + try: + # validation + instance.oneof_schema_1_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_1_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into float + try: + # validation + instance.oneof_schema_2_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_2_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength with oneOf schemas: float, str. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], float, str]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_length_of_stay_settings.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_length_of_stay_settings.py new file mode 100644 index 0000000..f35126e --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_length_of_stay_settings.py @@ -0,0 +1,146 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of import GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf +from pydantic import StrictStr, Field +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +GETTAXESANDFEESRESPONSEDATAINNERLENGTHOFSTAYSETTINGS_ONE_OF_SCHEMAS = ["GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf", "List[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf]"] + +class GetTaxesAndFeesResponseDataInnerLengthOfStaySettings(BaseModel): + """ + Length of Stay configuration settings. Returns object when settings exist, empty array [] when no settings configured. + """ + # data type: GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf + oneof_schema_1_validator: Optional[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf] = None + # data type: List[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf] + oneof_schema_2_validator: Optional[List[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf]] = None + actual_instance: Optional[Union[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf, List[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf]]] = None + one_of_schemas: Set[str] = { "GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf", "List[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf]" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + if v is None: + return v + + instance = GetTaxesAndFeesResponseDataInnerLengthOfStaySettings.model_construct() + error_messages = [] + match = 0 + # validate data type: GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf + if not isinstance(v, GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf): + error_messages.append(f"Error! Input type `{type(v)}` is not `GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf`") + else: + match += 1 + # validate data type: List[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf] + try: + instance.oneof_schema_2_validator = v + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in GetTaxesAndFeesResponseDataInnerLengthOfStaySettings with oneOf schemas: GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf, List[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf]. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in GetTaxesAndFeesResponseDataInnerLengthOfStaySettings with oneOf schemas: GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf, List[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf]. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: Optional[str]) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + if json_str is None: + return instance + + error_messages = [] + match = 0 + + # deserialize data into GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf + try: + instance.actual_instance = GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into List[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf] + try: + # validation + instance.oneof_schema_2_validator = json.loads(json_str) + # assign value to actual_instance + instance.actual_instance = instance.oneof_schema_2_validator + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into GetTaxesAndFeesResponseDataInnerLengthOfStaySettings with oneOf schemas: GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf, List[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf]. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into GetTaxesAndFeesResponseDataInnerLengthOfStaySettings with oneOf schemas: GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf, List[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf]. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf, List[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf]]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of.py new file mode 100644 index 0000000..058ab44 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of.py @@ -0,0 +1,118 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner import GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner +from typing import Optional, Set +from typing_extensions import Self + +class GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf(BaseModel): + """ + GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf + """ # noqa: E501 + application_type: Optional[StrictStr] = Field(default=None, description="Application type for Length of Stay rules:
ValueMeaning
progressive_applicationApply tax/fee when minimum nights are reached
retroactive_adjustmentApply adjustments retroactively when conditions are met
", alias="applicationType") + ranges: Optional[List[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner]] = Field(default=None, description="Night-based ranges for Length of Stay configuration") + __properties: ClassVar[List[str]] = ["applicationType", "ranges"] + + @field_validator('application_type') + def application_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['progressive_application', 'retroactive_adjustment', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in ranges (list) + _items = [] + if self.ranges: + for _item_ranges in self.ranges: + if _item_ranges: + _items.append(_item_ranges.to_dict()) + _dict['ranges'] = _items + # set to None if application_type (nullable) is None + # and model_fields_set contains the field + if self.application_type is None and "application_type" in self.model_fields_set: + _dict['applicationType'] = None + + # set to None if ranges (nullable) is None + # and model_fields_set contains the field + if self.ranges is None and "ranges" in self.model_fields_set: + _dict['ranges'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "applicationType": obj.get("applicationType"), + "ranges": [GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner.from_dict(_item) for _item in obj["ranges"]] if obj.get("ranges") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner.py new file mode 100644 index 0000000..1bb941d --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner.py @@ -0,0 +1,130 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt +from typing import Any, ClassVar, Dict, List, Optional, Union +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner import GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner +from typing import Optional, Set +from typing_extensions import Self + +class GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner(BaseModel): + """ + GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner + """ # noqa: E501 + minimum_nights: Optional[StrictInt] = Field(default=None, description="Minimum number of nights required for this range", alias="minimumNights") + maximum_nights: Optional[StrictInt] = Field(default=None, description="Maximum number of nights for this range (null means no limit)", alias="maximumNights") + amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Amount for this range (uses same amountType as the parent tax/fee)") + amount_adult: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Amount per adult for this range (uses same amountType as the parent tax/fee)", alias="amountAdult") + amount_child: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Amount per child for this range (uses same amountType as the parent tax/fee)", alias="amountChild") + amount_rate_based: Optional[List[GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner]] = Field(default=None, description="Rate-based amounts for this range (uses same amountType as the parent tax/fee)", alias="amountRateBased") + __properties: ClassVar[List[str]] = ["minimumNights", "maximumNights", "amount", "amountAdult", "amountChild", "amountRateBased"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in amount_rate_based (list) + _items = [] + if self.amount_rate_based: + for _item_amount_rate_based in self.amount_rate_based: + if _item_amount_rate_based: + _items.append(_item_amount_rate_based.to_dict()) + _dict['amountRateBased'] = _items + # set to None if maximum_nights (nullable) is None + # and model_fields_set contains the field + if self.maximum_nights is None and "maximum_nights" in self.model_fields_set: + _dict['maximumNights'] = None + + # set to None if amount (nullable) is None + # and model_fields_set contains the field + if self.amount is None and "amount" in self.model_fields_set: + _dict['amount'] = None + + # set to None if amount_adult (nullable) is None + # and model_fields_set contains the field + if self.amount_adult is None and "amount_adult" in self.model_fields_set: + _dict['amountAdult'] = None + + # set to None if amount_child (nullable) is None + # and model_fields_set contains the field + if self.amount_child is None and "amount_child" in self.model_fields_set: + _dict['amountChild'] = None + + # set to None if amount_rate_based (nullable) is None + # and model_fields_set contains the field + if self.amount_rate_based is None and "amount_rate_based" in self.model_fields_set: + _dict['amountRateBased'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "minimumNights": obj.get("minimumNights"), + "maximumNights": obj.get("maximumNights"), + "amount": obj.get("amount"), + "amountAdult": obj.get("amountAdult"), + "amountChild": obj.get("amountChild"), + "amountRateBased": [GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner.from_dict(_item) for _item in obj["amountRateBased"]] if obj.get("amountRateBased") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner.py new file mode 100644 index 0000000..58d05f5 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner(BaseModel): + """ + GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner + """ # noqa: E501 + rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Maximum rate for which this percentage is valid") + percentage: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Percentage applied for the rate") + __properties: ClassVar[List[str]] = ["rate", "percentage"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "rate": obj.get("rate"), + "percentage": obj.get("percentage") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_room_types_inner.py b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_room_types_inner.py new file mode 100644 index 0000000..ffabcd5 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_taxes_and_fees_response_data_inner_room_types_inner.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetTaxesAndFeesResponseDataInnerRoomTypesInner(BaseModel): + """ + GetTaxesAndFeesResponseDataInnerRoomTypesInner + """ # noqa: E501 + room_type_id: Optional[StrictStr] = Field(default=None, description="Room type's unique identifier", alias="roomTypeID") + room_type_name: Optional[StrictStr] = Field(default=None, description="Room type name", alias="roomTypeName") + __properties: ClassVar[List[str]] = ["roomTypeID", "roomTypeName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInnerRoomTypesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetTaxesAndFeesResponseDataInnerRoomTypesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roomTypeID": obj.get("roomTypeID"), + "roomTypeName": obj.get("roomTypeName") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_userinfo_response.py b/cloudbeds_pms_v1_3/models/get_userinfo_response.py new file mode 100644 index 0000000..5fb1863 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_userinfo_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_userinfo_response_roles_inner import GetUserinfoResponseRolesInner +from typing import Optional, Set +from typing_extensions import Self + +class GetUserinfoResponse(BaseModel): + """ + GetUserinfoResponse + """ # noqa: E501 + user_id: Optional[StrictStr] = Field(default=None, description="ID of user") + first_name: Optional[StrictStr] = Field(default=None, description="Authorized users' first name.") + last_name: Optional[StrictStr] = Field(default=None, description="Authorized users' last name.") + email: Optional[StrictStr] = Field(default=None, description="Authorized users' email.") + acl: Optional[List[StrictStr]] = Field(default=None, description="Authorized users' access control list.") + roles: Optional[List[GetUserinfoResponseRolesInner]] = Field(default=None, description="Authorized users' role information.") + __properties: ClassVar[List[str]] = ["user_id", "first_name", "last_name", "email", "acl", "roles"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetUserinfoResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in roles (list) + _items = [] + if self.roles: + for _item_roles in self.roles: + if _item_roles: + _items.append(_item_roles.to_dict()) + _dict['roles'] = _items + # set to None if acl (nullable) is None + # and model_fields_set contains the field + if self.acl is None and "acl" in self.model_fields_set: + _dict['acl'] = None + + # set to None if roles (nullable) is None + # and model_fields_set contains the field + if self.roles is None and "roles" in self.model_fields_set: + _dict['roles'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetUserinfoResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_id": obj.get("user_id"), + "first_name": obj.get("first_name"), + "last_name": obj.get("last_name"), + "email": obj.get("email"), + "acl": obj.get("acl"), + "roles": [GetUserinfoResponseRolesInner.from_dict(_item) for _item in obj["roles"]] if obj.get("roles") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_userinfo_response_roles_inner.py b/cloudbeds_pms_v1_3/models/get_userinfo_response_roles_inner.py new file mode 100644 index 0000000..fa57633 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_userinfo_response_roles_inner.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetUserinfoResponseRolesInner(BaseModel): + """ + GetUserinfoResponseRolesInner + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="ID of the role.") + name: Optional[StrictStr] = Field(default=None, description="Name of the role.") + description: Optional[StrictStr] = Field(default=None, description="Description of the role.") + __properties: ClassVar[List[str]] = ["id", "name", "description"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetUserinfoResponseRolesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if id (nullable) is None + # and model_fields_set contains the field + if self.id is None and "id" in self.model_fields_set: + _dict['id'] = None + + # set to None if name (nullable) is None + # and model_fields_set contains the field + if self.name is None and "name" in self.model_fields_set: + _dict['name'] = None + + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetUserinfoResponseRolesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "name": obj.get("name"), + "description": obj.get("description") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_users_response.py b/cloudbeds_pms_v1_3/models/get_users_response.py new file mode 100644 index 0000000..29e3b97 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_users_response.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetUsersResponse(BaseModel): + """ + GetUsersResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[Dict[str, Any]] = Field(default=None, description="Container of user arrays, indexed by property ID (e.g., \"1\").") + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetUsersResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetUsersResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": obj.get("data") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_webhooks_response.py b/cloudbeds_pms_v1_3/models/get_webhooks_response.py new file mode 100644 index 0000000..6abf7ae --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_webhooks_response.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner import GetWebhooksResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class GetWebhooksResponse(BaseModel): + """ + GetWebhooksResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[GetWebhooksResponseDataInner]] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetWebhooksResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetWebhooksResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [GetWebhooksResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner.py b/cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner.py new file mode 100644 index 0000000..d14c550 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner.py @@ -0,0 +1,143 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_event import GetWebhooksResponseDataInnerEvent +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_key import GetWebhooksResponseDataInnerKey +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_owner import GetWebhooksResponseDataInnerOwner +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_subscription_data import GetWebhooksResponseDataInnerSubscriptionData +from typing import Optional, Set +from typing_extensions import Self + +class GetWebhooksResponseDataInner(BaseModel): + """ + GetWebhooksResponseDataInner + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="Subscription ID") + key: Optional[GetWebhooksResponseDataInnerKey] = None + event: Optional[GetWebhooksResponseDataInnerEvent] = None + owner: Optional[GetWebhooksResponseDataInnerOwner] = None + subscription_type: Optional[StrictStr] = Field(default=None, description="Subscription Type (Webhook)", alias="subscriptionType") + subscription_data: Optional[GetWebhooksResponseDataInnerSubscriptionData] = Field(default=None, alias="subscriptionData") + __properties: ClassVar[List[str]] = ["id", "key", "event", "owner", "subscriptionType", "subscriptionData"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetWebhooksResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of key + if self.key: + _dict['key'] = self.key.to_dict() + # override the default output from pydantic by calling `to_dict()` of event + if self.event: + _dict['event'] = self.event.to_dict() + # override the default output from pydantic by calling `to_dict()` of owner + if self.owner: + _dict['owner'] = self.owner.to_dict() + # override the default output from pydantic by calling `to_dict()` of subscription_data + if self.subscription_data: + _dict['subscriptionData'] = self.subscription_data.to_dict() + # set to None if id (nullable) is None + # and model_fields_set contains the field + if self.id is None and "id" in self.model_fields_set: + _dict['id'] = None + + # set to None if key (nullable) is None + # and model_fields_set contains the field + if self.key is None and "key" in self.model_fields_set: + _dict['key'] = None + + # set to None if event (nullable) is None + # and model_fields_set contains the field + if self.event is None and "event" in self.model_fields_set: + _dict['event'] = None + + # set to None if owner (nullable) is None + # and model_fields_set contains the field + if self.owner is None and "owner" in self.model_fields_set: + _dict['owner'] = None + + # set to None if subscription_type (nullable) is None + # and model_fields_set contains the field + if self.subscription_type is None and "subscription_type" in self.model_fields_set: + _dict['subscriptionType'] = None + + # set to None if subscription_data (nullable) is None + # and model_fields_set contains the field + if self.subscription_data is None and "subscription_data" in self.model_fields_set: + _dict['subscriptionData'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetWebhooksResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "key": GetWebhooksResponseDataInnerKey.from_dict(obj["key"]) if obj.get("key") is not None else None, + "event": GetWebhooksResponseDataInnerEvent.from_dict(obj["event"]) if obj.get("event") is not None else None, + "owner": GetWebhooksResponseDataInnerOwner.from_dict(obj["owner"]) if obj.get("owner") is not None else None, + "subscriptionType": obj.get("subscriptionType"), + "subscriptionData": GetWebhooksResponseDataInnerSubscriptionData.from_dict(obj["subscriptionData"]) if obj.get("subscriptionData") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner_event.py b/cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner_event.py new file mode 100644 index 0000000..701f131 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner_event.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetWebhooksResponseDataInnerEvent(BaseModel): + """ + Event for which the subscription was created + """ # noqa: E501 + entity: Optional[StrictStr] = Field(default=None, description="Entity which the event belongs to") + action: Optional[StrictStr] = Field(default=None, description="Action which the event represents") + __properties: ClassVar[List[str]] = ["entity", "action"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetWebhooksResponseDataInnerEvent from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if entity (nullable) is None + # and model_fields_set contains the field + if self.entity is None and "entity" in self.model_fields_set: + _dict['entity'] = None + + # set to None if action (nullable) is None + # and model_fields_set contains the field + if self.action is None and "action" in self.model_fields_set: + _dict['action'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetWebhooksResponseDataInnerEvent from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "entity": obj.get("entity"), + "action": obj.get("action") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner_key.py b/cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner_key.py new file mode 100644 index 0000000..4a25da3 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner_key.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetWebhooksResponseDataInnerKey(BaseModel): + """ + Subscription Key object (User, Property or Association and it's ID) + """ # noqa: E501 + type: Optional[StrictStr] = Field(default=None, description="Subscription Key type") + id: Optional[StrictStr] = Field(default=None, description="Subscription Key ID") + __properties: ClassVar[List[str]] = ["type", "id"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['user', 'property', 'association', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetWebhooksResponseDataInnerKey from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if type (nullable) is None + # and model_fields_set contains the field + if self.type is None and "type" in self.model_fields_set: + _dict['type'] = None + + # set to None if id (nullable) is None + # and model_fields_set contains the field + if self.id is None and "id" in self.model_fields_set: + _dict['id'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetWebhooksResponseDataInnerKey from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "id": obj.get("id") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner_owner.py b/cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner_owner.py new file mode 100644 index 0000000..6851ee1 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner_owner.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetWebhooksResponseDataInnerOwner(BaseModel): + """ + Subscription Owner object (User, API Client, etc, and it's ID) + """ # noqa: E501 + type: Optional[StrictStr] = Field(default=None, description="Subscription Owner type") + id: Optional[StrictStr] = Field(default=None, description="Subscription Owner ID") + __properties: ClassVar[List[str]] = ["type", "id"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetWebhooksResponseDataInnerOwner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if type (nullable) is None + # and model_fields_set contains the field + if self.type is None and "type" in self.model_fields_set: + _dict['type'] = None + + # set to None if id (nullable) is None + # and model_fields_set contains the field + if self.id is None and "id" in self.model_fields_set: + _dict['id'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetWebhooksResponseDataInnerOwner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "id": obj.get("id") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner_subscription_data.py b/cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner_subscription_data.py new file mode 100644 index 0000000..5f9ee32 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/get_webhooks_response_data_inner_subscription_data.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class GetWebhooksResponseDataInnerSubscriptionData(BaseModel): + """ + Data used on the subscription. For webhooks, just the endpoint URL. + """ # noqa: E501 + endpoint: Optional[StrictStr] = Field(default=None, description="The endpoint") + __properties: ClassVar[List[str]] = ["endpoint"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetWebhooksResponseDataInnerSubscriptionData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if endpoint (nullable) is None + # and model_fields_set contains the field + if self.endpoint is None and "endpoint" in self.model_fields_set: + _dict['endpoint'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetWebhooksResponseDataInnerSubscriptionData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "endpoint": obj.get("endpoint") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_access_token_response.py b/cloudbeds_pms_v1_3/models/post_access_token_response.py new file mode 100644 index 0000000..ef6fd24 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_access_token_response.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_access_token_response_resources_inner import PostAccessTokenResponseResourcesInner +from typing import Optional, Set +from typing_extensions import Self + +class PostAccessTokenResponse(BaseModel): + """ + PostAccessTokenResponse + """ # noqa: E501 + access_token: Optional[StrictStr] = Field(default=None, description="Authenticated access token.") + token_type: Optional[StrictStr] = Field(default=None, description="The type of the access token authenticated.") + expires_in: Optional[StrictInt] = Field(default=None, description="The expiration time of the access token in seconds.") + refresh_token: Optional[StrictStr] = Field(default=None, description="A token to refresh your access token without performing the full auth flow.") + resources: Optional[List[PostAccessTokenResponseResourcesInner]] = Field(default=None, description="List of resources associated with the token during consent") + __properties: ClassVar[List[str]] = ["access_token", "token_type", "expires_in", "refresh_token", "resources"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostAccessTokenResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in resources (list) + _items = [] + if self.resources: + for _item_resources in self.resources: + if _item_resources: + _items.append(_item_resources.to_dict()) + _dict['resources'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostAccessTokenResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "access_token": obj.get("access_token"), + "token_type": obj.get("token_type"), + "expires_in": obj.get("expires_in"), + "refresh_token": obj.get("refresh_token"), + "resources": [PostAccessTokenResponseResourcesInner.from_dict(_item) for _item in obj["resources"]] if obj.get("resources") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_access_token_response_resources_inner.py b/cloudbeds_pms_v1_3/models/post_access_token_response_resources_inner.py new file mode 100644 index 0000000..67b7fd8 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_access_token_response_resources_inner.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostAccessTokenResponseResourcesInner(BaseModel): + """ + PostAccessTokenResponseResourcesInner + """ # noqa: E501 + type: Optional[StrictStr] = Field(default=None, description="A type of associated resource") + id: Optional[StrictStr] = Field(default=None, description="Unique ID of associated resource") + __properties: ClassVar[List[str]] = ["type", "id"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['property', 'association', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostAccessTokenResponseResourcesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostAccessTokenResponseResourcesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "id": obj.get("id") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_adjustment_response.py b/cloudbeds_pms_v1_3/models/post_adjustment_response.py new file mode 100644 index 0000000..7794069 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_adjustment_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_adjustment_response_data import PostAdjustmentResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostAdjustmentResponse(BaseModel): + """ + PostAdjustmentResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[PostAdjustmentResponseData] = None + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostAdjustmentResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostAdjustmentResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": PostAdjustmentResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_adjustment_response_data.py b/cloudbeds_pms_v1_3/models/post_adjustment_response_data.py new file mode 100644 index 0000000..c690632 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_adjustment_response_data.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostAdjustmentResponseData(BaseModel): + """ + post Adjustment details + """ # noqa: E501 + adjustment_id: Optional[StrictStr] = Field(default=None, description="Adjustment transaction identifier", alias="adjustmentID") + __properties: ClassVar[List[str]] = ["adjustmentID"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostAdjustmentResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostAdjustmentResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "adjustmentID": obj.get("adjustmentID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_app_error_response.py b/cloudbeds_pms_v1_3/models/post_app_error_response.py new file mode 100644 index 0000000..ce92d37 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_app_error_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_app_error_response_data import PostAppErrorResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostAppErrorResponse(BaseModel): + """ + PostAppErrorResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[PostAppErrorResponseData] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostAppErrorResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostAppErrorResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": PostAppErrorResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_app_error_response_data.py b/cloudbeds_pms_v1_3/models/post_app_error_response_data.py new file mode 100644 index 0000000..8cba9f6 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_app_error_response_data.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostAppErrorResponseData(BaseModel): + """ + Integration state details + """ # noqa: E501 + error_id: Optional[StrictStr] = Field(default=None, description="Unique ID of error recorded in Cloudbeds", alias="errorID") + __properties: ClassVar[List[str]] = ["errorID"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostAppErrorResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostAppErrorResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "errorID": obj.get("errorID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_app_property_setting_response.py b/cloudbeds_pms_v1_3/models/post_app_property_setting_response.py new file mode 100644 index 0000000..ff65d06 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_app_property_setting_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_app_property_setting_response_data import PostAppPropertySettingResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostAppPropertySettingResponse(BaseModel): + """ + PostAppPropertySettingResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Success") + data: Optional[PostAppPropertySettingResponseData] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostAppPropertySettingResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostAppPropertySettingResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": PostAppPropertySettingResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_app_property_setting_response_data.py b/cloudbeds_pms_v1_3/models/post_app_property_setting_response_data.py new file mode 100644 index 0000000..3e376b5 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_app_property_setting_response_data.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostAppPropertySettingResponseData(BaseModel): + """ + Data + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="ID") + key: Optional[StrictStr] = Field(default=None, description="Key") + value: Optional[StrictStr] = Field(default=None, description="Value") + __properties: ClassVar[List[str]] = ["id", "key", "value"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostAppPropertySettingResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostAppPropertySettingResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "key": obj.get("key"), + "value": obj.get("value") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_app_state_response.py b/cloudbeds_pms_v1_3/models/post_app_state_response.py new file mode 100644 index 0000000..09f80ea --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_app_state_response.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostAppStateResponse(BaseModel): + """ + PostAppStateResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + __properties: ClassVar[List[str]] = ["success"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostAppStateResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostAppStateResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_append_custom_item_response.py b/cloudbeds_pms_v1_3/models/post_append_custom_item_response.py new file mode 100644 index 0000000..2b43994 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_append_custom_item_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_append_custom_item_response_data import PostAppendCustomItemResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostAppendCustomItemResponse(BaseModel): + """ + PostAppendCustomItemResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[PostAppendCustomItemResponseData] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostAppendCustomItemResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostAppendCustomItemResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": PostAppendCustomItemResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_append_custom_item_response_data.py b/cloudbeds_pms_v1_3/models/post_append_custom_item_response_data.py new file mode 100644 index 0000000..5215a5d --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_append_custom_item_response_data.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostAppendCustomItemResponseData(BaseModel): + """ + Sold product details + """ # noqa: E501 + sold_product_id: Optional[StrictStr] = Field(default=None, description="Sold product identifier (Usable to void this product in future).", alias="soldProductID") + transaction_id: Optional[StrictStr] = Field(default=None, description="Transaction identifier", alias="transactionID") + __properties: ClassVar[List[str]] = ["soldProductID", "transactionID"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostAppendCustomItemResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostAppendCustomItemResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "soldProductID": obj.get("soldProductID"), + "transactionID": obj.get("transactionID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_card_response.py b/cloudbeds_pms_v1_3/models/post_card_response.py new file mode 100644 index 0000000..95eee11 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_card_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_card_response_data import PostCardResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostCardResponse(BaseModel): + """ + PostCardResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[PostCardResponseData] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCardResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCardResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": PostCardResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_card_response_data.py b/cloudbeds_pms_v1_3/models/post_card_response_data.py new file mode 100644 index 0000000..9cd168b --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_card_response_data.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostCardResponseData(BaseModel): + """ + Rates details + """ # noqa: E501 + card_id: Optional[StrictStr] = Field(default=None, description="Card ID", alias="cardID") + card_number: Optional[StrictStr] = Field(default=None, description="Ending digits of the credit card", alias="cardNumber") + card_type: Optional[StrictStr] = Field(default=None, description="Abbreviated name of credit card type", alias="cardType") + redirect_url: Optional[StrictStr] = Field(default=None, description="null if no 3ds required", alias="redirectUrl") + __properties: ClassVar[List[str]] = ["cardID", "cardNumber", "cardType", "redirectUrl"] + + @field_validator('card_type') + def card_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['visa', 'master', 'amex', 'aura', 'diners', 'hiper', 'elo', 'Discover', 'jcb', 'maestro', 'dan', 'PostCard', 'Eurocard', 'сunion', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCardResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCardResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "cardID": obj.get("cardID"), + "cardNumber": obj.get("cardNumber"), + "cardType": obj.get("cardType"), + "redirectUrl": obj.get("redirectUrl") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_charge_response.py b/cloudbeds_pms_v1_3/models/post_charge_response.py new file mode 100644 index 0000000..39035bb --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_charge_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_charge_response_data import PostChargeResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostChargeResponse(BaseModel): + """ + PostChargeResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request was completed") + data: Optional[PostChargeResponseData] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostChargeResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostChargeResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": PostChargeResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_charge_response_data.py b/cloudbeds_pms_v1_3/models/post_charge_response_data.py new file mode 100644 index 0000000..ecd32dd --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_charge_response_data.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_charge_response_data_next_action import PostChargeResponseDataNextAction +from typing import Optional, Set +from typing_extensions import Self + +class PostChargeResponseData(BaseModel): + """ + Payment details + """ # noqa: E501 + payment_id: Optional[StrictStr] = Field(default=None, description="Payment ID", alias="paymentID") + transaction_id: Optional[StrictStr] = Field(default=None, description="Transaction ID", alias="transactionID") + payment_status: Optional[StrictStr] = Field(default=None, description="the status of the payment, could be 'pending' if the payment requires a next action", alias="paymentStatus") + payment_type: Optional[StrictStr] = Field(default=None, description="detected payment type. Ex: 'cards', 'oxxo'", alias="paymentType") + next_action: Optional[PostChargeResponseDataNextAction] = Field(default=None, alias="nextAction") + __properties: ClassVar[List[str]] = ["paymentID", "transactionID", "paymentStatus", "paymentType", "nextAction"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostChargeResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of next_action + if self.next_action: + _dict['nextAction'] = self.next_action.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostChargeResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "paymentID": obj.get("paymentID"), + "transactionID": obj.get("transactionID"), + "paymentStatus": obj.get("paymentStatus"), + "paymentType": obj.get("paymentType"), + "nextAction": PostChargeResponseDataNextAction.from_dict(obj["nextAction"]) if obj.get("nextAction") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_charge_response_data_next_action.py b/cloudbeds_pms_v1_3/models/post_charge_response_data_next_action.py new file mode 100644 index 0000000..a984822 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_charge_response_data_next_action.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_charge_response_data_next_action_details import PostChargeResponseDataNextActionDetails +from typing import Optional, Set +from typing_extensions import Self + +class PostChargeResponseDataNextAction(BaseModel): + """ + not set if no next action is required + """ # noqa: E501 + type: Optional[StrictStr] = Field(default=None, description="The type of next action required. Ex: 'redirect'") + details: Optional[PostChargeResponseDataNextActionDetails] = None + __properties: ClassVar[List[str]] = ["type", "details"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostChargeResponseDataNextAction from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of details + if self.details: + _dict['details'] = self.details.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostChargeResponseDataNextAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "details": PostChargeResponseDataNextActionDetails.from_dict(obj["details"]) if obj.get("details") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_charge_response_data_next_action_details.py b/cloudbeds_pms_v1_3/models/post_charge_response_data_next_action_details.py new file mode 100644 index 0000000..82b18fb --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_charge_response_data_next_action_details.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostChargeResponseDataNextActionDetails(BaseModel): + """ + The details of the next action + """ # noqa: E501 + url: Optional[StrictStr] = Field(default=None, description="The URL to redirect the user to") + method: Optional[StrictStr] = Field(default=None, description="The HTTP method to use when redirecting the user") + __properties: ClassVar[List[str]] = ["url", "method"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostChargeResponseDataNextActionDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostChargeResponseDataNextActionDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "url": obj.get("url"), + "method": obj.get("method") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_create_allotment_block_notes_response.py b/cloudbeds_pms_v1_3/models/post_create_allotment_block_notes_response.py new file mode 100644 index 0000000..b42509d --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_create_allotment_block_notes_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_create_allotment_block_notes_response_data import PostCreateAllotmentBlockNotesResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostCreateAllotmentBlockNotesResponse(BaseModel): + """ + PostCreateAllotmentBlockNotesResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[PostCreateAllotmentBlockNotesResponseData] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockNotesResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockNotesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": PostCreateAllotmentBlockNotesResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_create_allotment_block_notes_response_data.py b/cloudbeds_pms_v1_3/models/post_create_allotment_block_notes_response_data.py new file mode 100644 index 0000000..36c9fa8 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_create_allotment_block_notes_response_data.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostCreateAllotmentBlockNotesResponseData(BaseModel): + """ + The created note + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="Note ID") + text: Optional[StrictStr] = Field(default=None, description="Note contents") + created_by: Optional[StrictStr] = Field(default=None, description="User Name", alias="createdBy") + created_at: Optional[datetime] = Field(default=None, description="Creation datetime (format: Y-m-d H:i:s)", alias="createdAt") + updated_at: Optional[datetime] = Field(default=None, description="Last modification datetime (format: Y-m-d H:i:s)", alias="updatedAt") + archived_at: Optional[datetime] = Field(default=None, description="Archival datetime (format: Y-m-d H:i:s)", alias="archivedAt") + status: Optional[StrictStr] = Field(default=None, description="Note status") + __properties: ClassVar[List[str]] = ["id", "text", "createdBy", "createdAt", "updatedAt", "archivedAt", "status"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockNotesResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if archived_at (nullable) is None + # and model_fields_set contains the field + if self.archived_at is None and "archived_at" in self.model_fields_set: + _dict['archivedAt'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockNotesResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "text": obj.get("text"), + "createdBy": obj.get("createdBy"), + "createdAt": obj.get("createdAt"), + "updatedAt": obj.get("updatedAt"), + "archivedAt": obj.get("archivedAt"), + "status": obj.get("status") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_create_allotment_block_request_allotment_intervals_inner.py b/cloudbeds_pms_v1_3/models/post_create_allotment_block_request_allotment_intervals_inner.py new file mode 100644 index 0000000..3253904 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_create_allotment_block_request_allotment_intervals_inner.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner import PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner +from typing import Optional, Set +from typing_extensions import Self + +class PostCreateAllotmentBlockRequestAllotmentIntervalsInner(BaseModel): + """ + PostCreateAllotmentBlockRequestAllotmentIntervalsInner + """ # noqa: E501 + policy_id: Optional[StrictStr] = Field(default=None, description="Policy ID to associate with the interval", alias="policyId") + availability: Optional[List[PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner]] = None + __properties: ClassVar[List[str]] = ["policyId", "availability"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockRequestAllotmentIntervalsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in availability (list) + _items = [] + if self.availability: + for _item_availability in self.availability: + if _item_availability: + _items.append(_item_availability.to_dict()) + _dict['availability'] = _items + # set to None if policy_id (nullable) is None + # and model_fields_set contains the field + if self.policy_id is None and "policy_id" in self.model_fields_set: + _dict['policyId'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockRequestAllotmentIntervalsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "policyId": obj.get("policyId"), + "availability": [PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.from_dict(_item) for _item in obj["availability"]] if obj.get("availability") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_create_allotment_block_request_allotment_intervals_inner_availability_inner.py b/cloudbeds_pms_v1_3/models/post_create_allotment_block_request_allotment_intervals_inner_availability_inner.py new file mode 100644 index 0000000..b5f6988 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_create_allotment_block_request_allotment_intervals_inner_availability_inner.py @@ -0,0 +1,126 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing import PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions import PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions +from typing import Optional, Set +from typing_extensions import Self + +class PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner(BaseModel): + """ + PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner + """ # noqa: E501 + var_date: Optional[date] = Field(default=None, description="the day within the interval (YYYY-MM-DD)", alias="date") + block_allotted: Optional[StrictInt] = Field(default=None, description="Total number of units available for the", alias="blockAllotted") + rate: Optional[StrictStr] = Field(default=None, description="the price if applicable") + guest_pricing: Optional[PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing] = Field(default=None, alias="guestPricing") + restrictions: Optional[PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions] = None + rooms: Optional[List[StrictStr]] = Field(default=None, description="Array of room IDs assigned to this date") + __properties: ClassVar[List[str]] = ["date", "blockAllotted", "rate", "guestPricing", "restrictions", "rooms"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of guest_pricing + if self.guest_pricing: + _dict['guestPricing'] = self.guest_pricing.to_dict() + # override the default output from pydantic by calling `to_dict()` of restrictions + if self.restrictions: + _dict['restrictions'] = self.restrictions.to_dict() + # set to None if rate (nullable) is None + # and model_fields_set contains the field + if self.rate is None and "rate" in self.model_fields_set: + _dict['rate'] = None + + # set to None if guest_pricing (nullable) is None + # and model_fields_set contains the field + if self.guest_pricing is None and "guest_pricing" in self.model_fields_set: + _dict['guestPricing'] = None + + # set to None if restrictions (nullable) is None + # and model_fields_set contains the field + if self.restrictions is None and "restrictions" in self.model_fields_set: + _dict['restrictions'] = None + + # set to None if rooms (nullable) is None + # and model_fields_set contains the field + if self.rooms is None and "rooms" in self.model_fields_set: + _dict['rooms'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "date": obj.get("date"), + "blockAllotted": obj.get("blockAllotted"), + "rate": obj.get("rate"), + "guestPricing": PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.from_dict(obj["guestPricing"]) if obj.get("guestPricing") is not None else None, + "restrictions": PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions.from_dict(obj["restrictions"]) if obj.get("restrictions") is not None else None, + "rooms": obj.get("rooms") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.py b/cloudbeds_pms_v1_3/models/post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.py new file mode 100644 index 0000000..1c44251 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing(BaseModel): + """ + Guest pricing data if applicable. Note: the number of applicable keys varies here based on the occupancy settings for the room type. + """ # noqa: E501 + adult1: Optional[StrictStr] = Field(default=None, description="Price for adult 1") + adult2: Optional[StrictStr] = Field(default=None, description="Price for adult 2") + adult3: Optional[StrictStr] = Field(default=None, description="Price for adult 3") + child1: Optional[StrictStr] = Field(default=None, description="Price for child 1") + child2: Optional[StrictStr] = Field(default=None, description="Price for child 2") + child3: Optional[StrictStr] = Field(default=None, description="Price for child 3") + __properties: ClassVar[List[str]] = ["adult1", "adult2", "adult3", "child1", "child2", "child3"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if adult1 (nullable) is None + # and model_fields_set contains the field + if self.adult1 is None and "adult1" in self.model_fields_set: + _dict['adult1'] = None + + # set to None if adult2 (nullable) is None + # and model_fields_set contains the field + if self.adult2 is None and "adult2" in self.model_fields_set: + _dict['adult2'] = None + + # set to None if adult3 (nullable) is None + # and model_fields_set contains the field + if self.adult3 is None and "adult3" in self.model_fields_set: + _dict['adult3'] = None + + # set to None if child1 (nullable) is None + # and model_fields_set contains the field + if self.child1 is None and "child1" in self.model_fields_set: + _dict['child1'] = None + + # set to None if child2 (nullable) is None + # and model_fields_set contains the field + if self.child2 is None and "child2" in self.model_fields_set: + _dict['child2'] = None + + # set to None if child3 (nullable) is None + # and model_fields_set contains the field + if self.child3 is None and "child3" in self.model_fields_set: + _dict['child3'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "adult1": obj.get("adult1"), + "adult2": obj.get("adult2"), + "adult3": obj.get("adult3"), + "child1": obj.get("child1"), + "child2": obj.get("child2"), + "child3": obj.get("child3") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions.py b/cloudbeds_pms_v1_3/models/post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions.py new file mode 100644 index 0000000..4cece21 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions(BaseModel): + """ + Interval restrictions if applicable + """ # noqa: E501 + min_los: Optional[StrictInt] = Field(default=None, description="Minimum length of stay requirement", alias="minLos") + max_los: Optional[StrictInt] = Field(default=None, description="Maximum length of stay requirement", alias="maxLos") + cut_off_days: Optional[StrictInt] = Field(default=None, description="How many days before arrival should guests be required to book", alias="cutOffDays") + last_minute_booking_days: Optional[StrictInt] = Field(default=None, description="How many days before the arrival guests are allowed to book", alias="lastMinuteBookingDays") + closed_to_arrival: Optional[StrictInt] = Field(default=None, description="If the interval dates are closed for arrival", alias="closedToArrival") + closed_to_departure: Optional[StrictInt] = Field(default=None, description="If the interval dates are closed for departure", alias="closedToDeparture") + __properties: ClassVar[List[str]] = ["minLos", "maxLos", "cutOffDays", "lastMinuteBookingDays", "closedToArrival", "closedToDeparture"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if min_los (nullable) is None + # and model_fields_set contains the field + if self.min_los is None and "min_los" in self.model_fields_set: + _dict['minLos'] = None + + # set to None if max_los (nullable) is None + # and model_fields_set contains the field + if self.max_los is None and "max_los" in self.model_fields_set: + _dict['maxLos'] = None + + # set to None if cut_off_days (nullable) is None + # and model_fields_set contains the field + if self.cut_off_days is None and "cut_off_days" in self.model_fields_set: + _dict['cutOffDays'] = None + + # set to None if last_minute_booking_days (nullable) is None + # and model_fields_set contains the field + if self.last_minute_booking_days is None and "last_minute_booking_days" in self.model_fields_set: + _dict['lastMinuteBookingDays'] = None + + # set to None if closed_to_arrival (nullable) is None + # and model_fields_set contains the field + if self.closed_to_arrival is None and "closed_to_arrival" in self.model_fields_set: + _dict['closedToArrival'] = None + + # set to None if closed_to_departure (nullable) is None + # and model_fields_set contains the field + if self.closed_to_departure is None and "closed_to_departure" in self.model_fields_set: + _dict['closedToDeparture'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "minLos": obj.get("minLos"), + "maxLos": obj.get("maxLos"), + "cutOffDays": obj.get("cutOffDays"), + "lastMinuteBookingDays": obj.get("lastMinuteBookingDays"), + "closedToArrival": obj.get("closedToArrival"), + "closedToDeparture": obj.get("closedToDeparture") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_create_allotment_block_request_auto_release.py b/cloudbeds_pms_v1_3/models/post_create_allotment_block_request_auto_release.py new file mode 100644 index 0000000..a5ee53d --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_create_allotment_block_request_auto_release.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostCreateAllotmentBlockRequestAutoRelease(BaseModel): + """ + Optional auto-release configuration + """ # noqa: E501 + release_type: Optional[StrictStr] = Field(default=None, description="The type of auto-release", alias="releaseType") + days: Optional[StrictInt] = Field(default=None, description="The number of days prior to the end of the allotment block to begin releasing dates from the allotment block") + release_time: Optional[StrictStr] = Field(default=None, description="The hour to being the auto-release in HH:00 format, e.g. '00:00', '01:00'...", alias="releaseTime") + __properties: ClassVar[List[str]] = ["releaseType", "days", "releaseTime"] + + @field_validator('release_type') + def release_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['all_dates', 'by_day', 'by_interval', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockRequestAutoRelease from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if release_type (nullable) is None + # and model_fields_set contains the field + if self.release_type is None and "release_type" in self.model_fields_set: + _dict['releaseType'] = None + + # set to None if days (nullable) is None + # and model_fields_set contains the field + if self.days is None and "days" in self.model_fields_set: + _dict['days'] = None + + # set to None if release_time (nullable) is None + # and model_fields_set contains the field + if self.release_time is None and "release_time" in self.model_fields_set: + _dict['releaseTime'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockRequestAutoRelease from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "releaseType": obj.get("releaseType"), + "days": obj.get("days"), + "releaseTime": obj.get("releaseTime") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_create_allotment_block_response.py b/cloudbeds_pms_v1_3/models/post_create_allotment_block_response.py new file mode 100644 index 0000000..e0e39e6 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_create_allotment_block_response.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner import PostCreateAllotmentBlockResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class PostCreateAllotmentBlockResponse(BaseModel): + """ + PostCreateAllotmentBlockResponse + """ # noqa: E501 + start_date: Optional[date] = Field(default=None, description="Date on or after which each returned allotmentBlock applies", alias="startDate") + end_date: Optional[date] = Field(default=None, description="Date on or before which each returned allotmentBlock applies", alias="endDate") + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[PostCreateAllotmentBlockResponseDataInner]] = Field(default=None, description="Allotment Blocks") + __properties: ClassVar[List[str]] = ["startDate", "endDate", "success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "success": obj.get("success"), + "data": [PostCreateAllotmentBlockResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner.py b/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner.py new file mode 100644 index 0000000..385168d --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_auto_release import PostCreateAllotmentBlockResponseDataInnerAutoRelease +from typing import Optional, Set +from typing_extensions import Self + +class PostCreateAllotmentBlockResponseDataInner(BaseModel): + """ + PostCreateAllotmentBlockResponseDataInner + """ # noqa: E501 + property_id: Optional[StrictStr] = Field(default=None, description="Property ID associated to the allotment block", alias="propertyID") + allotment_block_code: Optional[StrictStr] = Field(default=None, description="Allotment block code", alias="allotmentBlockCode") + allotment_block_status: Optional[StrictStr] = Field(default=None, description="Allotment block status", alias="allotmentBlockStatus") + allotment_block_name: Optional[StrictStr] = Field(default=None, description="Allotment block name", alias="allotmentBlockName") + allotment_block_id: Optional[StrictStr] = Field(default=None, description="Allotment block ID", alias="allotmentBlockId") + rate_type: Optional[StrictStr] = Field(default=None, description="Rate type for the allotment block", alias="rateType") + rate_plan_id: Optional[StrictStr] = Field(default=None, description="Rate plan ID if applicable", alias="ratePlanId") + allotment_type: Optional[StrictStr] = Field(default=None, description="the type of allotment block", alias="allotmentType") + group_id: Optional[StrictStr] = Field(default=None, description="Group profile ID associated to the allotment block", alias="groupId") + group_code: Optional[StrictStr] = Field(default=None, description="Group profile code associated to the allotment block", alias="groupCode") + event_id: Optional[StrictStr] = Field(default=None, description="Event ID associated to the allotment block", alias="eventId") + event_code: Optional[StrictStr] = Field(default=None, description="Event code associated to the allotment block", alias="eventCode") + is_auto_release: Optional[StrictBool] = Field(default=None, description="If the allotment block is configured for auto-release", alias="isAutoRelease") + auto_release: Optional[PostCreateAllotmentBlockResponseDataInnerAutoRelease] = Field(default=None, alias="autoRelease") + allotment_intervals: Optional[List[PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner]] = Field(default=None, description="array of interval data by room type", alias="allotmentIntervals") + __properties: ClassVar[List[str]] = ["propertyID", "allotmentBlockCode", "allotmentBlockStatus", "allotmentBlockName", "allotmentBlockId", "rateType", "ratePlanId", "allotmentType", "groupId", "groupCode", "eventId", "eventCode", "isAutoRelease", "autoRelease", "allotmentIntervals"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of auto_release + if self.auto_release: + _dict['autoRelease'] = self.auto_release.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in allotment_intervals (list) + _items = [] + if self.allotment_intervals: + for _item_allotment_intervals in self.allotment_intervals: + if _item_allotment_intervals: + _items.append(_item_allotment_intervals.to_dict()) + _dict['allotmentIntervals'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyID": obj.get("propertyID"), + "allotmentBlockCode": obj.get("allotmentBlockCode"), + "allotmentBlockStatus": obj.get("allotmentBlockStatus"), + "allotmentBlockName": obj.get("allotmentBlockName"), + "allotmentBlockId": obj.get("allotmentBlockId"), + "rateType": obj.get("rateType"), + "ratePlanId": obj.get("ratePlanId"), + "allotmentType": obj.get("allotmentType"), + "groupId": obj.get("groupId"), + "groupCode": obj.get("groupCode"), + "eventId": obj.get("eventId"), + "eventCode": obj.get("eventCode"), + "isAutoRelease": obj.get("isAutoRelease"), + "autoRelease": PostCreateAllotmentBlockResponseDataInnerAutoRelease.from_dict(obj["autoRelease"]) if obj.get("autoRelease") is not None else None, + "allotmentIntervals": [PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.from_dict(_item) for _item in obj["allotmentIntervals"]] if obj.get("allotmentIntervals") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_allotment_intervals_inner.py b/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_allotment_intervals_inner.py new file mode 100644 index 0000000..bd4d32e --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_allotment_intervals_inner.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions +from typing import Optional, Set +from typing_extensions import Self + +class PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner(BaseModel): + """ + PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner + """ # noqa: E501 + policy_id: Optional[StrictStr] = Field(default=None, description="Policy ID associated with the interval", alias="policyId") + room_type_id: Optional[StrictStr] = Field(default=None, description="Room type ID", alias="roomTypeId") + start_date: Optional[date] = Field(default=None, description="Interval start date", alias="startDate") + end_date: Optional[date] = Field(default=None, description="Interval end date", alias="endDate") + availability: Optional[PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability] = None + restrictions: Optional[PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions] = None + __properties: ClassVar[List[str]] = ["policyId", "roomTypeId", "startDate", "endDate", "availability", "restrictions"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of availability + if self.availability: + _dict['availability'] = self.availability.to_dict() + # override the default output from pydantic by calling `to_dict()` of restrictions + if self.restrictions: + _dict['restrictions'] = self.restrictions.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "policyId": obj.get("policyId"), + "roomTypeId": obj.get("roomTypeId"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "availability": PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability.from_dict(obj["availability"]) if obj.get("availability") is not None else None, + "restrictions": PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.from_dict(obj["restrictions"]) if obj.get("restrictions") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability.py b/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability.py new file mode 100644 index 0000000..eeedce4 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing +from typing import Optional, Set +from typing_extensions import Self + +class PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability(BaseModel): + """ + Interval availability data by day in interval + """ # noqa: E501 + var_date: Optional[date] = Field(default=None, description="Day within interval", alias="date") + block_remaining: Optional[StrictInt] = Field(default=None, description="Number of units remaining for the room type for this day", alias="blockRemaining") + block_allotted: Optional[StrictInt] = Field(default=None, description="Total number of units available for the room type for this day", alias="blockAllotted") + block_confirmed: Optional[StrictInt] = Field(default=None, description="Number of units booked for the room type for this day", alias="blockConfirmed") + rate: Optional[StrictStr] = Field(default=None, description="the price") + guest_pricing: Optional[PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing] = Field(default=None, alias="guestPricing") + rooms: Optional[List[StrictStr]] = Field(default=None, description="Array of room IDs assigned to this date") + __properties: ClassVar[List[str]] = ["date", "blockRemaining", "blockAllotted", "blockConfirmed", "rate", "guestPricing", "rooms"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of guest_pricing + if self.guest_pricing: + _dict['guestPricing'] = self.guest_pricing.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "date": obj.get("date"), + "blockRemaining": obj.get("blockRemaining"), + "blockAllotted": obj.get("blockAllotted"), + "blockConfirmed": obj.get("blockConfirmed"), + "rate": obj.get("rate"), + "guestPricing": PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing.from_dict(obj["guestPricing"]) if obj.get("guestPricing") is not None else None, + "rooms": obj.get("rooms") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.py b/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.py new file mode 100644 index 0000000..c2c340a --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing(BaseModel): + """ + Guest pricing data if applicable. Note: the number of results varies here based on the occupancy settings and custom guest pricing for the room type. + """ # noqa: E501 + adult1: Optional[StrictStr] = Field(default=None, description="Price for adult 1") + adult2: Optional[StrictStr] = Field(default=None, description="Price for adult 2") + adult3: Optional[StrictStr] = Field(default=None, description="Price for adult 3") + child1: Optional[StrictStr] = Field(default=None, description="Price for child 1") + child2: Optional[StrictStr] = Field(default=None, description="Price for child 2") + child3: Optional[StrictStr] = Field(default=None, description="Price for child 3") + __properties: ClassVar[List[str]] = ["adult1", "adult2", "adult3", "child1", "child2", "child3"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "adult1": obj.get("adult1"), + "adult2": obj.get("adult2"), + "adult3": obj.get("adult3"), + "child1": obj.get("child1"), + "child2": obj.get("child2"), + "child3": obj.get("child3") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.py b/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.py new file mode 100644 index 0000000..e69f53c --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions(BaseModel): + """ + Interval restrictions if applicable + """ # noqa: E501 + min_los: Optional[StrictInt] = Field(default=None, description="Minimum length of stay requirement", alias="minLos") + max_los: Optional[StrictInt] = Field(default=None, description="Maximum length of stay requirement", alias="maxLos") + cut_off_days: Optional[StrictInt] = Field(default=None, description="How many days before arrival should the guests be required to book", alias="cutOffDays") + last_minute_booking_days: Optional[StrictInt] = Field(default=None, description="Hoe many days before the arrival guests are allowed to book", alias="lastMinuteBookingDays") + closed_to_arrival: Optional[StrictInt] = Field(default=None, description="If the interval dates are closed for arrival", alias="closedToArrival") + closed_to_departure: Optional[StrictInt] = Field(default=None, description="If the interval dates are closed for departure", alias="closedToDeparture") + __properties: ClassVar[List[str]] = ["minLos", "maxLos", "cutOffDays", "lastMinuteBookingDays", "closedToArrival", "closedToDeparture"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "minLos": obj.get("minLos"), + "maxLos": obj.get("maxLos"), + "cutOffDays": obj.get("cutOffDays"), + "lastMinuteBookingDays": obj.get("lastMinuteBookingDays"), + "closedToArrival": obj.get("closedToArrival"), + "closedToDeparture": obj.get("closedToDeparture") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_auto_release.py b/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_auto_release.py new file mode 100644 index 0000000..0612507 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_create_allotment_block_response_data_inner_auto_release.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostCreateAllotmentBlockResponseDataInnerAutoRelease(BaseModel): + """ + auto-release data if applicable + """ # noqa: E501 + release_type: Optional[StrictStr] = Field(default=None, description="The type of auto-release", alias="releaseType") + days: Optional[StrictInt] = Field(default=None, description="The number of days prior to the end of the allotment block to begin releasing dates from the allotment block") + release_time: Optional[StrictStr] = Field(default=None, description="The hour to being the auto-release in HH:00 format, e.g. '00:00', '01:00'...", alias="releaseTime") + __properties: ClassVar[List[str]] = ["releaseType", "days", "releaseTime"] + + @field_validator('release_type') + def release_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['all_dates', 'by_day', 'by_interval', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockResponseDataInnerAutoRelease from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCreateAllotmentBlockResponseDataInnerAutoRelease from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "releaseType": obj.get("releaseType"), + "days": obj.get("days"), + "releaseTime": obj.get("releaseTime") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_custom_field_response.py b/cloudbeds_pms_v1_3/models/post_custom_field_response.py new file mode 100644 index 0000000..fa52a1c --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_custom_field_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_custom_field_response_data import PostCustomFieldResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostCustomFieldResponse(BaseModel): + """ + PostCustomFieldResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[PostCustomFieldResponseData] = None + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCustomFieldResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCustomFieldResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": PostCustomFieldResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_custom_field_response_data.py b/cloudbeds_pms_v1_3/models/post_custom_field_response_data.py new file mode 100644 index 0000000..3af7e12 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_custom_field_response_data.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostCustomFieldResponseData(BaseModel): + """ + Field details + """ # noqa: E501 + field_id: Optional[StrictStr] = Field(default=None, description="Field name", alias="fieldID") + name: Optional[StrictStr] = Field(default=None, description="Field name") + shortcode: Optional[StrictStr] = Field(default=None, description="Internal reference and is used for integration purposes such as custom links and the API") + __properties: ClassVar[List[str]] = ["fieldID", "name", "shortcode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCustomFieldResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCustomFieldResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "fieldID": obj.get("fieldID"), + "name": obj.get("name"), + "shortcode": obj.get("shortcode") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_custom_item_request_items_inner.py b/cloudbeds_pms_v1_3/models/post_custom_item_request_items_inner.py new file mode 100644 index 0000000..4d16fc4 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_custom_item_request_items_inner.py @@ -0,0 +1,144 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner_item_fees_inner import PostCustomItemRequestItemsInnerItemFeesInner +from cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner_item_taxes_inner import PostCustomItemRequestItemsInnerItemTaxesInner +from typing import Optional, Set +from typing_extensions import Self + +class PostCustomItemRequestItemsInner(BaseModel): + """ + PostCustomItemRequestItemsInner + """ # noqa: E501 + app_item_id: Optional[StrictStr] = Field(default=None, description="Identifier of item. Future calls using the same ID will use previously sent item name and description. Item name/description sent in new request will be ignored.", alias="appItemID") + item_sku: Optional[StrictStr] = Field(default=None, description="Item SKU identifier", alias="itemSKU") + item_quantity: Optional[StrictInt] = Field(default=None, description="Items quantity", alias="itemQuantity") + item_price: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Item price", alias="itemPrice") + item_name: Optional[StrictStr] = Field(default=None, description="Item name", alias="itemName") + item_category_name: Optional[StrictStr] = Field(default=None, description="Item category name", alias="itemCategoryName") + item_note: Optional[StrictStr] = Field(default=None, description="Item note", alias="itemNote") + item_taxes: Optional[List[PostCustomItemRequestItemsInnerItemTaxesInner]] = Field(default=None, description="list of taxes applied to item", alias="itemTaxes") + item_fees: Optional[List[PostCustomItemRequestItemsInnerItemFeesInner]] = Field(default=None, description="list of fees applied to item", alias="itemFees") + __properties: ClassVar[List[str]] = ["appItemID", "itemSKU", "itemQuantity", "itemPrice", "itemName", "itemCategoryName", "itemNote", "itemTaxes", "itemFees"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCustomItemRequestItemsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in item_taxes (list) + _items = [] + if self.item_taxes: + for _item_item_taxes in self.item_taxes: + if _item_item_taxes: + _items.append(_item_item_taxes.to_dict()) + _dict['itemTaxes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in item_fees (list) + _items = [] + if self.item_fees: + for _item_item_fees in self.item_fees: + if _item_item_fees: + _items.append(_item_item_fees.to_dict()) + _dict['itemFees'] = _items + # set to None if item_sku (nullable) is None + # and model_fields_set contains the field + if self.item_sku is None and "item_sku" in self.model_fields_set: + _dict['itemSKU'] = None + + # set to None if item_category_name (nullable) is None + # and model_fields_set contains the field + if self.item_category_name is None and "item_category_name" in self.model_fields_set: + _dict['itemCategoryName'] = None + + # set to None if item_note (nullable) is None + # and model_fields_set contains the field + if self.item_note is None and "item_note" in self.model_fields_set: + _dict['itemNote'] = None + + # set to None if item_taxes (nullable) is None + # and model_fields_set contains the field + if self.item_taxes is None and "item_taxes" in self.model_fields_set: + _dict['itemTaxes'] = None + + # set to None if item_fees (nullable) is None + # and model_fields_set contains the field + if self.item_fees is None and "item_fees" in self.model_fields_set: + _dict['itemFees'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCustomItemRequestItemsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "appItemID": obj.get("appItemID"), + "itemSKU": obj.get("itemSKU"), + "itemQuantity": obj.get("itemQuantity"), + "itemPrice": obj.get("itemPrice"), + "itemName": obj.get("itemName"), + "itemCategoryName": obj.get("itemCategoryName"), + "itemNote": obj.get("itemNote"), + "itemTaxes": [PostCustomItemRequestItemsInnerItemTaxesInner.from_dict(_item) for _item in obj["itemTaxes"]] if obj.get("itemTaxes") is not None else None, + "itemFees": [PostCustomItemRequestItemsInnerItemFeesInner.from_dict(_item) for _item in obj["itemFees"]] if obj.get("itemFees") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_custom_item_request_items_inner_item_fees_inner.py b/cloudbeds_pms_v1_3/models/post_custom_item_request_items_inner_item_fees_inner.py new file mode 100644 index 0000000..b98e52e --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_custom_item_request_items_inner_item_fees_inner.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class PostCustomItemRequestItemsInnerItemFeesInner(BaseModel): + """ + PostCustomItemRequestItemsInnerItemFeesInner + """ # noqa: E501 + fee_name: Optional[StrictStr] = Field(default=None, description="fee name", alias="feeName") + fee_value: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="fee value", alias="feeValue") + __properties: ClassVar[List[str]] = ["feeName", "feeValue"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCustomItemRequestItemsInnerItemFeesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCustomItemRequestItemsInnerItemFeesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "feeName": obj.get("feeName"), + "feeValue": obj.get("feeValue") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_custom_item_request_items_inner_item_taxes_inner.py b/cloudbeds_pms_v1_3/models/post_custom_item_request_items_inner_item_taxes_inner.py new file mode 100644 index 0000000..efcb300 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_custom_item_request_items_inner_item_taxes_inner.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class PostCustomItemRequestItemsInnerItemTaxesInner(BaseModel): + """ + PostCustomItemRequestItemsInnerItemTaxesInner + """ # noqa: E501 + tax_name: Optional[StrictStr] = Field(default=None, description="tax name", alias="taxName") + tax_value: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="tax value", alias="taxValue") + __properties: ClassVar[List[str]] = ["taxName", "taxValue"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCustomItemRequestItemsInnerItemTaxesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCustomItemRequestItemsInnerItemTaxesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "taxName": obj.get("taxName"), + "taxValue": obj.get("taxValue") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_custom_item_request_payments_inner.py b/cloudbeds_pms_v1_3/models/post_custom_item_request_payments_inner.py new file mode 100644 index 0000000..5ef767b --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_custom_item_request_payments_inner.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class PostCustomItemRequestPaymentsInner(BaseModel): + """ + PostCustomItemRequestPaymentsInner + """ # noqa: E501 + payment_type: Optional[StrictStr] = Field(default=None, description="Payment method. Use the call [getPaymentMethods](#api-Payment-getPaymentMethods) to get the properties enabled payment methods.", alias="paymentType") + card_type: Optional[StrictStr] = Field(default=None, description="When paymentType is cards or credit, the cardType could be specified (visa, master etc.). The list of types can be found with [getPaymentMethods](#api-Payment-getPaymentMethods) (cardCode inside cardTypes). If omitted, payment is treated as Credit Card Without Details.", alias="cardType") + amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="payment amount") + notes: Optional[StrictStr] = Field(default=None, description="payment note") + __properties: ClassVar[List[str]] = ["paymentType", "cardType", "amount", "notes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCustomItemRequestPaymentsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if card_type (nullable) is None + # and model_fields_set contains the field + if self.card_type is None and "card_type" in self.model_fields_set: + _dict['cardType'] = None + + # set to None if notes (nullable) is None + # and model_fields_set contains the field + if self.notes is None and "notes" in self.model_fields_set: + _dict['notes'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCustomItemRequestPaymentsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "paymentType": obj.get("paymentType"), + "cardType": obj.get("cardType"), + "amount": obj.get("amount"), + "notes": obj.get("notes") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_custom_item_response.py b/cloudbeds_pms_v1_3/models/post_custom_item_response.py new file mode 100644 index 0000000..7f7d214 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_custom_item_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_custom_item_response_data import PostCustomItemResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostCustomItemResponse(BaseModel): + """ + PostCustomItemResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[PostCustomItemResponseData] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCustomItemResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCustomItemResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": PostCustomItemResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_custom_item_response_data.py b/cloudbeds_pms_v1_3/models/post_custom_item_response_data.py new file mode 100644 index 0000000..c19383f --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_custom_item_response_data.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostCustomItemResponseData(BaseModel): + """ + Sold product details + """ # noqa: E501 + sold_product_id: Optional[StrictStr] = Field(default=None, description="Sold product identifier (Usable to void this product in future).", alias="soldProductID") + transaction_id: Optional[StrictStr] = Field(default=None, description="Transaction identifier", alias="transactionID") + notice: Optional[StrictStr] = Field(default=None, description="In case that a referenceID was sent, for second time, this field will alert that nothing was created or updated.") + __properties: ClassVar[List[str]] = ["soldProductID", "transactionID", "notice"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCustomItemResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCustomItemResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "soldProductID": obj.get("soldProductID"), + "transactionID": obj.get("transactionID"), + "notice": obj.get("notice") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_custom_payment_method_response.py b/cloudbeds_pms_v1_3/models/post_custom_payment_method_response.py new file mode 100644 index 0000000..397c6cf --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_custom_payment_method_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostCustomPaymentMethodResponse(BaseModel): + """ + PostCustomPaymentMethodResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostCustomPaymentMethodResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostCustomPaymentMethodResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_delete_allotment_block_response.py b/cloudbeds_pms_v1_3/models/post_delete_allotment_block_response.py new file mode 100644 index 0000000..a1f01cb --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_delete_allotment_block_response.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostDeleteAllotmentBlockResponse(BaseModel): + """ + PostDeleteAllotmentBlockResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + __properties: ClassVar[List[str]] = ["success"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostDeleteAllotmentBlockResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostDeleteAllotmentBlockResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_delete_app_property_settings_response.py b/cloudbeds_pms_v1_3/models/post_delete_app_property_settings_response.py new file mode 100644 index 0000000..0070ab4 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_delete_app_property_settings_response.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostDeleteAppPropertySettingsResponse(BaseModel): + """ + PostDeleteAppPropertySettingsResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Success") + message: Optional[StrictStr] = Field(default=None, description="Response message") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostDeleteAppPropertySettingsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostDeleteAppPropertySettingsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_email_schedule_request_schedule.py b/cloudbeds_pms_v1_3/models/post_email_schedule_request_schedule.py new file mode 100644 index 0000000..756b8fd --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_email_schedule_request_schedule.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule_reservation_event import PostEmailScheduleRequestScheduleReservationEvent +from cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule_reservation_status_change import PostEmailScheduleRequestScheduleReservationStatusChange +from typing import Optional, Set +from typing_extensions import Self + +class PostEmailScheduleRequestSchedule(BaseModel): + """ + + """ # noqa: E501 + reservation_status_change: Optional[PostEmailScheduleRequestScheduleReservationStatusChange] = Field(default=None, alias="reservationStatusChange") + reservation_event: Optional[PostEmailScheduleRequestScheduleReservationEvent] = Field(default=None, alias="reservationEvent") + __properties: ClassVar[List[str]] = ["reservationStatusChange", "reservationEvent"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostEmailScheduleRequestSchedule from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of reservation_status_change + if self.reservation_status_change: + _dict['reservationStatusChange'] = self.reservation_status_change.to_dict() + # override the default output from pydantic by calling `to_dict()` of reservation_event + if self.reservation_event: + _dict['reservationEvent'] = self.reservation_event.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostEmailScheduleRequestSchedule from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "reservationStatusChange": PostEmailScheduleRequestScheduleReservationStatusChange.from_dict(obj["reservationStatusChange"]) if obj.get("reservationStatusChange") is not None else None, + "reservationEvent": PostEmailScheduleRequestScheduleReservationEvent.from_dict(obj["reservationEvent"]) if obj.get("reservationEvent") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_email_schedule_request_schedule_reservation_event.py b/cloudbeds_pms_v1_3/models/post_email_schedule_request_schedule_reservation_event.py new file mode 100644 index 0000000..fa3a48c --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_email_schedule_request_schedule_reservation_event.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostEmailScheduleRequestScheduleReservationEvent(BaseModel): + """ + + """ # noqa: E501 + event: Optional[StrictStr] = Field(default=None, description="Specify event that triggers email sending") + days: Optional[StrictInt] = Field(default=None, description="Number of days prior to or after the event") + time: Optional[StrictStr] = Field(default=None, description="Time of the day") + __properties: ClassVar[List[str]] = ["event", "days", "time"] + + @field_validator('event') + def event_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['after_booking', 'after_check_out', 'after_check_in', 'before_check_out', 'before_check_in', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostEmailScheduleRequestScheduleReservationEvent from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostEmailScheduleRequestScheduleReservationEvent from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "event": obj.get("event"), + "days": obj.get("days"), + "time": obj.get("time") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_email_schedule_request_schedule_reservation_status_change.py b/cloudbeds_pms_v1_3/models/post_email_schedule_request_schedule_reservation_status_change.py new file mode 100644 index 0000000..066ec90 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_email_schedule_request_schedule_reservation_status_change.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostEmailScheduleRequestScheduleReservationStatusChange(BaseModel): + """ + + """ # noqa: E501 + status: Optional[StrictStr] = Field(default=None, description="Specify which reservation status change triggers sending the email") + __properties: ClassVar[List[str]] = ["status"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['confirmed', 'not_confirmed', 'canceled', 'checked_in', 'checked_out', 'no_show', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostEmailScheduleRequestScheduleReservationStatusChange from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostEmailScheduleRequestScheduleReservationStatusChange from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "status": obj.get("status") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_email_schedule_response.py b/cloudbeds_pms_v1_3/models/post_email_schedule_response.py new file mode 100644 index 0000000..e1274bd --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_email_schedule_response.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostEmailScheduleResponse(BaseModel): + """ + PostEmailScheduleResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + email_schedule_id: Optional[StrictStr] = Field(default=None, description="The ID of the created email schedule. Only present if success = true", alias="emailScheduleID") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "emailScheduleID", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostEmailScheduleResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if email_schedule_id (nullable) is None + # and model_fields_set contains the field + if self.email_schedule_id is None and "email_schedule_id" in self.model_fields_set: + _dict['emailScheduleID'] = None + + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostEmailScheduleResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "emailScheduleID": obj.get("emailScheduleID"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_email_template_request_body.py b/cloudbeds_pms_v1_3/models/post_email_template_request_body.py new file mode 100644 index 0000000..72ca2e3 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_email_template_request_body.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostEmailTemplateRequestBody(BaseModel): + """ + Email message body. The body key should be a language code (IETF). A few examples are listed below. + """ # noqa: E501 + en: Optional[StrictStr] = Field(default=None, description="Email message body in English") + es: Optional[StrictStr] = Field(default=None, description="Email message body in Spanish") + ru: Optional[StrictStr] = Field(default=None, description="Email message body in Russian") + pt_br: Optional[StrictStr] = Field(default=None, description="Email message body in Portuguese", alias="pt-br") + __properties: ClassVar[List[str]] = ["en", "es", "ru", "pt-br"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostEmailTemplateRequestBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if en (nullable) is None + # and model_fields_set contains the field + if self.en is None and "en" in self.model_fields_set: + _dict['en'] = None + + # set to None if es (nullable) is None + # and model_fields_set contains the field + if self.es is None and "es" in self.model_fields_set: + _dict['es'] = None + + # set to None if ru (nullable) is None + # and model_fields_set contains the field + if self.ru is None and "ru" in self.model_fields_set: + _dict['ru'] = None + + # set to None if pt_br (nullable) is None + # and model_fields_set contains the field + if self.pt_br is None and "pt_br" in self.model_fields_set: + _dict['pt-br'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostEmailTemplateRequestBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "en": obj.get("en"), + "es": obj.get("es"), + "ru": obj.get("ru"), + "pt-br": obj.get("pt-br") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_email_template_request_subject.py b/cloudbeds_pms_v1_3/models/post_email_template_request_subject.py new file mode 100644 index 0000000..e10a593 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_email_template_request_subject.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostEmailTemplateRequestSubject(BaseModel): + """ + Email message subject. The subject key should be a language code (IETF). A few examples are listed below. + """ # noqa: E501 + en: Optional[StrictStr] = Field(default=None, description="Email message subject in English") + es: Optional[StrictStr] = Field(default=None, description="Email message subject in Spanish") + ru: Optional[StrictStr] = Field(default=None, description="Email message subject in Russian") + pt_br: Optional[StrictStr] = Field(default=None, description="Email message subject in Portuguese", alias="pt-br") + __properties: ClassVar[List[str]] = ["en", "es", "ru", "pt-br"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostEmailTemplateRequestSubject from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if en (nullable) is None + # and model_fields_set contains the field + if self.en is None and "en" in self.model_fields_set: + _dict['en'] = None + + # set to None if es (nullable) is None + # and model_fields_set contains the field + if self.es is None and "es" in self.model_fields_set: + _dict['es'] = None + + # set to None if ru (nullable) is None + # and model_fields_set contains the field + if self.ru is None and "ru" in self.model_fields_set: + _dict['ru'] = None + + # set to None if pt_br (nullable) is None + # and model_fields_set contains the field + if self.pt_br is None and "pt_br" in self.model_fields_set: + _dict['pt-br'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostEmailTemplateRequestSubject from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "en": obj.get("en"), + "es": obj.get("es"), + "ru": obj.get("ru"), + "pt-br": obj.get("pt-br") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_email_template_response.py b/cloudbeds_pms_v1_3/models/post_email_template_response.py new file mode 100644 index 0000000..2aab3c3 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_email_template_response.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostEmailTemplateResponse(BaseModel): + """ + PostEmailTemplateResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + email_template_id: Optional[StrictStr] = Field(default=None, description="The ID of the created email template. Only present if success = true", alias="emailTemplateID") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "emailTemplateID", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostEmailTemplateResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if email_template_id (nullable) is None + # and model_fields_set contains the field + if self.email_template_id is None and "email_template_id" in self.model_fields_set: + _dict['emailTemplateID'] = None + + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostEmailTemplateResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "emailTemplateID": obj.get("emailTemplateID"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_file_response.py b/cloudbeds_pms_v1_3/models/post_file_response.py new file mode 100644 index 0000000..7aa2534 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_file_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_guest_document_response_data import PostGuestDocumentResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostFileResponse(BaseModel): + """ + PostFileResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + data: Optional[PostGuestDocumentResponseData] = None + __properties: ClassVar[List[str]] = ["success", "message", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostFileResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostFileResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message"), + "data": PostGuestDocumentResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_government_receipt_response.py b/cloudbeds_pms_v1_3/models/post_government_receipt_response.py new file mode 100644 index 0000000..0948c1d --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_government_receipt_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostGovernmentReceiptResponse(BaseModel): + """ + PostGovernmentReceiptResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostGovernmentReceiptResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostGovernmentReceiptResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_group_note_response.py b/cloudbeds_pms_v1_3/models/post_group_note_response.py new file mode 100644 index 0000000..5cdcf20 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_group_note_response.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_group_note_response_data_inner import PostGroupNoteResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class PostGroupNoteResponse(BaseModel): + """ + PostGroupNoteResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Success") + code: Optional[StrictInt] = Field(default=None, description="code HTTP status code") + data: Optional[List[PostGroupNoteResponseDataInner]] = Field(default=None, description="Data") + __properties: ClassVar[List[str]] = ["success", "code", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostGroupNoteResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostGroupNoteResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "code": obj.get("code"), + "data": [PostGroupNoteResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_group_note_response_data_inner.py b/cloudbeds_pms_v1_3/models/post_group_note_response_data_inner.py new file mode 100644 index 0000000..36ae64f --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_group_note_response_data_inner.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostGroupNoteResponseDataInner(BaseModel): + """ + PostGroupNoteResponseDataInner + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="ID for the note") + group_profile_id: Optional[StrictStr] = Field(default=None, description="Group profile ID") + text: Optional[StrictStr] = Field(default=None, description="Note text") + created_by: Optional[StrictStr] = Field(default=None, description="Created by") + created_at: Optional[StrictStr] = Field(default=None, description="Created at") + updated_at: Optional[StrictStr] = Field(default=None, description="Updated at") + archived: Optional[StrictStr] = Field(default=None, description="Note archived") + archived_at: Optional[StrictStr] = Field(default=None, description="Note archived at") + __properties: ClassVar[List[str]] = ["id", "group_profile_id", "text", "created_by", "created_at", "updated_at", "archived", "archived_at"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostGroupNoteResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostGroupNoteResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "group_profile_id": obj.get("group_profile_id"), + "text": obj.get("text"), + "created_by": obj.get("created_by"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "archived": obj.get("archived"), + "archived_at": obj.get("archived_at") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_guest_document_response.py b/cloudbeds_pms_v1_3/models/post_guest_document_response.py new file mode 100644 index 0000000..61e0c8d --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_guest_document_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_guest_document_response_data import PostGuestDocumentResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostGuestDocumentResponse(BaseModel): + """ + PostGuestDocumentResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + data: Optional[PostGuestDocumentResponseData] = None + __properties: ClassVar[List[str]] = ["success", "message", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostGuestDocumentResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostGuestDocumentResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message"), + "data": PostGuestDocumentResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_guest_document_response_data.py b/cloudbeds_pms_v1_3/models/post_guest_document_response_data.py new file mode 100644 index 0000000..bb6e7d3 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_guest_document_response_data.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostGuestDocumentResponseData(BaseModel): + """ + Details for the uploaded file + """ # noqa: E501 + file_id: Optional[StrictStr] = Field(default=None, description="uploaded file identifier", alias="fileID") + __properties: ClassVar[List[str]] = ["fileID"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostGuestDocumentResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostGuestDocumentResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "fileID": obj.get("fileID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_guest_note_response.py b/cloudbeds_pms_v1_3/models/post_guest_note_response.py new file mode 100644 index 0000000..7152603 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_guest_note_response.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostGuestNoteResponse(BaseModel): + """ + PostGuestNoteResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + guest_note_id: Optional[StrictStr] = Field(default=None, description="Guest note ID", alias="guestNoteID") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "guestNoteID", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostGuestNoteResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostGuestNoteResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "guestNoteID": obj.get("guestNoteID"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_guest_photo_response.py b/cloudbeds_pms_v1_3/models/post_guest_photo_response.py new file mode 100644 index 0000000..eb649a2 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_guest_photo_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_guest_document_response_data import PostGuestDocumentResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostGuestPhotoResponse(BaseModel): + """ + PostGuestPhotoResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + data: Optional[PostGuestDocumentResponseData] = None + __properties: ClassVar[List[str]] = ["success", "message", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostGuestPhotoResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostGuestPhotoResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message"), + "data": PostGuestDocumentResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_guest_request_custom_fields_inner.py b/cloudbeds_pms_v1_3/models/post_guest_request_custom_fields_inner.py new file mode 100644 index 0000000..1c6c88a --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_guest_request_custom_fields_inner.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostGuestRequestCustomFieldsInner(BaseModel): + """ + PostGuestRequestCustomFieldsInner + """ # noqa: E501 + custom_field_name: Optional[StrictStr] = Field(default=None, description="Custom Field shortcode.", alias="customFieldName") + custom_field_value: Optional[StrictStr] = Field(default=None, description="Custom field value. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected.", alias="customFieldValue") + __properties: ClassVar[List[str]] = ["customFieldName", "customFieldValue"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostGuestRequestCustomFieldsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if custom_field_name (nullable) is None + # and model_fields_set contains the field + if self.custom_field_name is None and "custom_field_name" in self.model_fields_set: + _dict['customFieldName'] = None + + # set to None if custom_field_value (nullable) is None + # and model_fields_set contains the field + if self.custom_field_value is None and "custom_field_value" in self.model_fields_set: + _dict['customFieldValue'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostGuestRequestCustomFieldsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "customFieldName": obj.get("customFieldName"), + "customFieldValue": obj.get("customFieldValue") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_guest_response.py b/cloudbeds_pms_v1_3/models/post_guest_response.py new file mode 100644 index 0000000..6b71add --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_guest_response.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostGuestResponse(BaseModel): + """ + PostGuestResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + guest_id: Optional[StrictStr] = Field(default=None, description="Returns the Guest ID if the request could be completed successfully", alias="guestID") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "guestID", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostGuestResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if guest_id (nullable) is None + # and model_fields_set contains the field + if self.guest_id is None and "guest_id" in self.model_fields_set: + _dict['guestID'] = None + + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostGuestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "guestID": obj.get("guestID"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_guests_to_room_response.py b/cloudbeds_pms_v1_3/models/post_guests_to_room_response.py new file mode 100644 index 0000000..f6f668f --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_guests_to_room_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostGuestsToRoomResponse(BaseModel): + """ + PostGuestsToRoomResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostGuestsToRoomResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostGuestsToRoomResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_housekeeper_response.py b/cloudbeds_pms_v1_3/models/post_housekeeper_response.py new file mode 100644 index 0000000..fc4d4c1 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_housekeeper_response.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostHousekeeperResponse(BaseModel): + """ + PostHousekeeperResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + housekeeper_id: Optional[StrictStr] = Field(default=None, description="Housekeeper ID. Returned if success = true.", alias="housekeeperID") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "housekeeperID", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostHousekeeperResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if housekeeper_id (nullable) is None + # and model_fields_set contains the field + if self.housekeeper_id is None and "housekeeper_id" in self.model_fields_set: + _dict['housekeeperID'] = None + + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostHousekeeperResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "housekeeperID": obj.get("housekeeperID"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_housekeeping_assignment_response.py b/cloudbeds_pms_v1_3/models/post_housekeeping_assignment_response.py new file mode 100644 index 0000000..bb56b08 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_housekeeping_assignment_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostHousekeepingAssignmentResponse(BaseModel): + """ + PostHousekeepingAssignmentResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostHousekeepingAssignmentResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostHousekeepingAssignmentResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_housekeeping_status_response.py b/cloudbeds_pms_v1_3/models/post_housekeeping_status_response.py new file mode 100644 index 0000000..142be36 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_housekeeping_status_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_housekeeping_status_response_data import PostHousekeepingStatusResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostHousekeepingStatusResponse(BaseModel): + """ + PostHousekeepingStatusResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[PostHousekeepingStatusResponseData] = None + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostHousekeepingStatusResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostHousekeepingStatusResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": PostHousekeepingStatusResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_housekeeping_status_response_data.py b/cloudbeds_pms_v1_3/models/post_housekeeping_status_response_data.py new file mode 100644 index 0000000..e15b541 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_housekeeping_status_response_data.py @@ -0,0 +1,126 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostHousekeepingStatusResponseData(BaseModel): + """ + + """ # noqa: E501 + var_date: Optional[date] = Field(default=None, description="Date for last date/time that the room condition changed", alias="date") + room_id: Optional[StrictStr] = Field(default=None, description="ID of room", alias="roomID") + room_condition: Optional[StrictStr] = Field(default=None, description="New room condition. \"inspected\" status is available only if the property has the feature enabled.", alias="roomCondition") + room_comments: Optional[StrictStr] = Field(default=None, description="New room comments.", alias="roomComments") + do_not_disturb: Optional[StrictBool] = Field(default=None, description="New \"do not disturb\" status", alias="doNotDisturb") + refused_service: Optional[StrictBool] = Field(default=None, description="New \"refused service\" status", alias="refusedService") + vacant_pickup: Optional[StrictBool] = Field(default=None, description="New \"vacant_pickup\" status", alias="vacantPickup") + __properties: ClassVar[List[str]] = ["date", "roomID", "roomCondition", "roomComments", "doNotDisturb", "refusedService", "vacantPickup"] + + @field_validator('room_condition') + def room_condition_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['dirty', 'clean', 'inspected', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostHousekeepingStatusResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if do_not_disturb (nullable) is None + # and model_fields_set contains the field + if self.do_not_disturb is None and "do_not_disturb" in self.model_fields_set: + _dict['doNotDisturb'] = None + + # set to None if refused_service (nullable) is None + # and model_fields_set contains the field + if self.refused_service is None and "refused_service" in self.model_fields_set: + _dict['refusedService'] = None + + # set to None if vacant_pickup (nullable) is None + # and model_fields_set contains the field + if self.vacant_pickup is None and "vacant_pickup" in self.model_fields_set: + _dict['vacantPickup'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostHousekeepingStatusResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "date": obj.get("date"), + "roomID": obj.get("roomID"), + "roomCondition": obj.get("roomCondition"), + "roomComments": obj.get("roomComments"), + "doNotDisturb": obj.get("doNotDisturb"), + "refusedService": obj.get("refusedService"), + "vacantPickup": obj.get("vacantPickup") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_item_category_response.py b/cloudbeds_pms_v1_3/models/post_item_category_response.py new file mode 100644 index 0000000..b14f18b --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_item_category_response.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostItemCategoryResponse(BaseModel): + """ + PostItemCategoryResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + category_id: Optional[StrictStr] = Field(default=None, description="Category unique identifier (if success = true)", alias="categoryID") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "categoryID", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostItemCategoryResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if category_id (nullable) is None + # and model_fields_set contains the field + if self.category_id is None and "category_id" in self.model_fields_set: + _dict['categoryID'] = None + + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostItemCategoryResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "categoryID": obj.get("categoryID"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_item_request_payments_inner.py b/cloudbeds_pms_v1_3/models/post_item_request_payments_inner.py new file mode 100644 index 0000000..ac0e4e4 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_item_request_payments_inner.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class PostItemRequestPaymentsInner(BaseModel): + """ + PostItemRequestPaymentsInner + """ # noqa: E501 + payment_type: Optional[StrictStr] = Field(default=None, description="Payment method. Use the call [getPaymentMethods](#api-Payment-getPaymentMethods) to get the properties enabled payment methods.", alias="paymentType") + amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="payment amount") + notes: Optional[StrictStr] = Field(default=None, description="payment note") + __properties: ClassVar[List[str]] = ["paymentType", "amount", "notes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostItemRequestPaymentsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if notes (nullable) is None + # and model_fields_set contains the field + if self.notes is None and "notes" in self.model_fields_set: + _dict['notes'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostItemRequestPaymentsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "paymentType": obj.get("paymentType"), + "amount": obj.get("amount"), + "notes": obj.get("notes") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_item_response.py b/cloudbeds_pms_v1_3/models/post_item_response.py new file mode 100644 index 0000000..e9ee633 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_item_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_item_response_data import PostItemResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostItemResponse(BaseModel): + """ + PostItemResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[PostItemResponseData] = None + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostItemResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostItemResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": PostItemResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_item_response_data.py b/cloudbeds_pms_v1_3/models/post_item_response_data.py new file mode 100644 index 0000000..b1d0ee6 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_item_response_data.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostItemResponseData(BaseModel): + """ + Sold product details + """ # noqa: E501 + sold_product_id: Optional[StrictStr] = Field(default=None, description="Sold product identifier (Usable to void this product in future).", alias="soldProductID") + transaction_id: Optional[StrictStr] = Field(default=None, description="Transaction identifier", alias="transactionID") + transaction_status: Optional[StrictStr] = Field(default=None, description="Transaction Status is returned \"Pending\" when sale date is in the future.", alias="transactionStatus") + remaining_item_quantity: Optional[StrictInt] = Field(default=None, description="Remaining number of items in stock (if applicable)", alias="remainingItemQuantity") + reorder_needed: Optional[StrictBool] = Field(default=None, description="true - Whether item is at or below value set for reorder threshold.", alias="reorderNeeded") + stop_sell_met: Optional[StrictBool] = Field(default=None, description="true - Whether item is at or below value set for stop-sell threshold.", alias="stopSellMet") + __properties: ClassVar[List[str]] = ["soldProductID", "transactionID", "transactionStatus", "remainingItemQuantity", "reorderNeeded", "stopSellMet"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostItemResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if transaction_status (nullable) is None + # and model_fields_set contains the field + if self.transaction_status is None and "transaction_status" in self.model_fields_set: + _dict['transactionStatus'] = None + + # set to None if remaining_item_quantity (nullable) is None + # and model_fields_set contains the field + if self.remaining_item_quantity is None and "remaining_item_quantity" in self.model_fields_set: + _dict['remainingItemQuantity'] = None + + # set to None if reorder_needed (nullable) is None + # and model_fields_set contains the field + if self.reorder_needed is None and "reorder_needed" in self.model_fields_set: + _dict['reorderNeeded'] = None + + # set to None if stop_sell_met (nullable) is None + # and model_fields_set contains the field + if self.stop_sell_met is None and "stop_sell_met" in self.model_fields_set: + _dict['stopSellMet'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostItemResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "soldProductID": obj.get("soldProductID"), + "transactionID": obj.get("transactionID"), + "transactionStatus": obj.get("transactionStatus"), + "remainingItemQuantity": obj.get("remainingItemQuantity"), + "reorderNeeded": obj.get("reorderNeeded"), + "stopSellMet": obj.get("stopSellMet") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_items_to_inventory_request_item.py b/cloudbeds_pms_v1_3/models/post_items_to_inventory_request_item.py new file mode 100644 index 0000000..3706079 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_items_to_inventory_request_item.py @@ -0,0 +1,187 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class PostItemsToInventoryRequestItem(BaseModel): + """ + Items + """ # noqa: E501 + property_id: Optional[StrictStr] = Field(default=None, description="Property ID", alias="propertyID") + item_name: Optional[StrictStr] = Field(default=None, description="Item name", alias="itemName") + category_id: Optional[StrictStr] = Field(default=None, description="Item category identifier", alias="categoryID") + item_type: Optional[StrictStr] = Field(default=None, description="Item type", alias="itemType") + item_sku: Optional[StrictStr] = Field(default=None, description="Item SKU. Will be generated if not set", alias="itemSKU") + item_code: Optional[StrictStr] = Field(default=None, description="Item code", alias="itemCode") + item_description: Optional[StrictStr] = Field(default=None, description="Item description", alias="itemDescription") + item_price: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Item price
When ItemPrice is blank the item will be created as Free / Complimentaty item without price", alias="itemPrice") + stock_inventory: Optional[StrictBool] = Field(default=False, description="Track stock inventory for this item", alias="stockInventory") + item_quantity: Optional[StrictInt] = Field(default=None, description="¹ Current amount of item available", alias="itemQuantity") + reorder_threshold: Optional[StrictInt] = Field(default=None, description="¹ Quantity at which to reorder item", alias="reorderThreshold") + stop_sell_met: Optional[StrictBool] = Field(default=False, description="¹ true - Whether item is at or below value set for stop-sell threshold.", alias="stopSellMet") + stop_sell: Optional[StrictInt] = Field(default=None, description="¹ Quantity at which to stop selling product.", alias="stopSell") + __properties: ClassVar[List[str]] = ["propertyID", "itemName", "categoryID", "itemType", "itemSKU", "itemCode", "itemDescription", "itemPrice", "stockInventory", "itemQuantity", "reorderThreshold", "stopSellMet", "stopSell"] + + @field_validator('item_type') + def item_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['product', 'service', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostItemsToInventoryRequestItem from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if property_id (nullable) is None + # and model_fields_set contains the field + if self.property_id is None and "property_id" in self.model_fields_set: + _dict['propertyID'] = None + + # set to None if item_name (nullable) is None + # and model_fields_set contains the field + if self.item_name is None and "item_name" in self.model_fields_set: + _dict['itemName'] = None + + # set to None if category_id (nullable) is None + # and model_fields_set contains the field + if self.category_id is None and "category_id" in self.model_fields_set: + _dict['categoryID'] = None + + # set to None if item_type (nullable) is None + # and model_fields_set contains the field + if self.item_type is None and "item_type" in self.model_fields_set: + _dict['itemType'] = None + + # set to None if item_sku (nullable) is None + # and model_fields_set contains the field + if self.item_sku is None and "item_sku" in self.model_fields_set: + _dict['itemSKU'] = None + + # set to None if item_code (nullable) is None + # and model_fields_set contains the field + if self.item_code is None and "item_code" in self.model_fields_set: + _dict['itemCode'] = None + + # set to None if item_description (nullable) is None + # and model_fields_set contains the field + if self.item_description is None and "item_description" in self.model_fields_set: + _dict['itemDescription'] = None + + # set to None if item_price (nullable) is None + # and model_fields_set contains the field + if self.item_price is None and "item_price" in self.model_fields_set: + _dict['itemPrice'] = None + + # set to None if stock_inventory (nullable) is None + # and model_fields_set contains the field + if self.stock_inventory is None and "stock_inventory" in self.model_fields_set: + _dict['stockInventory'] = None + + # set to None if item_quantity (nullable) is None + # and model_fields_set contains the field + if self.item_quantity is None and "item_quantity" in self.model_fields_set: + _dict['itemQuantity'] = None + + # set to None if reorder_threshold (nullable) is None + # and model_fields_set contains the field + if self.reorder_threshold is None and "reorder_threshold" in self.model_fields_set: + _dict['reorderThreshold'] = None + + # set to None if stop_sell_met (nullable) is None + # and model_fields_set contains the field + if self.stop_sell_met is None and "stop_sell_met" in self.model_fields_set: + _dict['stopSellMet'] = None + + # set to None if stop_sell (nullable) is None + # and model_fields_set contains the field + if self.stop_sell is None and "stop_sell" in self.model_fields_set: + _dict['stopSell'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostItemsToInventoryRequestItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyID": obj.get("propertyID"), + "itemName": obj.get("itemName"), + "categoryID": obj.get("categoryID"), + "itemType": obj.get("itemType"), + "itemSKU": obj.get("itemSKU"), + "itemCode": obj.get("itemCode"), + "itemDescription": obj.get("itemDescription"), + "itemPrice": obj.get("itemPrice"), + "stockInventory": obj.get("stockInventory") if obj.get("stockInventory") is not None else False, + "itemQuantity": obj.get("itemQuantity"), + "reorderThreshold": obj.get("reorderThreshold"), + "stopSellMet": obj.get("stopSellMet") if obj.get("stopSellMet") is not None else False, + "stopSell": obj.get("stopSell") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_items_to_inventory_response.py b/cloudbeds_pms_v1_3/models/post_items_to_inventory_response.py new file mode 100644 index 0000000..2a17a4c --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_items_to_inventory_response.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_items_to_inventory_response_data_inner import PostItemsToInventoryResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class PostItemsToInventoryResponse(BaseModel): + """ + PostItemsToInventoryResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[PostItemsToInventoryResponseDataInner]] = Field(default=None, description="Sold product details") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostItemsToInventoryResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostItemsToInventoryResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [PostItemsToInventoryResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_items_to_inventory_response_data_inner.py b/cloudbeds_pms_v1_3/models/post_items_to_inventory_response_data_inner.py new file mode 100644 index 0000000..743a6b9 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_items_to_inventory_response_data_inner.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostItemsToInventoryResponseDataInner(BaseModel): + """ + PostItemsToInventoryResponseDataInner + """ # noqa: E501 + item_id: Optional[StrictStr] = Field(default=None, description="Item identifier", alias="itemID") + item_sku: Optional[StrictStr] = Field(default=None, description=" Item SKU", alias="itemSKU") + item_name: Optional[StrictStr] = Field(default=None, description="Item name", alias="itemName") + __properties: ClassVar[List[str]] = ["itemID", "itemSKU", "itemName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostItemsToInventoryResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostItemsToInventoryResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "itemID": obj.get("itemID"), + "itemSKU": obj.get("itemSKU"), + "itemName": obj.get("itemName") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_new_house_account_response.py b/cloudbeds_pms_v1_3/models/post_new_house_account_response.py new file mode 100644 index 0000000..219365b --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_new_house_account_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_new_house_account_response_data import PostNewHouseAccountResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostNewHouseAccountResponse(BaseModel): + """ + PostNewHouseAccountResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[PostNewHouseAccountResponseData] = None + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "data", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostNewHouseAccountResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostNewHouseAccountResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": PostNewHouseAccountResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_new_house_account_response_data.py b/cloudbeds_pms_v1_3/models/post_new_house_account_response_data.py new file mode 100644 index 0000000..7e95e36 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_new_house_account_response_data.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostNewHouseAccountResponseData(BaseModel): + """ + House Account details + """ # noqa: E501 + house_account_id: Optional[StrictStr] = Field(default=None, description="Unique identifier of created House Account", alias="houseAccountID") + __properties: ClassVar[List[str]] = ["houseAccountID"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostNewHouseAccountResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostNewHouseAccountResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "houseAccountID": obj.get("houseAccountID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_patch_group_response.py b/cloudbeds_pms_v1_3/models/post_patch_group_response.py new file mode 100644 index 0000000..2b5d0b6 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_patch_group_response.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_patch_group_response_data_inner import PostPatchGroupResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class PostPatchGroupResponse(BaseModel): + """ + PostPatchGroupResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Success") + data: Optional[List[PostPatchGroupResponseDataInner]] = Field(default=None, description="Data") + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostPatchGroupResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostPatchGroupResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [PostPatchGroupResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_patch_group_response_data_inner.py b/cloudbeds_pms_v1_3/models/post_patch_group_response_data_inner.py new file mode 100644 index 0000000..579bed5 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_patch_group_response_data_inner.py @@ -0,0 +1,134 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostPatchGroupResponseDataInner(BaseModel): + """ + PostPatchGroupResponseDataInner + """ # noqa: E501 + group_code: Optional[StrictStr] = Field(default=None, description="Unique ID for a group", alias="groupCode") + name: Optional[StrictStr] = Field(default=None, description="The name of the group") + type: Optional[StrictStr] = Field(default=None, description="The type of the group") + status: Optional[StrictStr] = Field(default=None, description="Group status") + created: Optional[datetime] = Field(default=None, description="Group created time") + source_id: Optional[StrictStr] = Field(default=None, description="The third-party source ID for this group, can be null", alias="sourceID") + address1: Optional[StrictStr] = Field(default=None, description="Address") + address2: Optional[StrictStr] = Field(default=None, description="Address2") + city: Optional[StrictStr] = Field(default=None, description="City") + zip: Optional[StrictStr] = Field(default=None, description="Zip") + state: Optional[StrictStr] = Field(default=None, description="State") + id: Optional[StrictStr] = Field(default=None, description="ID") + property_id: Optional[StrictStr] = Field(default=None, description="Property Id") + __properties: ClassVar[List[str]] = ["groupCode", "name", "type", "status", "created", "sourceID", "address1", "address2", "city", "zip", "state", "id", "property_id"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['group', 'company', 'travel_agent', 'wholesaler', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['open', 'closed', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostPatchGroupResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostPatchGroupResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "groupCode": obj.get("groupCode"), + "name": obj.get("name"), + "type": obj.get("type"), + "status": obj.get("status"), + "created": obj.get("created"), + "sourceID": obj.get("sourceID"), + "address1": obj.get("address1"), + "address2": obj.get("address2"), + "city": obj.get("city"), + "zip": obj.get("zip"), + "state": obj.get("state"), + "id": obj.get("id"), + "property_id": obj.get("property_id") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_patch_rate_request_rates_inner.py b/cloudbeds_pms_v1_3/models/post_patch_rate_request_rates_inner.py new file mode 100644 index 0000000..3e08f66 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_patch_rate_request_rates_inner.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_patch_rate_request_rates_inner_interval import PostPatchRateRequestRatesInnerInterval +from typing import Optional, Set +from typing_extensions import Self + +class PostPatchRateRequestRatesInner(BaseModel): + """ + PostPatchRateRequestRatesInner + """ # noqa: E501 + rate_id: Optional[StrictStr] = Field(default=None, description="Rate ID", alias="rateID") + interval: Optional[PostPatchRateRequestRatesInnerInterval] = None + __properties: ClassVar[List[str]] = ["rateID", "interval"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostPatchRateRequestRatesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of interval + if self.interval: + _dict['interval'] = self.interval.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostPatchRateRequestRatesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "rateID": obj.get("rateID"), + "interval": PostPatchRateRequestRatesInnerInterval.from_dict(obj["interval"]) if obj.get("interval") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_patch_rate_request_rates_inner_interval.py b/cloudbeds_pms_v1_3/models/post_patch_rate_request_rates_inner_interval.py new file mode 100644 index 0000000..b9797ab --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_patch_rate_request_rates_inner_interval.py @@ -0,0 +1,152 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt +from typing import Any, ClassVar, Dict, List, Optional, Union +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing import PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing +from typing import Optional, Set +from typing_extensions import Self + +class PostPatchRateRequestRatesInnerInterval(BaseModel): + """ + Rate update details + """ # noqa: E501 + start_date: Optional[date] = Field(default=None, description="Interval Start date. Format: YYYY-MM-DD", alias="startDate") + end_date: Optional[date] = Field(default=None, description="Interval End date. Format: YYYY-MM-DD", alias="endDate") + rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Base rate for the selected date") + max_los: Optional[StrictInt] = Field(default=None, description="Maximum length of stay for the selected date.", alias="maxLos") + min_los: Optional[StrictInt] = Field(default=None, description="Minimum length of stay for the selected date.", alias="minLos") + closed_to_arrival: Optional[StrictBool] = Field(default=None, description="Whether it is closed to arrival.", alias="closedToArrival") + closed_to_departure: Optional[StrictBool] = Field(default=None, description="Whether it is closed to departure.", alias="closedToDeparture") + cut_off: Optional[StrictInt] = Field(default=None, description="Cut off time for the selected date.", alias="cutOff") + last_minute_booking: Optional[StrictInt] = Field(default=None, description="Last minute bookings.", alias="lastMinuteBooking") + blocked: Optional[StrictBool] = Field(default=None, description="Whether the accommodation is blocked.") + guest_pricing: Optional[PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing] = Field(default=None, alias="guestPricing") + __properties: ClassVar[List[str]] = ["startDate", "endDate", "rate", "maxLos", "minLos", "closedToArrival", "closedToDeparture", "cutOff", "lastMinuteBooking", "blocked", "guestPricing"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostPatchRateRequestRatesInnerInterval from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of guest_pricing + if self.guest_pricing: + _dict['guestPricing'] = self.guest_pricing.to_dict() + # set to None if max_los (nullable) is None + # and model_fields_set contains the field + if self.max_los is None and "max_los" in self.model_fields_set: + _dict['maxLos'] = None + + # set to None if min_los (nullable) is None + # and model_fields_set contains the field + if self.min_los is None and "min_los" in self.model_fields_set: + _dict['minLos'] = None + + # set to None if closed_to_arrival (nullable) is None + # and model_fields_set contains the field + if self.closed_to_arrival is None and "closed_to_arrival" in self.model_fields_set: + _dict['closedToArrival'] = None + + # set to None if closed_to_departure (nullable) is None + # and model_fields_set contains the field + if self.closed_to_departure is None and "closed_to_departure" in self.model_fields_set: + _dict['closedToDeparture'] = None + + # set to None if cut_off (nullable) is None + # and model_fields_set contains the field + if self.cut_off is None and "cut_off" in self.model_fields_set: + _dict['cutOff'] = None + + # set to None if last_minute_booking (nullable) is None + # and model_fields_set contains the field + if self.last_minute_booking is None and "last_minute_booking" in self.model_fields_set: + _dict['lastMinuteBooking'] = None + + # set to None if blocked (nullable) is None + # and model_fields_set contains the field + if self.blocked is None and "blocked" in self.model_fields_set: + _dict['blocked'] = None + + # set to None if guest_pricing (nullable) is None + # and model_fields_set contains the field + if self.guest_pricing is None and "guest_pricing" in self.model_fields_set: + _dict['guestPricing'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostPatchRateRequestRatesInnerInterval from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "rate": obj.get("rate"), + "maxLos": obj.get("maxLos"), + "minLos": obj.get("minLos"), + "closedToArrival": obj.get("closedToArrival"), + "closedToDeparture": obj.get("closedToDeparture"), + "cutOff": obj.get("cutOff"), + "lastMinuteBooking": obj.get("lastMinuteBooking"), + "blocked": obj.get("blocked"), + "guestPricing": PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.from_dict(obj["guestPricing"]) if obj.get("guestPricing") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_patch_rate_response.py b/cloudbeds_pms_v1_3/models/post_patch_rate_response.py new file mode 100644 index 0000000..e0620d5 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_patch_rate_response.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostPatchRateResponse(BaseModel): + """ + PostPatchRateResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns true if the request could be completed") + job_reference_id: Optional[StrictStr] = Field(default=None, description="ReferenceId ID for the job created for this update. This can be used to track success of the batch for this rate update. See getRateJobs or the Rate Batch Job Webhook", alias="jobReferenceID") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "jobReferenceID", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostPatchRateResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostPatchRateResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "jobReferenceID": obj.get("jobReferenceID"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_payment_response.py b/cloudbeds_pms_v1_3/models/post_payment_response.py new file mode 100644 index 0000000..4a36a9d --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_payment_response.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostPaymentResponse(BaseModel): + """ + PostPaymentResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + payment_id: Optional[StrictStr] = Field(default=None, description="Returns paymentID of transaction", alias="paymentID") + transaction_id: Optional[StrictStr] = Field(default=None, description="Returns transactionID", alias="transactionID") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "paymentID", "transactionID", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostPaymentResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostPaymentResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "paymentID": obj.get("paymentID"), + "transactionID": obj.get("transactionID"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_put_app_property_settings_response.py b/cloudbeds_pms_v1_3/models/post_put_app_property_settings_response.py new file mode 100644 index 0000000..c3b0a08 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_put_app_property_settings_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_app_property_setting_response_data import PostAppPropertySettingResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostPutAppPropertySettingsResponse(BaseModel): + """ + PostPutAppPropertySettingsResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Success") + data: Optional[PostAppPropertySettingResponseData] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostPutAppPropertySettingsResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostPutAppPropertySettingsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": PostAppPropertySettingResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_put_group_response.py b/cloudbeds_pms_v1_3/models/post_put_group_response.py new file mode 100644 index 0000000..226301b --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_put_group_response.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_patch_group_response_data_inner import PostPatchGroupResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class PostPutGroupResponse(BaseModel): + """ + PostPutGroupResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Success") + data: Optional[List[PostPatchGroupResponseDataInner]] = Field(default=None, description="Data") + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostPutGroupResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostPutGroupResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [PostPatchGroupResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_put_rate_request_rates_inner.py b/cloudbeds_pms_v1_3/models/post_put_rate_request_rates_inner.py new file mode 100644 index 0000000..9706a65 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_put_rate_request_rates_inner.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_put_rate_request_rates_inner_interval_inner import PostPutRateRequestRatesInnerIntervalInner +from typing import Optional, Set +from typing_extensions import Self + +class PostPutRateRequestRatesInner(BaseModel): + """ + PostPutRateRequestRatesInner + """ # noqa: E501 + rate_id: Optional[StrictStr] = Field(default=None, description="Rate ID", alias="rateID") + interval: Optional[List[PostPutRateRequestRatesInnerIntervalInner]] = Field(default=None, description="Rate update details") + __properties: ClassVar[List[str]] = ["rateID", "interval"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostPutRateRequestRatesInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in interval (list) + _items = [] + if self.interval: + for _item_interval in self.interval: + if _item_interval: + _items.append(_item_interval.to_dict()) + _dict['interval'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostPutRateRequestRatesInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "rateID": obj.get("rateID"), + "interval": [PostPutRateRequestRatesInnerIntervalInner.from_dict(_item) for _item in obj["interval"]] if obj.get("interval") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_put_rate_request_rates_inner_interval_inner.py b/cloudbeds_pms_v1_3/models/post_put_rate_request_rates_inner_interval_inner.py new file mode 100644 index 0000000..9425ca0 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_put_rate_request_rates_inner_interval_inner.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class PostPutRateRequestRatesInnerIntervalInner(BaseModel): + """ + PostPutRateRequestRatesInnerIntervalInner + """ # noqa: E501 + start_date: Optional[date] = Field(default=None, description="Interval Start date. Format: YYYY-MM-DD", alias="startDate") + end_date: Optional[date] = Field(default=None, description="Interval End date. Format: YYYY-MM-DD", alias="endDate") + rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Base rate for the selected date") + __properties: ClassVar[List[str]] = ["startDate", "endDate", "rate"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostPutRateRequestRatesInnerIntervalInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostPutRateRequestRatesInnerIntervalInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "rate": obj.get("rate") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_put_rate_response.py b/cloudbeds_pms_v1_3/models/post_put_rate_response.py new file mode 100644 index 0000000..2475923 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_put_rate_response.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostPutRateResponse(BaseModel): + """ + PostPutRateResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns true if the request could be completed") + job_reference_id: Optional[StrictStr] = Field(default=None, description="ReferenceId ID for the job created for this update. This can be used to track success of the batch for this rate update. See getRateJobs or the Rate Batch Job Webhook", alias="jobReferenceID") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "jobReferenceID", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostPutRateResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostPutRateResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "jobReferenceID": obj.get("jobReferenceID"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_reservation_document_response.py b/cloudbeds_pms_v1_3/models/post_reservation_document_response.py new file mode 100644 index 0000000..c13e4e0 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_reservation_document_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_guest_document_response_data import PostGuestDocumentResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostReservationDocumentResponse(BaseModel): + """ + PostReservationDocumentResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + data: Optional[PostGuestDocumentResponseData] = None + __properties: ClassVar[List[str]] = ["success", "message", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostReservationDocumentResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostReservationDocumentResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message"), + "data": PostGuestDocumentResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_reservation_note_response.py b/cloudbeds_pms_v1_3/models/post_reservation_note_response.py new file mode 100644 index 0000000..1b2b13f --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_reservation_note_response.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostReservationNoteResponse(BaseModel): + """ + PostReservationNoteResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + reservation_note_id: Optional[StrictStr] = Field(default=None, description="Reservation note ID", alias="reservationNoteID") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "reservationNoteID", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostReservationNoteResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostReservationNoteResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "reservationNoteID": obj.get("reservationNoteID"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_reservation_request_adults_inner.py b/cloudbeds_pms_v1_3/models/post_reservation_request_adults_inner.py new file mode 100644 index 0000000..f6189b9 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_reservation_request_adults_inner.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostReservationRequestAdultsInner(BaseModel): + """ + PostReservationRequestAdultsInner + """ # noqa: E501 + room_type_id: Optional[StrictStr] = Field(default=None, description="Room Type ID", alias="roomTypeID") + quantity: Optional[StrictInt] = Field(default=None, description="Quantity of adults for the room type ID") + room_id: Optional[StrictStr] = Field(default=None, description="ID of the individual room", alias="roomID") + __properties: ClassVar[List[str]] = ["roomTypeID", "quantity", "roomID"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostReservationRequestAdultsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if room_id (nullable) is None + # and model_fields_set contains the field + if self.room_id is None and "room_id" in self.model_fields_set: + _dict['roomID'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostReservationRequestAdultsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roomTypeID": obj.get("roomTypeID"), + "quantity": obj.get("quantity"), + "roomID": obj.get("roomID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_reservation_request_children_inner.py b/cloudbeds_pms_v1_3/models/post_reservation_request_children_inner.py new file mode 100644 index 0000000..3fd0da7 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_reservation_request_children_inner.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostReservationRequestChildrenInner(BaseModel): + """ + PostReservationRequestChildrenInner + """ # noqa: E501 + room_type_id: Optional[StrictStr] = Field(default=None, description="Room Type ID", alias="roomTypeID") + quantity: Optional[StrictInt] = Field(default=None, description="Number of children for the room type ID") + room_id: Optional[StrictStr] = Field(default=None, description="ID of the individual room", alias="roomID") + __properties: ClassVar[List[str]] = ["roomTypeID", "quantity", "roomID"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostReservationRequestChildrenInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if room_id (nullable) is None + # and model_fields_set contains the field + if self.room_id is None and "room_id" in self.model_fields_set: + _dict['roomID'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostReservationRequestChildrenInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roomTypeID": obj.get("roomTypeID"), + "quantity": obj.get("quantity"), + "roomID": obj.get("roomID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_reservation_request_custom_fields_inner.py b/cloudbeds_pms_v1_3/models/post_reservation_request_custom_fields_inner.py new file mode 100644 index 0000000..513010e --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_reservation_request_custom_fields_inner.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostReservationRequestCustomFieldsInner(BaseModel): + """ + PostReservationRequestCustomFieldsInner + """ # noqa: E501 + field_name: Optional[StrictStr] = Field(default=None, description="Internal custom field reference. Must match the registered name (shortcode) in backend. Pay Attention", alias="fieldName") + field_value: Optional[StrictStr] = Field(default=None, description="Custom field value. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected.", alias="fieldValue") + __properties: ClassVar[List[str]] = ["fieldName", "fieldValue"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostReservationRequestCustomFieldsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostReservationRequestCustomFieldsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "fieldName": obj.get("fieldName"), + "fieldValue": obj.get("fieldValue") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_reservation_request_rooms_inner.py b/cloudbeds_pms_v1_3/models/post_reservation_request_rooms_inner.py new file mode 100644 index 0000000..7ef3f95 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_reservation_request_rooms_inner.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostReservationRequestRoomsInner(BaseModel): + """ + PostReservationRequestRoomsInner + """ # noqa: E501 + room_type_id: Optional[StrictStr] = Field(default=None, description="Room Type ID", alias="roomTypeID") + quantity: Optional[StrictInt] = Field(default=None, description="Quantity of rooms for the room type ID") + room_id: Optional[StrictStr] = Field(default=None, description="ID of the individual room to be booked. This feature must be enabled on \"MyBookings\" settings, and the room should be available at the time of the booking or else it will result in an unassigned room. It will automatically override \"quantity\" value to 1 and roomTypeID when used.", alias="roomID") + room_rate_id: Optional[StrictStr] = Field(default=None, description="Specific Rate ID used for the room type ID. Can be ommitted.", alias="roomRateID") + __properties: ClassVar[List[str]] = ["roomTypeID", "quantity", "roomID", "roomRateID"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostReservationRequestRoomsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if room_id (nullable) is None + # and model_fields_set contains the field + if self.room_id is None and "room_id" in self.model_fields_set: + _dict['roomID'] = None + + # set to None if room_rate_id (nullable) is None + # and model_fields_set contains the field + if self.room_rate_id is None and "room_rate_id" in self.model_fields_set: + _dict['roomRateID'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostReservationRequestRoomsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roomTypeID": obj.get("roomTypeID"), + "quantity": obj.get("quantity"), + "roomID": obj.get("roomID"), + "roomRateID": obj.get("roomRateID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_reservation_response.py b/cloudbeds_pms_v1_3/models/post_reservation_response.py new file mode 100644 index 0000000..4e9fe4a --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_reservation_response.py @@ -0,0 +1,154 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date, datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from cloudbeds_pms_v1_3.models.post_reservation_response_unassigned_inner import PostReservationResponseUnassignedInner +from typing import Optional, Set +from typing_extensions import Self + +class PostReservationResponse(BaseModel): + """ + PostReservationResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + reservation_id: Optional[StrictStr] = Field(default=None, description="Reservation identifier", alias="reservationID") + status: Optional[StrictStr] = Field(default=None, description="Reservation status
'not_confirmed' - Reservation is pending confirmation
'confirmed' - Reservation is confirmed
") + guest_id: Optional[StrictStr] = Field(default=None, description="Guest ID", alias="guestID") + guest_first_name: Optional[StrictStr] = Field(default=None, description="Guest First Name", alias="guestFirstName") + guest_last_name: Optional[StrictStr] = Field(default=None, description="Guest Last Name", alias="guestLastName") + guest_gender: Optional[StrictStr] = Field(default=None, description="Guest Gender", alias="guestGender") + guest_email: Optional[StrictStr] = Field(default=None, description="Guest Email", alias="guestEmail") + start_date: Optional[date] = Field(default=None, description="Reservation CheckIn date", alias="startDate") + end_date: Optional[date] = Field(default=None, description="Reservation CheckOut date", alias="endDate") + date_created: Optional[datetime] = Field(default=None, description="Reservation creation datetime", alias="dateCreated") + grand_total: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Grand Total", alias="grandTotal") + unassigned: Optional[List[PostReservationResponseUnassignedInner]] = Field(default=None, description="unassigned rooms array") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "reservationID", "status", "guestID", "guestFirstName", "guestLastName", "guestGender", "guestEmail", "startDate", "endDate", "dateCreated", "grandTotal", "unassigned", "message"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['not_confirmed', 'confirmed', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + @field_validator('guest_gender') + def guest_gender_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['M', 'F', 'N/A', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostReservationResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in unassigned (list) + _items = [] + if self.unassigned: + for _item_unassigned in self.unassigned: + if _item_unassigned: + _items.append(_item_unassigned.to_dict()) + _dict['unassigned'] = _items + # set to None if guest_gender (nullable) is None + # and model_fields_set contains the field + if self.guest_gender is None and "guest_gender" in self.model_fields_set: + _dict['guestGender'] = None + + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostReservationResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "reservationID": obj.get("reservationID"), + "status": obj.get("status"), + "guestID": obj.get("guestID"), + "guestFirstName": obj.get("guestFirstName"), + "guestLastName": obj.get("guestLastName"), + "guestGender": obj.get("guestGender"), + "guestEmail": obj.get("guestEmail"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "dateCreated": obj.get("dateCreated"), + "grandTotal": obj.get("grandTotal"), + "unassigned": [PostReservationResponseUnassignedInner.from_dict(_item) for _item in obj["unassigned"]] if obj.get("unassigned") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_reservation_response_unassigned_inner.py b/cloudbeds_pms_v1_3/models/post_reservation_response_unassigned_inner.py new file mode 100644 index 0000000..978a9d8 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_reservation_response_unassigned_inner.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner_daily_rates_inner import GetReservationResponseDataAssignedInnerDailyRatesInner +from typing import Optional, Set +from typing_extensions import Self + +class PostReservationResponseUnassignedInner(BaseModel): + """ + PostReservationResponseUnassignedInner + """ # noqa: E501 + sub_reservation_id: Optional[StrictStr] = Field(default=None, alias="subReservationID") + room_type_name: Optional[StrictStr] = Field(default=None, alias="roomTypeName") + room_type_id: Optional[StrictStr] = Field(default=None, alias="roomTypeID") + adults: Optional[StrictInt] = Field(default=None, description="Adults included in rate") + children: Optional[StrictInt] = Field(default=None, description="Children included in rate") + daily_rates: Optional[List[GetReservationResponseDataAssignedInnerDailyRatesInner]] = Field(default=None, description="rates for room", alias="dailyRates") + room_total: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="roomTotal") + __properties: ClassVar[List[str]] = ["subReservationID", "roomTypeName", "roomTypeID", "adults", "children", "dailyRates", "roomTotal"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostReservationResponseUnassignedInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in daily_rates (list) + _items = [] + if self.daily_rates: + for _item_daily_rates in self.daily_rates: + if _item_daily_rates: + _items.append(_item_daily_rates.to_dict()) + _dict['dailyRates'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostReservationResponseUnassignedInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "subReservationID": obj.get("subReservationID"), + "roomTypeName": obj.get("roomTypeName"), + "roomTypeID": obj.get("roomTypeID"), + "adults": obj.get("adults"), + "children": obj.get("children"), + "dailyRates": [GetReservationResponseDataAssignedInnerDailyRatesInner.from_dict(_item) for _item in obj["dailyRates"]] if obj.get("dailyRates") is not None else None, + "roomTotal": obj.get("roomTotal") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_room_assign_response.py b/cloudbeds_pms_v1_3/models/post_room_assign_response.py new file mode 100644 index 0000000..5c2ee73 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_room_assign_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostRoomAssignResponse(BaseModel): + """ + PostRoomAssignResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostRoomAssignResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostRoomAssignResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_room_block_request_rooms_inner.py b/cloudbeds_pms_v1_3/models/post_room_block_request_rooms_inner.py new file mode 100644 index 0000000..3842731 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_room_block_request_rooms_inner.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostRoomBlockRequestRoomsInner(BaseModel): + """ + PostRoomBlockRequestRoomsInner + """ # noqa: E501 + room_id: Optional[StrictStr] = Field(default=None, description="Room ID", alias="roomID") + room_type_id: Optional[StrictStr] = Field(default=None, description="Room type ID", alias="roomTypeID") + __properties: ClassVar[List[str]] = ["roomID", "roomTypeID"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostRoomBlockRequestRoomsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostRoomBlockRequestRoomsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roomID": obj.get("roomID"), + "roomTypeID": obj.get("roomTypeID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_room_block_response.py b/cloudbeds_pms_v1_3/models/post_room_block_response.py new file mode 100644 index 0000000..40ded62 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_room_block_response.py @@ -0,0 +1,123 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_room_block_response_rooms_inner import PostRoomBlockResponseRoomsInner +from typing import Optional, Set +from typing_extensions import Self + +class PostRoomBlockResponse(BaseModel): + """ + PostRoomBlockResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + property_id: Optional[StrictStr] = Field(default=None, description="Property ID", alias="propertyID") + room_block_id: Optional[StrictStr] = Field(default=None, description="Room block ID", alias="roomBlockID") + room_block_type: Optional[StrictStr] = Field(default=None, description="Room block type. ‘blocked’ - Room block. ‘out_of_service’ - Out of service block. 'courtesy_hold' - Courtesy hold block.", alias="roomBlockType") + room_block_reason: Optional[StrictStr] = Field(default=None, description="Room block reason", alias="roomBlockReason") + start_date: Optional[date] = Field(default=None, description="Room block start date", alias="startDate") + end_date: Optional[date] = Field(default=None, description="Room block end date", alias="endDate") + rooms: Optional[List[PostRoomBlockResponseRoomsInner]] = Field(default=None, description="All rooms for room block. For properties using split inventory, this includes both source rooms (explicitly requested) and linked rooms (automatically added based on shared inventory configuration).") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "propertyID", "roomBlockID", "roomBlockType", "roomBlockReason", "startDate", "endDate", "rooms", "message"] + + @field_validator('room_block_type') + def room_block_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['blocked', 'out_of_service', 'courtesy_hold', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostRoomBlockResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in rooms (list) + _items = [] + if self.rooms: + for _item_rooms in self.rooms: + if _item_rooms: + _items.append(_item_rooms.to_dict()) + _dict['rooms'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostRoomBlockResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "propertyID": obj.get("propertyID"), + "roomBlockID": obj.get("roomBlockID"), + "roomBlockType": obj.get("roomBlockType"), + "roomBlockReason": obj.get("roomBlockReason"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "rooms": [PostRoomBlockResponseRoomsInner.from_dict(_item) for _item in obj["rooms"]] if obj.get("rooms") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_room_block_response_rooms_inner.py b/cloudbeds_pms_v1_3/models/post_room_block_response_rooms_inner.py new file mode 100644 index 0000000..5e9df3a --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_room_block_response_rooms_inner.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostRoomBlockResponseRoomsInner(BaseModel): + """ + PostRoomBlockResponseRoomsInner + """ # noqa: E501 + event_id: Optional[StrictStr] = Field(default=None, description="Event ID (unique identifier for this specific room's block entry)", alias="eventID") + room_id: Optional[StrictStr] = Field(default=None, description="Room ID", alias="roomID") + room_type_id: Optional[StrictStr] = Field(default=None, description="Room Type ID", alias="roomTypeID") + is_source: Optional[StrictBool] = Field(default=None, description="Indicates whether this room was explicitly requested (true) or automatically added due to split inventory configuration (false). Auto-added rooms cannot be individually removed or swapped; they are managed through their source room.", alias="isSource") + __properties: ClassVar[List[str]] = ["eventID", "roomID", "roomTypeID", "isSource"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostRoomBlockResponseRoomsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostRoomBlockResponseRoomsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "eventID": obj.get("eventID"), + "roomID": obj.get("roomID"), + "roomTypeID": obj.get("roomTypeID"), + "isSource": obj.get("isSource") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_room_check_in_response.py b/cloudbeds_pms_v1_3/models/post_room_check_in_response.py new file mode 100644 index 0000000..63e68a4 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_room_check_in_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostRoomCheckInResponse(BaseModel): + """ + PostRoomCheckInResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostRoomCheckInResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostRoomCheckInResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_room_check_out_response.py b/cloudbeds_pms_v1_3/models/post_room_check_out_response.py new file mode 100644 index 0000000..966bab4 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_room_check_out_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostRoomCheckOutResponse(BaseModel): + """ + PostRoomCheckOutResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostRoomCheckOutResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostRoomCheckOutResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_update_allotment_block_notes_response.py b/cloudbeds_pms_v1_3/models/post_update_allotment_block_notes_response.py new file mode 100644 index 0000000..110f9ec --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_update_allotment_block_notes_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_update_allotment_block_notes_response_data import PostUpdateAllotmentBlockNotesResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostUpdateAllotmentBlockNotesResponse(BaseModel): + """ + PostUpdateAllotmentBlockNotesResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[PostUpdateAllotmentBlockNotesResponseData] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockNotesResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockNotesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": PostUpdateAllotmentBlockNotesResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_update_allotment_block_notes_response_data.py b/cloudbeds_pms_v1_3/models/post_update_allotment_block_notes_response_data.py new file mode 100644 index 0000000..393a99d --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_update_allotment_block_notes_response_data.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostUpdateAllotmentBlockNotesResponseData(BaseModel): + """ + The created note + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="Note ID") + text: Optional[StrictStr] = Field(default=None, description="Note contents") + created_by: Optional[StrictStr] = Field(default=None, description="User Name", alias="createdBy") + created_at: Optional[datetime] = Field(default=None, description="Creation datetime (format: Y-m-d H:i:s)", alias="createdAt") + updated_at: Optional[datetime] = Field(default=None, description="Last modification datetime (format: Y-m-d H:i:s)", alias="updatedAt") + archived_at: Optional[datetime] = Field(default=None, description="Archival datetime (format: Y-m-d H:i:s)", alias="archivedAt") + status: Optional[StrictBool] = Field(default=None, description="Note status") + __properties: ClassVar[List[str]] = ["id", "text", "createdBy", "createdAt", "updatedAt", "archivedAt", "status"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockNotesResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if archived_at (nullable) is None + # and model_fields_set contains the field + if self.archived_at is None and "archived_at" in self.model_fields_set: + _dict['archivedAt'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockNotesResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "text": obj.get("text"), + "createdBy": obj.get("createdBy"), + "createdAt": obj.get("createdAt"), + "updatedAt": obj.get("updatedAt"), + "archivedAt": obj.get("archivedAt"), + "status": obj.get("status") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_update_allotment_block_request_allotment_intervals_inner.py b/cloudbeds_pms_v1_3/models/post_update_allotment_block_request_allotment_intervals_inner.py new file mode 100644 index 0000000..97f2e0e --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_update_allotment_block_request_allotment_intervals_inner.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner_availability_inner import PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner +from typing import Optional, Set +from typing_extensions import Self + +class PostUpdateAllotmentBlockRequestAllotmentIntervalsInner(BaseModel): + """ + PostUpdateAllotmentBlockRequestAllotmentIntervalsInner + """ # noqa: E501 + policy_id: Optional[StrictStr] = Field(default=None, description="Policy ID to associate with the interval", alias="policyId") + room_type_id: Optional[StrictStr] = Field(default=None, description="Room type id", alias="roomTypeId") + availability: Optional[List[PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner]] = Field(default=None, description="Interval availability data by day in interval") + __properties: ClassVar[List[str]] = ["policyId", "roomTypeId", "availability"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockRequestAllotmentIntervalsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in availability (list) + _items = [] + if self.availability: + for _item_availability in self.availability: + if _item_availability: + _items.append(_item_availability.to_dict()) + _dict['availability'] = _items + # set to None if policy_id (nullable) is None + # and model_fields_set contains the field + if self.policy_id is None and "policy_id" in self.model_fields_set: + _dict['policyId'] = None + + # set to None if room_type_id (nullable) is None + # and model_fields_set contains the field + if self.room_type_id is None and "room_type_id" in self.model_fields_set: + _dict['roomTypeId'] = None + + # set to None if availability (nullable) is None + # and model_fields_set contains the field + if self.availability is None and "availability" in self.model_fields_set: + _dict['availability'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockRequestAllotmentIntervalsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "policyId": obj.get("policyId"), + "roomTypeId": obj.get("roomTypeId"), + "availability": [PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner.from_dict(_item) for _item in obj["availability"]] if obj.get("availability") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_update_allotment_block_request_allotment_intervals_inner_availability_inner.py b/cloudbeds_pms_v1_3/models/post_update_allotment_block_request_allotment_intervals_inner_availability_inner.py new file mode 100644 index 0000000..02ae53d --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_update_allotment_block_request_allotment_intervals_inner_availability_inner.py @@ -0,0 +1,136 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions import PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing import PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing +from typing import Optional, Set +from typing_extensions import Self + +class PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner(BaseModel): + """ + PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner + """ # noqa: E501 + block_allotted: Optional[StrictInt] = Field(default=None, description="Total number of units available for the room type for this day", alias="blockAllotted") + var_date: Optional[date] = Field(default=None, description="the day within the interval (YYYY-MM-DD)", alias="date") + rate: Optional[StrictStr] = Field(default=None, description="the price if applicable") + guest_pricing: Optional[PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing] = Field(default=None, alias="guestPricing") + restrictions: Optional[PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions] = None + rooms: Optional[List[StrictStr]] = Field(default=None, description="Array of room IDs assigned to this date the number of applicable keys varies here based on the occupancy settings for the room type.") + __properties: ClassVar[List[str]] = ["blockAllotted", "date", "rate", "guestPricing", "restrictions", "rooms"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of guest_pricing + if self.guest_pricing: + _dict['guestPricing'] = self.guest_pricing.to_dict() + # override the default output from pydantic by calling `to_dict()` of restrictions + if self.restrictions: + _dict['restrictions'] = self.restrictions.to_dict() + # set to None if block_allotted (nullable) is None + # and model_fields_set contains the field + if self.block_allotted is None and "block_allotted" in self.model_fields_set: + _dict['blockAllotted'] = None + + # set to None if var_date (nullable) is None + # and model_fields_set contains the field + if self.var_date is None and "var_date" in self.model_fields_set: + _dict['date'] = None + + # set to None if rate (nullable) is None + # and model_fields_set contains the field + if self.rate is None and "rate" in self.model_fields_set: + _dict['rate'] = None + + # set to None if guest_pricing (nullable) is None + # and model_fields_set contains the field + if self.guest_pricing is None and "guest_pricing" in self.model_fields_set: + _dict['guestPricing'] = None + + # set to None if restrictions (nullable) is None + # and model_fields_set contains the field + if self.restrictions is None and "restrictions" in self.model_fields_set: + _dict['restrictions'] = None + + # set to None if rooms (nullable) is None + # and model_fields_set contains the field + if self.rooms is None and "rooms" in self.model_fields_set: + _dict['rooms'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "blockAllotted": obj.get("blockAllotted"), + "date": obj.get("date"), + "rate": obj.get("rate"), + "guestPricing": PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing.from_dict(obj["guestPricing"]) if obj.get("guestPricing") is not None else None, + "restrictions": PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions.from_dict(obj["restrictions"]) if obj.get("restrictions") is not None else None, + "rooms": obj.get("rooms") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.py b/cloudbeds_pms_v1_3/models/post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.py new file mode 100644 index 0000000..86cb420 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing(BaseModel): + """ + Guest pricing data if applicable. Note: + """ # noqa: E501 + adult1: Optional[StrictStr] = Field(default=None, description="Price for adult 1") + adult2: Optional[StrictStr] = Field(default=None, description="Price for adult 2") + adult3: Optional[StrictStr] = Field(default=None, description="Price for adult 3") + child1: Optional[StrictStr] = Field(default=None, description="Price for child 1") + child2: Optional[StrictStr] = Field(default=None, description="Price for child 2") + child3: Optional[StrictStr] = Field(default=None, description="Price for child 3") + __properties: ClassVar[List[str]] = ["adult1", "adult2", "adult3", "child1", "child2", "child3"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if adult1 (nullable) is None + # and model_fields_set contains the field + if self.adult1 is None and "adult1" in self.model_fields_set: + _dict['adult1'] = None + + # set to None if adult2 (nullable) is None + # and model_fields_set contains the field + if self.adult2 is None and "adult2" in self.model_fields_set: + _dict['adult2'] = None + + # set to None if adult3 (nullable) is None + # and model_fields_set contains the field + if self.adult3 is None and "adult3" in self.model_fields_set: + _dict['adult3'] = None + + # set to None if child1 (nullable) is None + # and model_fields_set contains the field + if self.child1 is None and "child1" in self.model_fields_set: + _dict['child1'] = None + + # set to None if child2 (nullable) is None + # and model_fields_set contains the field + if self.child2 is None and "child2" in self.model_fields_set: + _dict['child2'] = None + + # set to None if child3 (nullable) is None + # and model_fields_set contains the field + if self.child3 is None and "child3" in self.model_fields_set: + _dict['child3'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "adult1": obj.get("adult1"), + "adult2": obj.get("adult2"), + "adult3": obj.get("adult3"), + "child1": obj.get("child1"), + "child2": obj.get("child2"), + "child3": obj.get("child3") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_update_allotment_block_request_auto_release.py b/cloudbeds_pms_v1_3/models/post_update_allotment_block_request_auto_release.py new file mode 100644 index 0000000..4926a44 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_update_allotment_block_request_auto_release.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostUpdateAllotmentBlockRequestAutoRelease(BaseModel): + """ + Optional auto-release configuration NOTE: pass empty object to remove auto-release configuration + """ # noqa: E501 + release_type: Optional[StrictStr] = Field(default=None, description="The type of auto-release", alias="releaseType") + days: Optional[StrictInt] = Field(default=None, description="The number of days prior to the end of the allotment block to begin releasing dates from the allotment block") + release_time: Optional[StrictStr] = Field(default=None, description="The hour to being the auto-release in HH:00 format, e.g. '00:00', '01:00'...", alias="releaseTime") + __properties: ClassVar[List[str]] = ["releaseType", "days", "releaseTime"] + + @field_validator('release_type') + def release_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['all_dates', 'by_day', 'by_interval', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockRequestAutoRelease from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if release_type (nullable) is None + # and model_fields_set contains the field + if self.release_type is None and "release_type" in self.model_fields_set: + _dict['releaseType'] = None + + # set to None if days (nullable) is None + # and model_fields_set contains the field + if self.days is None and "days" in self.model_fields_set: + _dict['days'] = None + + # set to None if release_time (nullable) is None + # and model_fields_set contains the field + if self.release_time is None and "release_time" in self.model_fields_set: + _dict['releaseTime'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockRequestAutoRelease from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "releaseType": obj.get("releaseType"), + "days": obj.get("days"), + "releaseTime": obj.get("releaseTime") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_update_allotment_block_response.py b/cloudbeds_pms_v1_3/models/post_update_allotment_block_response.py new file mode 100644 index 0000000..20536e2 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_update_allotment_block_response.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner import PostUpdateAllotmentBlockResponseDataInner +from typing import Optional, Set +from typing_extensions import Self + +class PostUpdateAllotmentBlockResponse(BaseModel): + """ + PostUpdateAllotmentBlockResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[List[PostUpdateAllotmentBlockResponseDataInner]] = Field(default=None, description="Allotment Blocks") + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": [PostUpdateAllotmentBlockResponseDataInner.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_update_allotment_block_response_data_inner.py b/cloudbeds_pms_v1_3/models/post_update_allotment_block_response_data_inner.py new file mode 100644 index 0000000..3ad5a23 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_update_allotment_block_response_data_inner.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_auto_release import PostCreateAllotmentBlockResponseDataInnerAutoRelease +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner_allotment_intervals_inner import PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner +from typing import Optional, Set +from typing_extensions import Self + +class PostUpdateAllotmentBlockResponseDataInner(BaseModel): + """ + PostUpdateAllotmentBlockResponseDataInner + """ # noqa: E501 + property_id: Optional[StrictStr] = Field(default=None, description="Property ID associated to the allotment block", alias="propertyID") + allotment_block_code: Optional[StrictStr] = Field(default=None, description="Allotment block code", alias="allotmentBlockCode") + allotment_block_status: Optional[StrictStr] = Field(default=None, description="Allotment block status", alias="allotmentBlockStatus") + allotment_block_name: Optional[StrictStr] = Field(default=None, description="Allotment block name", alias="allotmentBlockName") + allotment_block_id: Optional[StrictStr] = Field(default=None, description="Allotment block ID", alias="allotmentBlockId") + rate_type: Optional[StrictStr] = Field(default=None, description="Rate type for the allotment block", alias="rateType") + rate_plan_id: Optional[StrictStr] = Field(default=None, description="Rate plan ID if applicable", alias="ratePlanId") + allotment_type: Optional[StrictStr] = Field(default=None, description="the type of allotment block", alias="allotmentType") + group_id: Optional[StrictStr] = Field(default=None, description="Group profile ID associated to the allotment block", alias="groupId") + group_code: Optional[StrictStr] = Field(default=None, description="Group profile code associated to the allotment block", alias="groupCode") + event_id: Optional[StrictStr] = Field(default=None, description="Event ID associated to the allotment block", alias="eventId") + event_code: Optional[StrictStr] = Field(default=None, description="Event code associated to the allotment block", alias="eventCode") + is_auto_release: Optional[StrictBool] = Field(default=None, description="If the allotment block is configured for auto-release", alias="isAutoRelease") + auto_release: Optional[PostCreateAllotmentBlockResponseDataInnerAutoRelease] = Field(default=None, alias="autoRelease") + allotment_intervals: Optional[List[PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner]] = Field(default=None, description="array of interval data by room type", alias="allotmentIntervals") + __properties: ClassVar[List[str]] = ["propertyID", "allotmentBlockCode", "allotmentBlockStatus", "allotmentBlockName", "allotmentBlockId", "rateType", "ratePlanId", "allotmentType", "groupId", "groupCode", "eventId", "eventCode", "isAutoRelease", "autoRelease", "allotmentIntervals"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockResponseDataInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of auto_release + if self.auto_release: + _dict['autoRelease'] = self.auto_release.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in allotment_intervals (list) + _items = [] + if self.allotment_intervals: + for _item_allotment_intervals in self.allotment_intervals: + if _item_allotment_intervals: + _items.append(_item_allotment_intervals.to_dict()) + _dict['allotmentIntervals'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockResponseDataInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyID": obj.get("propertyID"), + "allotmentBlockCode": obj.get("allotmentBlockCode"), + "allotmentBlockStatus": obj.get("allotmentBlockStatus"), + "allotmentBlockName": obj.get("allotmentBlockName"), + "allotmentBlockId": obj.get("allotmentBlockId"), + "rateType": obj.get("rateType"), + "ratePlanId": obj.get("ratePlanId"), + "allotmentType": obj.get("allotmentType"), + "groupId": obj.get("groupId"), + "groupCode": obj.get("groupCode"), + "eventId": obj.get("eventId"), + "eventCode": obj.get("eventCode"), + "isAutoRelease": obj.get("isAutoRelease"), + "autoRelease": PostCreateAllotmentBlockResponseDataInnerAutoRelease.from_dict(obj["autoRelease"]) if obj.get("autoRelease") is not None else None, + "allotmentIntervals": [PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner.from_dict(_item) for _item in obj["allotmentIntervals"]] if obj.get("allotmentIntervals") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_update_allotment_block_response_data_inner_allotment_intervals_inner.py b/cloudbeds_pms_v1_3/models/post_update_allotment_block_response_data_inner_allotment_intervals_inner.py new file mode 100644 index 0000000..01de76c --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_update_allotment_block_response_data_inner_allotment_intervals_inner.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions import PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions +from typing import Optional, Set +from typing_extensions import Self + +class PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner(BaseModel): + """ + PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner + """ # noqa: E501 + policy_id: Optional[StrictStr] = Field(default=None, description="Policy ID associated with the interval", alias="policyId") + room_type_id: Optional[StrictStr] = Field(default=None, description="Room type ID", alias="roomTypeId") + availability: Optional[PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability] = None + restrictions: Optional[PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions] = None + __properties: ClassVar[List[str]] = ["policyId", "roomTypeId", "availability", "restrictions"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of availability + if self.availability: + _dict['availability'] = self.availability.to_dict() + # override the default output from pydantic by calling `to_dict()` of restrictions + if self.restrictions: + _dict['restrictions'] = self.restrictions.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "policyId": obj.get("policyId"), + "roomTypeId": obj.get("roomTypeId"), + "availability": PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability.from_dict(obj["availability"]) if obj.get("availability") is not None else None, + "restrictions": PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions.from_dict(obj["restrictions"]) if obj.get("restrictions") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.py b/cloudbeds_pms_v1_3/models/post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.py new file mode 100644 index 0000000..5d273dc --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions(BaseModel): + """ + Interval restrictions if applicable + """ # noqa: E501 + min_los: Optional[StrictInt] = Field(default=None, description="Minimum length of stay requirement", alias="minLos") + max_los: Optional[StrictInt] = Field(default=None, description="Maximum length of stay requirement", alias="maxLos") + cut_off_days: Optional[StrictInt] = Field(default=None, description="How many days before arrival should guests be required to book", alias="cutOffDays") + last_minute_booking_days: Optional[StrictInt] = Field(default=None, description="Hoe many days before the arrival guests are allowed to book", alias="lastMinuteBookingDays") + closed_to_arrival: Optional[StrictInt] = Field(default=None, description="If the interval dates are closed for arrival", alias="closedToArrival") + closed_to_departure: Optional[StrictInt] = Field(default=None, description="If the interval dates are closed for departure", alias="closedToDeparture") + __properties: ClassVar[List[str]] = ["minLos", "maxLos", "cutOffDays", "lastMinuteBookingDays", "closedToArrival", "closedToDeparture"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "minLos": obj.get("minLos"), + "maxLos": obj.get("maxLos"), + "cutOffDays": obj.get("cutOffDays"), + "lastMinuteBookingDays": obj.get("lastMinuteBookingDays"), + "closedToArrival": obj.get("closedToArrival"), + "closedToDeparture": obj.get("closedToDeparture") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_void_item_response.py b/cloudbeds_pms_v1_3/models/post_void_item_response.py new file mode 100644 index 0000000..cc7b135 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_void_item_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostVoidItemResponse(BaseModel): + """ + PostVoidItemResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostVoidItemResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostVoidItemResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_void_payment_response.py b/cloudbeds_pms_v1_3/models/post_void_payment_response.py new file mode 100644 index 0000000..48d50e5 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_void_payment_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostVoidPaymentResponse(BaseModel): + """ + PostVoidPaymentResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostVoidPaymentResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostVoidPaymentResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_webhook_response.py b/cloudbeds_pms_v1_3/models/post_webhook_response.py new file mode 100644 index 0000000..07ca7d9 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_webhook_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_webhook_response_data import PostWebhookResponseData +from typing import Optional, Set +from typing_extensions import Self + +class PostWebhookResponse(BaseModel): + """ + PostWebhookResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + data: Optional[PostWebhookResponseData] = None + __properties: ClassVar[List[str]] = ["success", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostWebhookResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostWebhookResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "data": PostWebhookResponseData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/post_webhook_response_data.py b/cloudbeds_pms_v1_3/models/post_webhook_response_data.py new file mode 100644 index 0000000..65cc8a8 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/post_webhook_response_data.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PostWebhookResponseData(BaseModel): + """ + Subscription details + """ # noqa: E501 + subscription_id: Optional[StrictStr] = Field(default=None, description="Subscription ID", alias="subscriptionID") + __properties: ClassVar[List[str]] = ["subscriptionID"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PostWebhookResponseData from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PostWebhookResponseData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "subscriptionID": obj.get("subscriptionID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/put_guest_note_response.py b/cloudbeds_pms_v1_3/models/put_guest_note_response.py new file mode 100644 index 0000000..f023386 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/put_guest_note_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PutGuestNoteResponse(BaseModel): + """ + PutGuestNoteResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PutGuestNoteResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PutGuestNoteResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/put_guest_request_guest_custom_fields_inner.py b/cloudbeds_pms_v1_3/models/put_guest_request_guest_custom_fields_inner.py new file mode 100644 index 0000000..c1874af --- /dev/null +++ b/cloudbeds_pms_v1_3/models/put_guest_request_guest_custom_fields_inner.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PutGuestRequestGuestCustomFieldsInner(BaseModel): + """ + PutGuestRequestGuestCustomFieldsInner + """ # noqa: E501 + custom_field_name: Optional[StrictStr] = Field(default=None, alias="customFieldName") + custom_field_value: Optional[StrictStr] = Field(default=None, description="Custom field value. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected.", alias="customFieldValue") + __properties: ClassVar[List[str]] = ["customFieldName", "customFieldValue"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PutGuestRequestGuestCustomFieldsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if custom_field_name (nullable) is None + # and model_fields_set contains the field + if self.custom_field_name is None and "custom_field_name" in self.model_fields_set: + _dict['customFieldName'] = None + + # set to None if custom_field_value (nullable) is None + # and model_fields_set contains the field + if self.custom_field_value is None and "custom_field_value" in self.model_fields_set: + _dict['customFieldValue'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PutGuestRequestGuestCustomFieldsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "customFieldName": obj.get("customFieldName"), + "customFieldValue": obj.get("customFieldValue") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/put_guest_response.py b/cloudbeds_pms_v1_3/models/put_guest_response.py new file mode 100644 index 0000000..bdff412 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/put_guest_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PutGuestResponse(BaseModel): + """ + PutGuestResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false), or in case any warning message is needed. If success = true, it usually does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PutGuestResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PutGuestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/put_house_account_status_response.py b/cloudbeds_pms_v1_3/models/put_house_account_status_response.py new file mode 100644 index 0000000..c3a26d0 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/put_house_account_status_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PutHouseAccountStatusResponse(BaseModel): + """ + PutHouseAccountStatusResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PutHouseAccountStatusResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PutHouseAccountStatusResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/put_housekeeper_response.py b/cloudbeds_pms_v1_3/models/put_housekeeper_response.py new file mode 100644 index 0000000..df1b46c --- /dev/null +++ b/cloudbeds_pms_v1_3/models/put_housekeeper_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PutHousekeeperResponse(BaseModel): + """ + PutHousekeeperResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PutHousekeeperResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PutHousekeeperResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/put_item_to_inventory_response.py b/cloudbeds_pms_v1_3/models/put_item_to_inventory_response.py new file mode 100644 index 0000000..6fa9647 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/put_item_to_inventory_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PutItemToInventoryResponse(BaseModel): + """ + PutItemToInventoryResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PutItemToInventoryResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PutItemToInventoryResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/put_reservation_note_response.py b/cloudbeds_pms_v1_3/models/put_reservation_note_response.py new file mode 100644 index 0000000..d707983 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/put_reservation_note_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PutReservationNoteResponse(BaseModel): + """ + PutReservationNoteResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PutReservationNoteResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PutReservationNoteResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/put_reservation_request_custom_fields_inner.py b/cloudbeds_pms_v1_3/models/put_reservation_request_custom_fields_inner.py new file mode 100644 index 0000000..5a6eaa4 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/put_reservation_request_custom_fields_inner.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PutReservationRequestCustomFieldsInner(BaseModel): + """ + PutReservationRequestCustomFieldsInner + """ # noqa: E501 + custom_field_name: Optional[StrictStr] = Field(default=None, description="Internal custom field reference. Must match the registered name (shortcode) in backend. Pay Attention", alias="customFieldName") + custom_field_value: Optional[StrictStr] = Field(default=None, description="Custom field value. It's strictly forbidden to send unencrypted payment data through the API. Numeric values longer than 12 characters and considered valid by Luhn's algorithm will be rejected.", alias="customFieldValue") + __properties: ClassVar[List[str]] = ["customFieldName", "customFieldValue"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PutReservationRequestCustomFieldsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if custom_field_name (nullable) is None + # and model_fields_set contains the field + if self.custom_field_name is None and "custom_field_name" in self.model_fields_set: + _dict['customFieldName'] = None + + # set to None if custom_field_value (nullable) is None + # and model_fields_set contains the field + if self.custom_field_value is None and "custom_field_value" in self.model_fields_set: + _dict['customFieldValue'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PutReservationRequestCustomFieldsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "customFieldName": obj.get("customFieldName"), + "customFieldValue": obj.get("customFieldValue") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/put_reservation_request_rooms_inner.py b/cloudbeds_pms_v1_3/models/put_reservation_request_rooms_inner.py new file mode 100644 index 0000000..87f365f --- /dev/null +++ b/cloudbeds_pms_v1_3/models/put_reservation_request_rooms_inner.py @@ -0,0 +1,142 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PutReservationRequestRoomsInner(BaseModel): + """ + PutReservationRequestRoomsInner + """ # noqa: E501 + sub_reservation_id: Optional[StrictStr] = Field(default=None, description="Sub Reservation ID of the specific assigned room. Optional.", alias="subReservationID") + room_type_id: Optional[StrictStr] = Field(default=None, description="Room Type ID. Mandatory if rooms are sent.", alias="roomTypeID") + checkin_date: Optional[date] = Field(default=None, description="Check-in date for this specific room. Mandatory if rooms are sent.", alias="checkinDate") + checkout_date: Optional[date] = Field(default=None, description="Check-out date for this specific room. Mandatory if rooms are sent.", alias="checkoutDate") + adults: Optional[StrictInt] = Field(default=None, description="Quantity of adults for the room. Mandatory if rooms are sent.") + children: Optional[StrictInt] = Field(default=None, description="Number of children for the room. Mandatory if rooms are sent.") + rate_id: Optional[StrictStr] = Field(default=None, description="Rate ID for the room. Optional.", alias="rateID") + adjust_price: Optional[StrictBool] = Field(default=True, description="Whether to adjust pricing when changing room types. If false, preserves existing rates. Default is true.", alias="adjustPrice") + __properties: ClassVar[List[str]] = ["subReservationID", "roomTypeID", "checkinDate", "checkoutDate", "adults", "children", "rateID", "adjustPrice"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PutReservationRequestRoomsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if sub_reservation_id (nullable) is None + # and model_fields_set contains the field + if self.sub_reservation_id is None and "sub_reservation_id" in self.model_fields_set: + _dict['subReservationID'] = None + + # set to None if room_type_id (nullable) is None + # and model_fields_set contains the field + if self.room_type_id is None and "room_type_id" in self.model_fields_set: + _dict['roomTypeID'] = None + + # set to None if checkin_date (nullable) is None + # and model_fields_set contains the field + if self.checkin_date is None and "checkin_date" in self.model_fields_set: + _dict['checkinDate'] = None + + # set to None if checkout_date (nullable) is None + # and model_fields_set contains the field + if self.checkout_date is None and "checkout_date" in self.model_fields_set: + _dict['checkoutDate'] = None + + # set to None if adults (nullable) is None + # and model_fields_set contains the field + if self.adults is None and "adults" in self.model_fields_set: + _dict['adults'] = None + + # set to None if children (nullable) is None + # and model_fields_set contains the field + if self.children is None and "children" in self.model_fields_set: + _dict['children'] = None + + # set to None if rate_id (nullable) is None + # and model_fields_set contains the field + if self.rate_id is None and "rate_id" in self.model_fields_set: + _dict['rateID'] = None + + # set to None if adjust_price (nullable) is None + # and model_fields_set contains the field + if self.adjust_price is None and "adjust_price" in self.model_fields_set: + _dict['adjustPrice'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PutReservationRequestRoomsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "subReservationID": obj.get("subReservationID"), + "roomTypeID": obj.get("roomTypeID"), + "checkinDate": obj.get("checkinDate"), + "checkoutDate": obj.get("checkoutDate"), + "adults": obj.get("adults"), + "children": obj.get("children"), + "rateID": obj.get("rateID"), + "adjustPrice": obj.get("adjustPrice") if obj.get("adjustPrice") is not None else True + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/put_reservation_response.py b/cloudbeds_pms_v1_3/models/put_reservation_response.py new file mode 100644 index 0000000..7a60c8d --- /dev/null +++ b/cloudbeds_pms_v1_3/models/put_reservation_response.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PutReservationResponse(BaseModel): + """ + PutReservationResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs.") + data: Optional[Dict[str, Any]] = Field(default=None, description="Returns the reservation data as defined by getReservation call.") + __properties: ClassVar[List[str]] = ["success", "message", "data"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PutReservationResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PutReservationResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "message": obj.get("message"), + "data": obj.get("data") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/put_room_block_request_rooms_inner.py b/cloudbeds_pms_v1_3/models/put_room_block_request_rooms_inner.py new file mode 100644 index 0000000..52c6681 --- /dev/null +++ b/cloudbeds_pms_v1_3/models/put_room_block_request_rooms_inner.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PutRoomBlockRequestRoomsInner(BaseModel): + """ + PutRoomBlockRequestRoomsInner + """ # noqa: E501 + room_id: Optional[StrictStr] = Field(default=None, description="Room ID", alias="roomID") + room_type_id: Optional[StrictStr] = Field(default=None, description="Room type ID", alias="roomTypeID") + __properties: ClassVar[List[str]] = ["roomID", "roomTypeID"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PutRoomBlockRequestRoomsInner from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if room_id (nullable) is None + # and model_fields_set contains the field + if self.room_id is None and "room_id" in self.model_fields_set: + _dict['roomID'] = None + + # set to None if room_type_id (nullable) is None + # and model_fields_set contains the field + if self.room_type_id is None and "room_type_id" in self.model_fields_set: + _dict['roomTypeID'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PutRoomBlockRequestRoomsInner from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "roomID": obj.get("roomID"), + "roomTypeID": obj.get("roomTypeID") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/models/put_room_block_response.py b/cloudbeds_pms_v1_3/models/put_room_block_response.py new file mode 100644 index 0000000..7c9be2a --- /dev/null +++ b/cloudbeds_pms_v1_3/models/put_room_block_response.py @@ -0,0 +1,123 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import date +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from cloudbeds_pms_v1_3.models.post_room_block_response_rooms_inner import PostRoomBlockResponseRoomsInner +from typing import Optional, Set +from typing_extensions import Self + +class PutRoomBlockResponse(BaseModel): + """ + PutRoomBlockResponse + """ # noqa: E501 + success: Optional[StrictBool] = Field(default=None, description="Returns if the request could be completed") + property_id: Optional[StrictStr] = Field(default=None, description="Property ID", alias="propertyID") + room_block_id: Optional[StrictStr] = Field(default=None, description="Room block ID", alias="roomBlockID") + room_block_type: Optional[StrictStr] = Field(default=None, description="Room block type. 'blocked' - Room block. 'out_of_service' - Out of service block. 'courtesy_hold' - Courtesy hold.", alias="roomBlockType") + room_block_reason: Optional[StrictStr] = Field(default=None, description="Room block reason", alias="roomBlockReason") + start_date: Optional[date] = Field(default=None, description="Room block start date", alias="startDate") + end_date: Optional[date] = Field(default=None, description="Room block end date", alias="endDate") + rooms: Optional[List[PostRoomBlockResponseRoomsInner]] = Field(default=None, description="All rooms for room block. For properties using split inventory, this includes both source rooms (explicitly requested) and linked rooms (automatically added based on shared inventory configuration).") + message: Optional[StrictStr] = Field(default=None, description="To be used in case any error occurs (if success = false). If success = true, it does not exist.") + __properties: ClassVar[List[str]] = ["success", "propertyID", "roomBlockID", "roomBlockType", "roomBlockReason", "startDate", "endDate", "rooms", "message"] + + @field_validator('room_block_type') + def room_block_type_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + if value is None: + return value + + _allowed_values = set(['blocked', 'out_of_service', 'courtesy_hold', 'unknown_default_open_api']) + if value not in _allowed_values: + return 'unknown_default_open_api' + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PutRoomBlockResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in rooms (list) + _items = [] + if self.rooms: + for _item_rooms in self.rooms: + if _item_rooms: + _items.append(_item_rooms.to_dict()) + _dict['rooms'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PutRoomBlockResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "propertyID": obj.get("propertyID"), + "roomBlockID": obj.get("roomBlockID"), + "roomBlockType": obj.get("roomBlockType"), + "roomBlockReason": obj.get("roomBlockReason"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "rooms": [PostRoomBlockResponseRoomsInner.from_dict(_item) for _item in obj["rooms"]] if obj.get("rooms") is not None else None, + "message": obj.get("message") + }) + return _obj + + diff --git a/cloudbeds_pms_v1_3/py.typed b/cloudbeds_pms_v1_3/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/cloudbeds_pms_v1_3/rest.py b/cloudbeds_pms_v1_3/rest.py new file mode 100644 index 0000000..f3e598f --- /dev/null +++ b/cloudbeds_pms_v1_3/rest.py @@ -0,0 +1,257 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import io +import json +import re +import ssl + +import urllib3 + +from cloudbeds_pms_v1_3.exceptions import ApiException, ApiValueError + +SUPPORTED_SOCKS_PROXIES = {"socks5", "socks5h", "socks4", "socks4a"} +RESTResponseType = urllib3.HTTPResponse + + +def is_socks_proxy_url(url): + if url is None: + return False + split_section = url.split("://") + if len(split_section) < 2: + return False + else: + return split_section[0].lower() in SUPPORTED_SOCKS_PROXIES + + +class RESTResponse(io.IOBase): + + def __init__(self, resp) -> None: + self.response = resp + self.status = resp.status + self.reason = resp.reason + self.data = None + + def read(self): + if self.data is None: + self.data = self.response.data + return self.data + + def getheaders(self): + """Returns a dictionary of the response headers.""" + return self.response.headers + + def getheader(self, name, default=None): + """Returns a given response header.""" + return self.response.headers.get(name, default) + + +class RESTClientObject: + + def __init__(self, configuration) -> None: + # urllib3.PoolManager will pass all kw parameters to connectionpool + # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/poolmanager.py#L75 # noqa: E501 + # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/connectionpool.py#L680 # noqa: E501 + # Custom SSL certificates and client certificates: http://urllib3.readthedocs.io/en/latest/advanced-usage.html # noqa: E501 + + # cert_reqs + if configuration.verify_ssl: + cert_reqs = ssl.CERT_REQUIRED + else: + cert_reqs = ssl.CERT_NONE + + pool_args = { + "cert_reqs": cert_reqs, + "ca_certs": configuration.ssl_ca_cert, + "cert_file": configuration.cert_file, + "key_file": configuration.key_file, + } + if configuration.assert_hostname is not None: + pool_args['assert_hostname'] = ( + configuration.assert_hostname + ) + + if configuration.retries is not None: + pool_args['retries'] = configuration.retries + + if configuration.tls_server_name: + pool_args['server_hostname'] = configuration.tls_server_name + + + if configuration.socket_options is not None: + pool_args['socket_options'] = configuration.socket_options + + if configuration.connection_pool_maxsize is not None: + pool_args['maxsize'] = configuration.connection_pool_maxsize + + # https pool manager + self.pool_manager: urllib3.PoolManager + + if configuration.proxy: + if is_socks_proxy_url(configuration.proxy): + from urllib3.contrib.socks import SOCKSProxyManager + pool_args["proxy_url"] = configuration.proxy + pool_args["headers"] = configuration.proxy_headers + self.pool_manager = SOCKSProxyManager(**pool_args) + else: + pool_args["proxy_url"] = configuration.proxy + pool_args["proxy_headers"] = configuration.proxy_headers + self.pool_manager = urllib3.ProxyManager(**pool_args) + else: + self.pool_manager = urllib3.PoolManager(**pool_args) + + def request( + self, + method, + url, + headers=None, + body=None, + post_params=None, + _request_timeout=None + ): + """Perform requests. + + :param method: http request method + :param url: http request url + :param headers: http request headers + :param body: request json body, for `application/json` + :param post_params: request post parameters, + `application/x-www-form-urlencoded` + and `multipart/form-data` + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + """ + method = method.upper() + assert method in [ + 'GET', + 'HEAD', + 'DELETE', + 'POST', + 'PUT', + 'PATCH', + 'OPTIONS' + ] + + if post_params and body: + raise ApiValueError( + "body parameter cannot be used with post_params parameter." + ) + + post_params = post_params or {} + headers = headers or {} + + timeout = None + if _request_timeout: + if isinstance(_request_timeout, (int, float)): + timeout = urllib3.Timeout(total=_request_timeout) + elif ( + isinstance(_request_timeout, tuple) + and len(_request_timeout) == 2 + ): + timeout = urllib3.Timeout( + connect=_request_timeout[0], + read=_request_timeout[1] + ) + + try: + # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` + if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: + + # no content type provided or payload is json + content_type = headers.get('Content-Type') + if ( + not content_type + or re.search('json', content_type, re.IGNORECASE) + ): + request_body = None + if body is not None: + request_body = json.dumps(body) + r = self.pool_manager.request( + method, + url, + body=request_body, + timeout=timeout, + headers=headers, + preload_content=False + ) + elif content_type == 'application/x-www-form-urlencoded': + r = self.pool_manager.request( + method, + url, + fields=post_params, + encode_multipart=False, + timeout=timeout, + headers=headers, + preload_content=False + ) + elif content_type == 'multipart/form-data': + # must del headers['Content-Type'], or the correct + # Content-Type which generated by urllib3 will be + # overwritten. + del headers['Content-Type'] + # Ensures that dict objects are serialized + post_params = [(a, json.dumps(b)) if isinstance(b, dict) else (a,b) for a, b in post_params] + r = self.pool_manager.request( + method, + url, + fields=post_params, + encode_multipart=True, + timeout=timeout, + headers=headers, + preload_content=False + ) + # Pass a `string` parameter directly in the body to support + # other content types than JSON when `body` argument is + # provided in serialized form. + elif isinstance(body, str) or isinstance(body, bytes): + r = self.pool_manager.request( + method, + url, + body=body, + timeout=timeout, + headers=headers, + preload_content=False + ) + elif headers['Content-Type'].startswith('text/') and isinstance(body, bool): + request_body = "true" if body else "false" + r = self.pool_manager.request( + method, + url, + body=request_body, + preload_content=False, + timeout=timeout, + headers=headers) + else: + # Cannot generate the request from given parameters + msg = """Cannot prepare a request message for provided + arguments. Please check that your arguments match + declared content type.""" + raise ApiException(status=0, reason=msg) + # For `GET`, `HEAD` + else: + r = self.pool_manager.request( + method, + url, + fields={}, + timeout=timeout, + headers=headers, + preload_content=False + ) + except urllib3.exceptions.SSLError as e: + msg = "\n".join([type(e).__name__, str(e)]) + raise ApiException(status=0, reason=msg) + + return RESTResponse(r) diff --git a/cloudbeds_pms_v1_3/test/__init__.py b/cloudbeds_pms_v1_3/test/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/cloudbeds_pms_v1_3/test/test_adjustment_api.py b/cloudbeds_pms_v1_3/test/test_adjustment_api.py new file mode 100644 index 0000000..ec91247 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_adjustment_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.adjustment_api import AdjustmentApi + + +class TestAdjustmentApi(unittest.TestCase): + """AdjustmentApi unit test stubs""" + + def setUp(self) -> None: + self.api = AdjustmentApi() + + def tearDown(self) -> None: + pass + + def test_delete_adjustment_delete(self) -> None: + """Test case for delete_adjustment_delete + + deleteAdjustment + """ + pass + + def test_post_adjustment_post(self) -> None: + """Test case for post_adjustment_post + + postAdjustment + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_allotment_blocks_api.py b/cloudbeds_pms_v1_3/test/test_allotment_blocks_api.py new file mode 100644 index 0000000..b40fc18 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_allotment_blocks_api.py @@ -0,0 +1,80 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.allotment_blocks_api import AllotmentBlocksApi + + +class TestAllotmentBlocksApi(unittest.TestCase): + """AllotmentBlocksApi unit test stubs""" + + def setUp(self) -> None: + self.api = AllotmentBlocksApi() + + def tearDown(self) -> None: + pass + + def test_create_allotment_block_notes_post(self) -> None: + """Test case for create_allotment_block_notes_post + + createAllotmentBlockNotes + """ + pass + + def test_create_allotment_block_post(self) -> None: + """Test case for create_allotment_block_post + + createAllotmentBlock + """ + pass + + def test_delete_allotment_block_post(self) -> None: + """Test case for delete_allotment_block_post + + deleteAllotmentBlock + """ + pass + + def test_get_allotment_blocks_get(self) -> None: + """Test case for get_allotment_blocks_get + + getAllotmentBlocks + """ + pass + + def test_list_allotment_block_notes_get(self) -> None: + """Test case for list_allotment_block_notes_get + + listAllotmentBlockNotes + """ + pass + + def test_update_allotment_block_notes_post(self) -> None: + """Test case for update_allotment_block_notes_post + + updateAllotmentBlockNotes + """ + pass + + def test_update_allotment_block_post(self) -> None: + """Test case for update_allotment_block_post + + updateAllotmentBlock + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_app_settings_api.py b/cloudbeds_pms_v1_3/test/test_app_settings_api.py new file mode 100644 index 0000000..11d8d6e --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_app_settings_api.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.app_settings_api import AppSettingsApi + + +class TestAppSettingsApi(unittest.TestCase): + """AppSettingsApi unit test stubs""" + + def setUp(self) -> None: + self.api = AppSettingsApi() + + def tearDown(self) -> None: + pass + + def test_delete_app_property_settings_post(self) -> None: + """Test case for delete_app_property_settings_post + + deleteAppPropertySettings + """ + pass + + def test_get_app_property_settings_get(self) -> None: + """Test case for get_app_property_settings_get + + getAppPropertySettings + """ + pass + + def test_post_app_property_settings_post(self) -> None: + """Test case for post_app_property_settings_post + + postAppPropertySettings + """ + pass + + def test_put_app_property_settings_post(self) -> None: + """Test case for put_app_property_settings_post + + putAppPropertySettings + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_authentication_api.py b/cloudbeds_pms_v1_3/test/test_authentication_api.py new file mode 100644 index 0000000..b42fd68 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_authentication_api.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.authentication_api import AuthenticationApi + + +class TestAuthenticationApi(unittest.TestCase): + """AuthenticationApi unit test stubs""" + + def setUp(self) -> None: + self.api = AuthenticationApi() + + def tearDown(self) -> None: + pass + + def test_access_token_post(self) -> None: + """Test case for access_token_post + + access_token + """ + pass + + def test_oauth_metadata_get(self) -> None: + """Test case for oauth_metadata_get + + metadata + """ + pass + + def test_userinfo_get(self) -> None: + """Test case for userinfo_get + + userinfo + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_currency_api.py b/cloudbeds_pms_v1_3/test/test_currency_api.py new file mode 100644 index 0000000..86cc020 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_currency_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.currency_api import CurrencyApi + + +class TestCurrencyApi(unittest.TestCase): + """CurrencyApi unit test stubs""" + + def setUp(self) -> None: + self.api = CurrencyApi() + + def tearDown(self) -> None: + pass + + def test_get_currency_settings_get(self) -> None: + """Test case for get_currency_settings_get + + getCurrencySettings + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_custom_fields_api.py b/cloudbeds_pms_v1_3/test/test_custom_fields_api.py new file mode 100644 index 0000000..8a89a9c --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_custom_fields_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.custom_fields_api import CustomFieldsApi + + +class TestCustomFieldsApi(unittest.TestCase): + """CustomFieldsApi unit test stubs""" + + def setUp(self) -> None: + self.api = CustomFieldsApi() + + def tearDown(self) -> None: + pass + + def test_get_custom_fields_get(self) -> None: + """Test case for get_custom_fields_get + + getCustomFields + """ + pass + + def test_post_custom_field_post(self) -> None: + """Test case for post_custom_field_post + + postCustomField + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_dashboard_api.py b/cloudbeds_pms_v1_3/test/test_dashboard_api.py new file mode 100644 index 0000000..0e2a4e2 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_dashboard_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.dashboard_api import DashboardApi + + +class TestDashboardApi(unittest.TestCase): + """DashboardApi unit test stubs""" + + def setUp(self) -> None: + self.api = DashboardApi() + + def tearDown(self) -> None: + pass + + def test_get_dashboard_get(self) -> None: + """Test case for get_dashboard_get + + getDashboard + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_delete_adjustment_response.py b/cloudbeds_pms_v1_3/test/test_delete_adjustment_response.py new file mode 100644 index 0000000..ee726c0 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_delete_adjustment_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.delete_adjustment_response import DeleteAdjustmentResponse + +class TestDeleteAdjustmentResponse(unittest.TestCase): + """DeleteAdjustmentResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeleteAdjustmentResponse: + """Test DeleteAdjustmentResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeleteAdjustmentResponse` + """ + model = DeleteAdjustmentResponse() + if include_optional: + return DeleteAdjustmentResponse( + success = True, + message = '' + ) + else: + return DeleteAdjustmentResponse( + ) + """ + + def testDeleteAdjustmentResponse(self): + """Test DeleteAdjustmentResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_delete_guest_note_response.py b/cloudbeds_pms_v1_3/test/test_delete_guest_note_response.py new file mode 100644 index 0000000..7dc8568 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_delete_guest_note_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.delete_guest_note_response import DeleteGuestNoteResponse + +class TestDeleteGuestNoteResponse(unittest.TestCase): + """DeleteGuestNoteResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeleteGuestNoteResponse: + """Test DeleteGuestNoteResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeleteGuestNoteResponse` + """ + model = DeleteGuestNoteResponse() + if include_optional: + return DeleteGuestNoteResponse( + success = True, + message = '' + ) + else: + return DeleteGuestNoteResponse( + ) + """ + + def testDeleteGuestNoteResponse(self): + """Test DeleteGuestNoteResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_delete_reservation_note_response.py b/cloudbeds_pms_v1_3/test/test_delete_reservation_note_response.py new file mode 100644 index 0000000..fe0d2c5 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_delete_reservation_note_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.delete_reservation_note_response import DeleteReservationNoteResponse + +class TestDeleteReservationNoteResponse(unittest.TestCase): + """DeleteReservationNoteResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeleteReservationNoteResponse: + """Test DeleteReservationNoteResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeleteReservationNoteResponse` + """ + model = DeleteReservationNoteResponse() + if include_optional: + return DeleteReservationNoteResponse( + success = True, + message = '' + ) + else: + return DeleteReservationNoteResponse( + ) + """ + + def testDeleteReservationNoteResponse(self): + """Test DeleteReservationNoteResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_delete_room_block_response.py b/cloudbeds_pms_v1_3/test/test_delete_room_block_response.py new file mode 100644 index 0000000..02e21f8 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_delete_room_block_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.delete_room_block_response import DeleteRoomBlockResponse + +class TestDeleteRoomBlockResponse(unittest.TestCase): + """DeleteRoomBlockResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeleteRoomBlockResponse: + """Test DeleteRoomBlockResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeleteRoomBlockResponse` + """ + model = DeleteRoomBlockResponse() + if include_optional: + return DeleteRoomBlockResponse( + success = True, + message = '' + ) + else: + return DeleteRoomBlockResponse( + ) + """ + + def testDeleteRoomBlockResponse(self): + """Test DeleteRoomBlockResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_delete_webhook_response.py b/cloudbeds_pms_v1_3/test/test_delete_webhook_response.py new file mode 100644 index 0000000..29c5ff0 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_delete_webhook_response.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.delete_webhook_response import DeleteWebhookResponse + +class TestDeleteWebhookResponse(unittest.TestCase): + """DeleteWebhookResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeleteWebhookResponse: + """Test DeleteWebhookResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeleteWebhookResponse` + """ + model = DeleteWebhookResponse() + if include_optional: + return DeleteWebhookResponse( + success = True + ) + else: + return DeleteWebhookResponse( + ) + """ + + def testDeleteWebhookResponse(self): + """Test DeleteWebhookResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_emails_api.py b/cloudbeds_pms_v1_3/test/test_emails_api.py new file mode 100644 index 0000000..1048365 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_emails_api.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.emails_api import EmailsApi + + +class TestEmailsApi(unittest.TestCase): + """EmailsApi unit test stubs""" + + def setUp(self) -> None: + self.api = EmailsApi() + + def tearDown(self) -> None: + pass + + def test_get_email_schedule_get(self) -> None: + """Test case for get_email_schedule_get + + getEmailSchedule + """ + pass + + def test_get_email_templates_get(self) -> None: + """Test case for get_email_templates_get + + getEmailTemplates + """ + pass + + def test_post_email_schedule_post(self) -> None: + """Test case for post_email_schedule_post + + postEmailSchedule + """ + pass + + def test_post_email_template_post(self) -> None: + """Test case for post_email_template_post + + postEmailTemplate + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response.py b/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response.py new file mode 100644 index 0000000..edcc92a --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response.py @@ -0,0 +1,116 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response import GetAllotmentBlocksResponse + +class TestGetAllotmentBlocksResponse(unittest.TestCase): + """GetAllotmentBlocksResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAllotmentBlocksResponse: + """Test GetAllotmentBlocksResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAllotmentBlocksResponse` + """ + model = GetAllotmentBlocksResponse() + if include_optional: + return GetAllotmentBlocksResponse( + success = True, + count = 56, + total = 56, + data = [ + cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner.GetAllotmentBlocksResponse_data_inner( + property_id = '', + allotment_block_code = '', + allotment_block_status = '', + allotment_block_name = '', + allotment_block_id = '', + rate_type = '', + rate_plan_id = '', + rate_plan = '', + allotment_type = '', + group_id = '', + group_code = '', + event_id = '', + event_code = '', + booking_code_url = '', + is_auto_release = True, + auto_release = [ + cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_auto_release_inner.GetAllotmentBlocksResponse_data_inner_autoRelease_inner( + release_type = 'all_dates', + days = 56, + release_time = '', ) + ], + release_status = '', + release_schedule_status = '', + release_schedule_type = '', + release_date = '', + reservations_count = 56, + rooms_held = 56, + rooms_picked_up = 56, + rooms_remaining = 56, + allotment_intervals = [ + cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner.GetAllotmentBlocksResponse_data_inner_allotmentIntervals_inner( + policy_id = '', + room_type_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + availability = [ + cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner.GetAllotmentBlocksResponse_data_inner_allotmentIntervals_inner_availability_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + block_remaining = 56, + block_allotted = 56, + block_confirmed = 56, + rate = '', + guest_pricing = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_availability_guestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '', ), + split_block_allotted = 56, + split_block_confirmed = 56, ) + ], + restrictions = cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions.GetAllotmentBlocksResponse_data_inner_allotmentIntervals_inner_restrictions( + min_los = 56, + max_los = 56, + cut_off_days = 56, + last_minute_booking_days = 56, + closed_to_arrival = 56, + closed_to_departure = 56, ), ) + ], ) + ] + ) + else: + return GetAllotmentBlocksResponse( + ) + """ + + def testGetAllotmentBlocksResponse(self): + """Test GetAllotmentBlocksResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner.py new file mode 100644 index 0000000..cbbeb6f --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner import GetAllotmentBlocksResponseDataInner + +class TestGetAllotmentBlocksResponseDataInner(unittest.TestCase): + """GetAllotmentBlocksResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAllotmentBlocksResponseDataInner: + """Test GetAllotmentBlocksResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAllotmentBlocksResponseDataInner` + """ + model = GetAllotmentBlocksResponseDataInner() + if include_optional: + return GetAllotmentBlocksResponseDataInner( + property_id = '', + allotment_block_code = '', + allotment_block_status = '', + allotment_block_name = '', + allotment_block_id = '', + rate_type = '', + rate_plan_id = '', + rate_plan = '', + allotment_type = '', + group_id = '', + group_code = '', + event_id = '', + event_code = '', + booking_code_url = '', + is_auto_release = True, + auto_release = [ + cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_auto_release_inner.GetAllotmentBlocksResponse_data_inner_autoRelease_inner( + release_type = 'all_dates', + days = 56, + release_time = '', ) + ], + release_status = '', + release_schedule_status = '', + release_schedule_type = '', + release_date = '', + reservations_count = 56, + rooms_held = 56, + rooms_picked_up = 56, + rooms_remaining = 56, + allotment_intervals = [ + cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner.GetAllotmentBlocksResponse_data_inner_allotmentIntervals_inner( + policy_id = '', + room_type_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + availability = [ + cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner.GetAllotmentBlocksResponse_data_inner_allotmentIntervals_inner_availability_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + block_remaining = 56, + block_allotted = 56, + block_confirmed = 56, + rate = '', + guest_pricing = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_availability_guestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '', ), + split_block_allotted = 56, + split_block_confirmed = 56, ) + ], + restrictions = cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions.GetAllotmentBlocksResponse_data_inner_allotmentIntervals_inner_restrictions( + min_los = 56, + max_los = 56, + cut_off_days = 56, + last_minute_booking_days = 56, + closed_to_arrival = 56, + closed_to_departure = 56, ), ) + ] + ) + else: + return GetAllotmentBlocksResponseDataInner( + ) + """ + + def testGetAllotmentBlocksResponseDataInner(self): + """Test GetAllotmentBlocksResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner_allotment_intervals_inner.py b/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner_allotment_intervals_inner.py new file mode 100644 index 0000000..4d1c1ee --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner_allotment_intervals_inner.py @@ -0,0 +1,78 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner import GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner + +class TestGetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner(unittest.TestCase): + """GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner: + """Test GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner` + """ + model = GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner() + if include_optional: + return GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner( + policy_id = '', + room_type_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + availability = [ + cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner.GetAllotmentBlocksResponse_data_inner_allotmentIntervals_inner_availability_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + block_remaining = 56, + block_allotted = 56, + block_confirmed = 56, + rate = '', + guest_pricing = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_availability_guestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '', ), + split_block_allotted = 56, + split_block_confirmed = 56, ) + ], + restrictions = cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions.GetAllotmentBlocksResponse_data_inner_allotmentIntervals_inner_restrictions( + min_los = 56, + max_los = 56, + cut_off_days = 56, + last_minute_booking_days = 56, + closed_to_arrival = 56, + closed_to_departure = 56, ) + ) + else: + return GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner( + ) + """ + + def testGetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner(self): + """Test GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner.py b/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner.py new file mode 100644 index 0000000..34ac813 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner_availability_inner import GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner + +class TestGetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner(unittest.TestCase): + """GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner: + """Test GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner` + """ + model = GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner() + if include_optional: + return GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner( + var_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + block_remaining = 56, + block_allotted = 56, + block_confirmed = 56, + rate = '', + guest_pricing = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_availability_guestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '', ), + split_block_allotted = 56, + split_block_confirmed = 56 + ) + else: + return GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner( + ) + """ + + def testGetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner(self): + """Test GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerAvailabilityInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions.py b/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions.py new file mode 100644 index 0000000..fe322e2 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_allotment_intervals_inner_restrictions import GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions + +class TestGetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions(unittest.TestCase): + """GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions: + """Test GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions` + """ + model = GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions() + if include_optional: + return GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions( + min_los = 56, + max_los = 56, + cut_off_days = 56, + last_minute_booking_days = 56, + closed_to_arrival = 56, + closed_to_departure = 56 + ) + else: + return GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions( + ) + """ + + def testGetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions(self): + """Test GetAllotmentBlocksResponseDataInnerAllotmentIntervalsInnerRestrictions""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner_auto_release_inner.py b/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner_auto_release_inner.py new file mode 100644 index 0000000..8d544ca --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_allotment_blocks_response_data_inner_auto_release_inner.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_allotment_blocks_response_data_inner_auto_release_inner import GetAllotmentBlocksResponseDataInnerAutoReleaseInner + +class TestGetAllotmentBlocksResponseDataInnerAutoReleaseInner(unittest.TestCase): + """GetAllotmentBlocksResponseDataInnerAutoReleaseInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAllotmentBlocksResponseDataInnerAutoReleaseInner: + """Test GetAllotmentBlocksResponseDataInnerAutoReleaseInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAllotmentBlocksResponseDataInnerAutoReleaseInner` + """ + model = GetAllotmentBlocksResponseDataInnerAutoReleaseInner() + if include_optional: + return GetAllotmentBlocksResponseDataInnerAutoReleaseInner( + release_type = 'all_dates', + days = 56, + release_time = '' + ) + else: + return GetAllotmentBlocksResponseDataInnerAutoReleaseInner( + ) + """ + + def testGetAllotmentBlocksResponseDataInnerAutoReleaseInner(self): + """Test GetAllotmentBlocksResponseDataInnerAutoReleaseInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_app_property_settings_response.py b/cloudbeds_pms_v1_3/test/test_get_app_property_settings_response.py new file mode 100644 index 0000000..7d872f5 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_app_property_settings_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_app_property_settings_response import GetAppPropertySettingsResponse + +class TestGetAppPropertySettingsResponse(unittest.TestCase): + """GetAppPropertySettingsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAppPropertySettingsResponse: + """Test GetAppPropertySettingsResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAppPropertySettingsResponse` + """ + model = GetAppPropertySettingsResponse() + if include_optional: + return GetAppPropertySettingsResponse( + success = True, + data = None + ) + else: + return GetAppPropertySettingsResponse( + ) + """ + + def testGetAppPropertySettingsResponse(self): + """Test GetAppPropertySettingsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_app_property_settings_response_data.py b/cloudbeds_pms_v1_3/test/test_get_app_property_settings_response_data.py new file mode 100644 index 0000000..7e62844 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_app_property_settings_response_data.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_app_property_settings_response_data import GetAppPropertySettingsResponseData + +class TestGetAppPropertySettingsResponseData(unittest.TestCase): + """GetAppPropertySettingsResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAppPropertySettingsResponseData: + """Test GetAppPropertySettingsResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAppPropertySettingsResponseData` + """ + model = GetAppPropertySettingsResponseData() + if include_optional: + return GetAppPropertySettingsResponseData( + id = '', + key = '', + value = '' + ) + else: + return GetAppPropertySettingsResponseData( + ) + """ + + def testGetAppPropertySettingsResponseData(self): + """Test GetAppPropertySettingsResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_app_property_settings_response_data_one_of.py b/cloudbeds_pms_v1_3/test/test_get_app_property_settings_response_data_one_of.py new file mode 100644 index 0000000..e912185 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_app_property_settings_response_data_one_of.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_app_property_settings_response_data_one_of import GetAppPropertySettingsResponseDataOneOf + +class TestGetAppPropertySettingsResponseDataOneOf(unittest.TestCase): + """GetAppPropertySettingsResponseDataOneOf unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAppPropertySettingsResponseDataOneOf: + """Test GetAppPropertySettingsResponseDataOneOf + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAppPropertySettingsResponseDataOneOf` + """ + model = GetAppPropertySettingsResponseDataOneOf() + if include_optional: + return GetAppPropertySettingsResponseDataOneOf( + id = '', + key = '', + value = '' + ) + else: + return GetAppPropertySettingsResponseDataOneOf( + ) + """ + + def testGetAppPropertySettingsResponseDataOneOf(self): + """Test GetAppPropertySettingsResponseDataOneOf""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_app_settings_response.py b/cloudbeds_pms_v1_3/test/test_get_app_settings_response.py new file mode 100644 index 0000000..7d65f6a --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_app_settings_response.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_app_settings_response import GetAppSettingsResponse + +class TestGetAppSettingsResponse(unittest.TestCase): + """GetAppSettingsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAppSettingsResponse: + """Test GetAppSettingsResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAppSettingsResponse` + """ + model = GetAppSettingsResponse() + if include_optional: + return GetAppSettingsResponse( + success = True, + data = cloudbeds_pms_v1_3.models.get_app_settings_response_data.GetAppSettingsResponse_data( + full_revenue_sync = True, ) + ) + else: + return GetAppSettingsResponse( + ) + """ + + def testGetAppSettingsResponse(self): + """Test GetAppSettingsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_app_settings_response_data.py b/cloudbeds_pms_v1_3/test/test_get_app_settings_response_data.py new file mode 100644 index 0000000..e696665 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_app_settings_response_data.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_app_settings_response_data import GetAppSettingsResponseData + +class TestGetAppSettingsResponseData(unittest.TestCase): + """GetAppSettingsResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAppSettingsResponseData: + """Test GetAppSettingsResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAppSettingsResponseData` + """ + model = GetAppSettingsResponseData() + if include_optional: + return GetAppSettingsResponseData( + full_revenue_sync = True + ) + else: + return GetAppSettingsResponseData( + ) + """ + + def testGetAppSettingsResponseData(self): + """Test GetAppSettingsResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_app_state_response.py b/cloudbeds_pms_v1_3/test/test_get_app_state_response.py new file mode 100644 index 0000000..35a4833 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_app_state_response.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_app_state_response import GetAppStateResponse + +class TestGetAppStateResponse(unittest.TestCase): + """GetAppStateResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAppStateResponse: + """Test GetAppStateResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAppStateResponse` + """ + model = GetAppStateResponse() + if include_optional: + return GetAppStateResponse( + success = True, + data = cloudbeds_pms_v1_3.models.get_app_state_response_data.GetAppStateResponse_data( + app_state = 'enabled', ) + ) + else: + return GetAppStateResponse( + ) + """ + + def testGetAppStateResponse(self): + """Test GetAppStateResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_app_state_response_data.py b/cloudbeds_pms_v1_3/test/test_get_app_state_response_data.py new file mode 100644 index 0000000..3182530 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_app_state_response_data.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_app_state_response_data import GetAppStateResponseData + +class TestGetAppStateResponseData(unittest.TestCase): + """GetAppStateResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAppStateResponseData: + """Test GetAppStateResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAppStateResponseData` + """ + model = GetAppStateResponseData() + if include_optional: + return GetAppStateResponseData( + app_state = 'enabled' + ) + else: + return GetAppStateResponseData( + ) + """ + + def testGetAppStateResponseData(self): + """Test GetAppStateResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_available_room_types_response.py b/cloudbeds_pms_v1_3/test/test_get_available_room_types_response.py new file mode 100644 index 0000000..69487ce --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_available_room_types_response.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_available_room_types_response import GetAvailableRoomTypesResponse + +class TestGetAvailableRoomTypesResponse(unittest.TestCase): + """GetAvailableRoomTypesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAvailableRoomTypesResponse: + """Test GetAvailableRoomTypesResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAvailableRoomTypesResponse` + """ + model = GetAvailableRoomTypesResponse() + if include_optional: + return GetAvailableRoomTypesResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner.GetAvailableRoomTypesResponse_data_inner( + property_id = '', + property_currency = [ + cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_currency_inner.GetAvailableRoomTypesResponse_data_inner_propertyCurrency_inner( + currency_code = '', + currency_symbol = '', + currency_position = 'before', ) + ], + property_rooms = [ + cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner.GetAvailableRoomTypesResponse_data_inner_propertyRooms_inner( + room_type_id = '', + room_type_name = '', + room_type_name_short = '', + room_type_description = '', + max_guests = 56, + adults_included = 56, + children_included = 56, + room_type_photos = [ + cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_image_inner.GetHotelDetailsResponse_data_propertyImage_inner( + thumb = '', + image = '', ) + ], + room_type_features = [ + '' + ], + room_rate = 1.337, + room_rate_id = '', + rate_plan_name_public = '', + rate_plan_name_private = '', + rooms_available = 56, + adults_extra_charge = [ + None + ], + children_extra_charge = [ + None + ], + room_rate_detailed = [ + cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner.GetAvailableRoomTypesResponse_data_inner_propertyRooms_inner_roomRateDetailed_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, ) + ], + derived_type = 'fixed', + derived_value = 1.337, + individual_rooms = [ + cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner.GetAvailableRoomTypesResponse_data_inner_propertyRooms_inner_individualRooms_inner( + room_id = '', + room_name = 1.337, + dorm_room_name = '', ) + ], ) + ], ) + ], + room_count = 56, + count = 56, + total = 56, + message = '' + ) + else: + return GetAvailableRoomTypesResponse( + ) + """ + + def testGetAvailableRoomTypesResponse(self): + """Test GetAvailableRoomTypesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner.py new file mode 100644 index 0000000..984b6b4 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner import GetAvailableRoomTypesResponseDataInner + +class TestGetAvailableRoomTypesResponseDataInner(unittest.TestCase): + """GetAvailableRoomTypesResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAvailableRoomTypesResponseDataInner: + """Test GetAvailableRoomTypesResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAvailableRoomTypesResponseDataInner` + """ + model = GetAvailableRoomTypesResponseDataInner() + if include_optional: + return GetAvailableRoomTypesResponseDataInner( + property_id = '', + property_currency = [ + cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_currency_inner.GetAvailableRoomTypesResponse_data_inner_propertyCurrency_inner( + currency_code = '', + currency_symbol = '', + currency_position = 'before', ) + ], + property_rooms = [ + cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner.GetAvailableRoomTypesResponse_data_inner_propertyRooms_inner( + room_type_id = '', + room_type_name = '', + room_type_name_short = '', + room_type_description = '', + max_guests = 56, + adults_included = 56, + children_included = 56, + room_type_photos = [ + cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_image_inner.GetHotelDetailsResponse_data_propertyImage_inner( + thumb = '', + image = '', ) + ], + room_type_features = [ + '' + ], + room_rate = 1.337, + room_rate_id = '', + rate_plan_name_public = '', + rate_plan_name_private = '', + rooms_available = 56, + adults_extra_charge = [ + None + ], + children_extra_charge = [ + None + ], + room_rate_detailed = [ + cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner.GetAvailableRoomTypesResponse_data_inner_propertyRooms_inner_roomRateDetailed_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, ) + ], + derived_type = 'fixed', + derived_value = 1.337, + individual_rooms = [ + cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner.GetAvailableRoomTypesResponse_data_inner_propertyRooms_inner_individualRooms_inner( + room_id = '', + room_name = 1.337, + dorm_room_name = '', ) + ], ) + ] + ) + else: + return GetAvailableRoomTypesResponseDataInner( + ) + """ + + def testGetAvailableRoomTypesResponseDataInner(self): + """Test GetAvailableRoomTypesResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner_property_currency_inner.py b/cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner_property_currency_inner.py new file mode 100644 index 0000000..5fe7950 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner_property_currency_inner.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_currency_inner import GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner + +class TestGetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner(unittest.TestCase): + """GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner: + """Test GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner` + """ + model = GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner() + if include_optional: + return GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner( + currency_code = '', + currency_symbol = '', + currency_position = 'before' + ) + else: + return GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner( + ) + """ + + def testGetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner(self): + """Test GetAvailableRoomTypesResponseDataInnerPropertyCurrencyInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner_property_rooms_inner.py b/cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner_property_rooms_inner.py new file mode 100644 index 0000000..8a816ea --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner_property_rooms_inner.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner import GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner + +class TestGetAvailableRoomTypesResponseDataInnerPropertyRoomsInner(unittest.TestCase): + """GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner: + """Test GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner` + """ + model = GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner() + if include_optional: + return GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner( + room_type_id = '', + room_type_name = '', + room_type_name_short = '', + room_type_description = '', + max_guests = 56, + adults_included = 56, + children_included = 56, + room_type_photos = [ + cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_image_inner.GetHotelDetailsResponse_data_propertyImage_inner( + thumb = '', + image = '', ) + ], + room_type_features = [ + '' + ], + room_rate = 1.337, + room_rate_id = '', + rate_plan_name_public = '', + rate_plan_name_private = '', + rooms_available = 56, + adults_extra_charge = [ + None + ], + children_extra_charge = [ + None + ], + room_rate_detailed = [ + cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner.GetAvailableRoomTypesResponse_data_inner_propertyRooms_inner_roomRateDetailed_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, ) + ], + derived_type = 'fixed', + derived_value = 1.337, + individual_rooms = [ + cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner.GetAvailableRoomTypesResponse_data_inner_propertyRooms_inner_individualRooms_inner( + room_id = '', + room_name = 1.337, + dorm_room_name = '', ) + ] + ) + else: + return GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner( + ) + """ + + def testGetAvailableRoomTypesResponseDataInnerPropertyRoomsInner(self): + """Test GetAvailableRoomTypesResponseDataInnerPropertyRoomsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner.py b/cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner.py new file mode 100644 index 0000000..2ffa778 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner_individual_rooms_inner import GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner + +class TestGetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner(unittest.TestCase): + """GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner: + """Test GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner` + """ + model = GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner() + if include_optional: + return GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner( + room_id = '', + room_name = 1.337, + dorm_room_name = '' + ) + else: + return GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner( + ) + """ + + def testGetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner(self): + """Test GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerIndividualRoomsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner.py b/cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner.py new file mode 100644 index 0000000..56b85d0 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_available_room_types_response_data_inner_property_rooms_inner_room_rate_detailed_inner import GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner + +class TestGetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner(unittest.TestCase): + """GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner: + """Test GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner` + """ + model = GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner() + if include_optional: + return GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner( + var_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337 + ) + else: + return GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner( + ) + """ + + def testGetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner(self): + """Test GetAvailableRoomTypesResponseDataInnerPropertyRoomsInnerRoomRateDetailedInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_currency_settings_response.py b/cloudbeds_pms_v1_3/test/test_get_currency_settings_response.py new file mode 100644 index 0000000..7aeda5c --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_currency_settings_response.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_currency_settings_response import GetCurrencySettingsResponse + +class TestGetCurrencySettingsResponse(unittest.TestCase): + """GetCurrencySettingsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetCurrencySettingsResponse: + """Test GetCurrencySettingsResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetCurrencySettingsResponse` + """ + model = GetCurrencySettingsResponse() + if include_optional: + return GetCurrencySettingsResponse( + success = True, + data = cloudbeds_pms_v1_3.models.get_currency_settings_response_data.GetCurrencySettingsResponse_data( + default = '', + acceptable = [ + '' + ], + format = cloudbeds_pms_v1_3.models.get_currency_settings_response_data_format.GetCurrencySettingsResponse_data_format( + decimal = '', + thousand = '', ), + rates = cloudbeds_pms_v1_3.models.get_currency_settings_response_data_rates.GetCurrencySettingsResponse_data_rates( + fixed = [ + cloudbeds_pms_v1_3.models.get_currency_settings_response_data_rates_fixed_inner.GetCurrencySettingsResponse_data_rates_fixed_inner( + currency = '', + rate = 1.337, ) + ], ), ), + message = '' + ) + else: + return GetCurrencySettingsResponse( + ) + """ + + def testGetCurrencySettingsResponse(self): + """Test GetCurrencySettingsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_currency_settings_response_data.py b/cloudbeds_pms_v1_3/test/test_get_currency_settings_response_data.py new file mode 100644 index 0000000..da7acce --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_currency_settings_response_data.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data import GetCurrencySettingsResponseData + +class TestGetCurrencySettingsResponseData(unittest.TestCase): + """GetCurrencySettingsResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetCurrencySettingsResponseData: + """Test GetCurrencySettingsResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetCurrencySettingsResponseData` + """ + model = GetCurrencySettingsResponseData() + if include_optional: + return GetCurrencySettingsResponseData( + default = '', + acceptable = [ + '' + ], + format = cloudbeds_pms_v1_3.models.get_currency_settings_response_data_format.GetCurrencySettingsResponse_data_format( + decimal = '', + thousand = '', ), + rates = cloudbeds_pms_v1_3.models.get_currency_settings_response_data_rates.GetCurrencySettingsResponse_data_rates( + fixed = [ + cloudbeds_pms_v1_3.models.get_currency_settings_response_data_rates_fixed_inner.GetCurrencySettingsResponse_data_rates_fixed_inner( + currency = '', + rate = 1.337, ) + ], ) + ) + else: + return GetCurrencySettingsResponseData( + ) + """ + + def testGetCurrencySettingsResponseData(self): + """Test GetCurrencySettingsResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_currency_settings_response_data_format.py b/cloudbeds_pms_v1_3/test/test_get_currency_settings_response_data_format.py new file mode 100644 index 0000000..eb504b4 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_currency_settings_response_data_format.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data_format import GetCurrencySettingsResponseDataFormat + +class TestGetCurrencySettingsResponseDataFormat(unittest.TestCase): + """GetCurrencySettingsResponseDataFormat unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetCurrencySettingsResponseDataFormat: + """Test GetCurrencySettingsResponseDataFormat + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetCurrencySettingsResponseDataFormat` + """ + model = GetCurrencySettingsResponseDataFormat() + if include_optional: + return GetCurrencySettingsResponseDataFormat( + decimal = '', + thousand = '' + ) + else: + return GetCurrencySettingsResponseDataFormat( + ) + """ + + def testGetCurrencySettingsResponseDataFormat(self): + """Test GetCurrencySettingsResponseDataFormat""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_currency_settings_response_data_rates.py b/cloudbeds_pms_v1_3/test/test_get_currency_settings_response_data_rates.py new file mode 100644 index 0000000..0724a97 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_currency_settings_response_data_rates.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data_rates import GetCurrencySettingsResponseDataRates + +class TestGetCurrencySettingsResponseDataRates(unittest.TestCase): + """GetCurrencySettingsResponseDataRates unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetCurrencySettingsResponseDataRates: + """Test GetCurrencySettingsResponseDataRates + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetCurrencySettingsResponseDataRates` + """ + model = GetCurrencySettingsResponseDataRates() + if include_optional: + return GetCurrencySettingsResponseDataRates( + fixed = [ + cloudbeds_pms_v1_3.models.get_currency_settings_response_data_rates_fixed_inner.GetCurrencySettingsResponse_data_rates_fixed_inner( + currency = '', + rate = 1.337, ) + ] + ) + else: + return GetCurrencySettingsResponseDataRates( + ) + """ + + def testGetCurrencySettingsResponseDataRates(self): + """Test GetCurrencySettingsResponseDataRates""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_currency_settings_response_data_rates_fixed_inner.py b/cloudbeds_pms_v1_3/test/test_get_currency_settings_response_data_rates_fixed_inner.py new file mode 100644 index 0000000..37152db --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_currency_settings_response_data_rates_fixed_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_currency_settings_response_data_rates_fixed_inner import GetCurrencySettingsResponseDataRatesFixedInner + +class TestGetCurrencySettingsResponseDataRatesFixedInner(unittest.TestCase): + """GetCurrencySettingsResponseDataRatesFixedInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetCurrencySettingsResponseDataRatesFixedInner: + """Test GetCurrencySettingsResponseDataRatesFixedInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetCurrencySettingsResponseDataRatesFixedInner` + """ + model = GetCurrencySettingsResponseDataRatesFixedInner() + if include_optional: + return GetCurrencySettingsResponseDataRatesFixedInner( + currency = '', + rate = 1.337 + ) + else: + return GetCurrencySettingsResponseDataRatesFixedInner( + ) + """ + + def testGetCurrencySettingsResponseDataRatesFixedInner(self): + """Test GetCurrencySettingsResponseDataRatesFixedInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_custom_fields_response.py b/cloudbeds_pms_v1_3/test/test_get_custom_fields_response.py new file mode 100644 index 0000000..d85c89b --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_custom_fields_response.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_custom_fields_response import GetCustomFieldsResponse + +class TestGetCustomFieldsResponse(unittest.TestCase): + """GetCustomFieldsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetCustomFieldsResponse: + """Test GetCustomFieldsResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetCustomFieldsResponse` + """ + model = GetCustomFieldsResponse() + if include_optional: + return GetCustomFieldsResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_custom_fields_response_data_inner.GetCustomFieldsResponse_data_inner( + property_id = '', + name = '', + shortcode = '', + apply_to = 'reservation', + required = True, + is_personal = True, + max_characters = 56, + type = 'input', + displayed = [ + 'reservation' + ], ) + ], + message = '' + ) + else: + return GetCustomFieldsResponse( + ) + """ + + def testGetCustomFieldsResponse(self): + """Test GetCustomFieldsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_custom_fields_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_custom_fields_response_data_inner.py new file mode 100644 index 0000000..f053815 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_custom_fields_response_data_inner.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_custom_fields_response_data_inner import GetCustomFieldsResponseDataInner + +class TestGetCustomFieldsResponseDataInner(unittest.TestCase): + """GetCustomFieldsResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetCustomFieldsResponseDataInner: + """Test GetCustomFieldsResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetCustomFieldsResponseDataInner` + """ + model = GetCustomFieldsResponseDataInner() + if include_optional: + return GetCustomFieldsResponseDataInner( + property_id = '', + name = '', + shortcode = '', + apply_to = 'reservation', + required = True, + is_personal = True, + max_characters = 56, + type = 'input', + displayed = [ + 'reservation' + ] + ) + else: + return GetCustomFieldsResponseDataInner( + ) + """ + + def testGetCustomFieldsResponseDataInner(self): + """Test GetCustomFieldsResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_dashboard_response.py b/cloudbeds_pms_v1_3/test/test_get_dashboard_response.py new file mode 100644 index 0000000..a427508 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_dashboard_response.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_dashboard_response import GetDashboardResponse + +class TestGetDashboardResponse(unittest.TestCase): + """GetDashboardResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetDashboardResponse: + """Test GetDashboardResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetDashboardResponse` + """ + model = GetDashboardResponse() + if include_optional: + return GetDashboardResponse( + success = True, + data = cloudbeds_pms_v1_3.models.get_dashboard_response_data.GetDashboardResponse_data( + rooms_occupied = 56, + percentage_occupied = 56, + arrivals = 56, + departures = 56, + in_house = 56, ), + message = '' + ) + else: + return GetDashboardResponse( + ) + """ + + def testGetDashboardResponse(self): + """Test GetDashboardResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_dashboard_response_data.py b/cloudbeds_pms_v1_3/test/test_get_dashboard_response_data.py new file mode 100644 index 0000000..31b812c --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_dashboard_response_data.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_dashboard_response_data import GetDashboardResponseData + +class TestGetDashboardResponseData(unittest.TestCase): + """GetDashboardResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetDashboardResponseData: + """Test GetDashboardResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetDashboardResponseData` + """ + model = GetDashboardResponseData() + if include_optional: + return GetDashboardResponseData( + rooms_occupied = 56, + percentage_occupied = 56, + arrivals = 56, + departures = 56, + in_house = 56 + ) + else: + return GetDashboardResponseData( + ) + """ + + def testGetDashboardResponseData(self): + """Test GetDashboardResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_email_schedule_response.py b/cloudbeds_pms_v1_3/test/test_get_email_schedule_response.py new file mode 100644 index 0000000..b20ef35 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_email_schedule_response.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_email_schedule_response import GetEmailScheduleResponse + +class TestGetEmailScheduleResponse(unittest.TestCase): + """GetEmailScheduleResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetEmailScheduleResponse: + """Test GetEmailScheduleResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetEmailScheduleResponse` + """ + model = GetEmailScheduleResponse() + if include_optional: + return GetEmailScheduleResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_email_schedule_response_data_inner.GetEmailScheduleResponse_data_inner( + email_schedule_id = '', + name = '', + email_template_id = '', + template_name = '', + is_active = True, ) + ] + ) + else: + return GetEmailScheduleResponse( + ) + """ + + def testGetEmailScheduleResponse(self): + """Test GetEmailScheduleResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_email_schedule_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_email_schedule_response_data_inner.py new file mode 100644 index 0000000..29f5337 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_email_schedule_response_data_inner.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_email_schedule_response_data_inner import GetEmailScheduleResponseDataInner + +class TestGetEmailScheduleResponseDataInner(unittest.TestCase): + """GetEmailScheduleResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetEmailScheduleResponseDataInner: + """Test GetEmailScheduleResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetEmailScheduleResponseDataInner` + """ + model = GetEmailScheduleResponseDataInner() + if include_optional: + return GetEmailScheduleResponseDataInner( + email_schedule_id = '', + name = '', + email_template_id = '', + template_name = '', + is_active = True + ) + else: + return GetEmailScheduleResponseDataInner( + ) + """ + + def testGetEmailScheduleResponseDataInner(self): + """Test GetEmailScheduleResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_email_templates_response.py b/cloudbeds_pms_v1_3/test/test_get_email_templates_response.py new file mode 100644 index 0000000..94b4dcf --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_email_templates_response.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_email_templates_response import GetEmailTemplatesResponse + +class TestGetEmailTemplatesResponse(unittest.TestCase): + """GetEmailTemplatesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetEmailTemplatesResponse: + """Test GetEmailTemplatesResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetEmailTemplatesResponse` + """ + model = GetEmailTemplatesResponse() + if include_optional: + return GetEmailTemplatesResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_email_templates_response_data_inner.GetEmailTemplatesResponse_data_inner( + email_template_id = '', + name = '', + subject = '', + is_active = True, ) + ] + ) + else: + return GetEmailTemplatesResponse( + ) + """ + + def testGetEmailTemplatesResponse(self): + """Test GetEmailTemplatesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_email_templates_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_email_templates_response_data_inner.py new file mode 100644 index 0000000..c742285 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_email_templates_response_data_inner.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_email_templates_response_data_inner import GetEmailTemplatesResponseDataInner + +class TestGetEmailTemplatesResponseDataInner(unittest.TestCase): + """GetEmailTemplatesResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetEmailTemplatesResponseDataInner: + """Test GetEmailTemplatesResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetEmailTemplatesResponseDataInner` + """ + model = GetEmailTemplatesResponseDataInner() + if include_optional: + return GetEmailTemplatesResponseDataInner( + email_template_id = '', + name = '', + subject = '', + is_active = True + ) + else: + return GetEmailTemplatesResponseDataInner( + ) + """ + + def testGetEmailTemplatesResponseDataInner(self): + """Test GetEmailTemplatesResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_files_response.py b/cloudbeds_pms_v1_3/test/test_get_files_response.py new file mode 100644 index 0000000..e8825c9 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_files_response.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_files_response import GetFilesResponse + +class TestGetFilesResponse(unittest.TestCase): + """GetFilesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetFilesResponse: + """Test GetFilesResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetFilesResponse` + """ + model = GetFilesResponse() + if include_optional: + return GetFilesResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_files_response_data_inner.GetFilesResponse_data_inner( + file_id = '', + name = '', + type = '', + source = '', + date_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + url = '', ) + ], + count = 56, + total = 56, + message = '' + ) + else: + return GetFilesResponse( + ) + """ + + def testGetFilesResponse(self): + """Test GetFilesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_files_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_files_response_data_inner.py new file mode 100644 index 0000000..f7e9456 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_files_response_data_inner.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_files_response_data_inner import GetFilesResponseDataInner + +class TestGetFilesResponseDataInner(unittest.TestCase): + """GetFilesResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetFilesResponseDataInner: + """Test GetFilesResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetFilesResponseDataInner` + """ + model = GetFilesResponseDataInner() + if include_optional: + return GetFilesResponseDataInner( + file_id = '', + name = '', + type = '', + source = '', + date_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + url = '' + ) + else: + return GetFilesResponseDataInner( + ) + """ + + def testGetFilesResponseDataInner(self): + """Test GetFilesResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_group_notes_response.py b/cloudbeds_pms_v1_3/test/test_get_group_notes_response.py new file mode 100644 index 0000000..071b0d5 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_group_notes_response.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_group_notes_response import GetGroupNotesResponse + +class TestGetGroupNotesResponse(unittest.TestCase): + """GetGroupNotesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGroupNotesResponse: + """Test GetGroupNotesResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGroupNotesResponse` + """ + model = GetGroupNotesResponse() + if include_optional: + return GetGroupNotesResponse( + success = True, + code = 56, + data = cloudbeds_pms_v1_3.models.get_group_notes_response_data.GetGroupNotesResponse_data( + id = '', + group_profile_id = '', + text = '', + created_by = '', + created_at = '', + updated_at = '', + archived = True, + archived_at = '', ) + ) + else: + return GetGroupNotesResponse( + ) + """ + + def testGetGroupNotesResponse(self): + """Test GetGroupNotesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_group_notes_response_data.py b/cloudbeds_pms_v1_3/test/test_get_group_notes_response_data.py new file mode 100644 index 0000000..d3868b9 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_group_notes_response_data.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_group_notes_response_data import GetGroupNotesResponseData + +class TestGetGroupNotesResponseData(unittest.TestCase): + """GetGroupNotesResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGroupNotesResponseData: + """Test GetGroupNotesResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGroupNotesResponseData` + """ + model = GetGroupNotesResponseData() + if include_optional: + return GetGroupNotesResponseData( + id = '', + group_profile_id = '', + text = '', + created_by = '', + created_at = '', + updated_at = '', + archived = True, + archived_at = '' + ) + else: + return GetGroupNotesResponseData( + ) + """ + + def testGetGroupNotesResponseData(self): + """Test GetGroupNotesResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_groups_response.py b/cloudbeds_pms_v1_3/test/test_get_groups_response.py new file mode 100644 index 0000000..bb1fe9c --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_groups_response.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_groups_response import GetGroupsResponse + +class TestGetGroupsResponse(unittest.TestCase): + """GetGroupsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGroupsResponse: + """Test GetGroupsResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGroupsResponse` + """ + model = GetGroupsResponse() + if include_optional: + return GetGroupsResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_groups_response_data_inner.GetGroupsResponse_data_inner( + group_code = '', + name = '', + type = 'group', + status = 'open', + created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + source_id = '', + source_name = '', + address1 = '', + address2 = '', + city = '', + zip = '', + state = '', + country_code = '', + commission_type = 'fixed', + tax_document_type = '', + tax_id_number = '', + legal_name = '', + contacts = [ + cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner.GetGroupsResponse_data_inner_contacts_inner( + id = '', + group_profile_id = '', + primary = True, + anonymized = True, + first_name = '', + last_name = '', + role = '', + status = 'active', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + emails = [ + cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner_emails_inner.GetGroupsResponse_data_inner_contacts_inner_emails_inner( + type = 'personal', + value = '', ) + ], + phones = [ + cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner_phones_inner.GetGroupsResponse_data_inner_contacts_inner_phones_inner( + type = 'home', + value = '', ) + ], + is_billing_recipient = True, + tax_id_number = '', + tax_document_type = '', + legal_name = '', + address_1 = '', + address_2 = '', + city = '', + state = '', + country_code = '', + zip = '', ) + ], ) + ] + ) + else: + return GetGroupsResponse( + ) + """ + + def testGetGroupsResponse(self): + """Test GetGroupsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_groups_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_groups_response_data_inner.py new file mode 100644 index 0000000..d687b62 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_groups_response_data_inner.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner import GetGroupsResponseDataInner + +class TestGetGroupsResponseDataInner(unittest.TestCase): + """GetGroupsResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGroupsResponseDataInner: + """Test GetGroupsResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGroupsResponseDataInner` + """ + model = GetGroupsResponseDataInner() + if include_optional: + return GetGroupsResponseDataInner( + group_code = '', + name = '', + type = 'group', + status = 'open', + created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + source_id = '', + source_name = '', + address1 = '', + address2 = '', + city = '', + zip = '', + state = '', + country_code = '', + commission_type = 'fixed', + tax_document_type = '', + tax_id_number = '', + legal_name = '', + contacts = [ + cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner.GetGroupsResponse_data_inner_contacts_inner( + id = '', + group_profile_id = '', + primary = True, + anonymized = True, + first_name = '', + last_name = '', + role = '', + status = 'active', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + emails = [ + cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner_emails_inner.GetGroupsResponse_data_inner_contacts_inner_emails_inner( + type = 'personal', + value = '', ) + ], + phones = [ + cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner_phones_inner.GetGroupsResponse_data_inner_contacts_inner_phones_inner( + type = 'home', + value = '', ) + ], + is_billing_recipient = True, + tax_id_number = '', + tax_document_type = '', + legal_name = '', + address_1 = '', + address_2 = '', + city = '', + state = '', + country_code = '', + zip = '', ) + ] + ) + else: + return GetGroupsResponseDataInner( + ) + """ + + def testGetGroupsResponseDataInner(self): + """Test GetGroupsResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_groups_response_data_inner_contacts_inner.py b/cloudbeds_pms_v1_3/test/test_get_groups_response_data_inner_contacts_inner.py new file mode 100644 index 0000000..b023291 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_groups_response_data_inner_contacts_inner.py @@ -0,0 +1,80 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner import GetGroupsResponseDataInnerContactsInner + +class TestGetGroupsResponseDataInnerContactsInner(unittest.TestCase): + """GetGroupsResponseDataInnerContactsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGroupsResponseDataInnerContactsInner: + """Test GetGroupsResponseDataInnerContactsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGroupsResponseDataInnerContactsInner` + """ + model = GetGroupsResponseDataInnerContactsInner() + if include_optional: + return GetGroupsResponseDataInnerContactsInner( + id = '', + group_profile_id = '', + primary = True, + anonymized = True, + first_name = '', + last_name = '', + role = '', + status = 'active', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + emails = [ + cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner_emails_inner.GetGroupsResponse_data_inner_contacts_inner_emails_inner( + type = 'personal', + value = '', ) + ], + phones = [ + cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner_phones_inner.GetGroupsResponse_data_inner_contacts_inner_phones_inner( + type = 'home', + value = '', ) + ], + is_billing_recipient = True, + tax_id_number = '', + tax_document_type = '', + legal_name = '', + address_1 = '', + address_2 = '', + city = '', + state = '', + country_code = '', + zip = '' + ) + else: + return GetGroupsResponseDataInnerContactsInner( + ) + """ + + def testGetGroupsResponseDataInnerContactsInner(self): + """Test GetGroupsResponseDataInnerContactsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_groups_response_data_inner_contacts_inner_emails_inner.py b/cloudbeds_pms_v1_3/test/test_get_groups_response_data_inner_contacts_inner_emails_inner.py new file mode 100644 index 0000000..5fbd624 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_groups_response_data_inner_contacts_inner_emails_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner_emails_inner import GetGroupsResponseDataInnerContactsInnerEmailsInner + +class TestGetGroupsResponseDataInnerContactsInnerEmailsInner(unittest.TestCase): + """GetGroupsResponseDataInnerContactsInnerEmailsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGroupsResponseDataInnerContactsInnerEmailsInner: + """Test GetGroupsResponseDataInnerContactsInnerEmailsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGroupsResponseDataInnerContactsInnerEmailsInner` + """ + model = GetGroupsResponseDataInnerContactsInnerEmailsInner() + if include_optional: + return GetGroupsResponseDataInnerContactsInnerEmailsInner( + type = 'personal', + value = '' + ) + else: + return GetGroupsResponseDataInnerContactsInnerEmailsInner( + ) + """ + + def testGetGroupsResponseDataInnerContactsInnerEmailsInner(self): + """Test GetGroupsResponseDataInnerContactsInnerEmailsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_groups_response_data_inner_contacts_inner_phones_inner.py b/cloudbeds_pms_v1_3/test/test_get_groups_response_data_inner_contacts_inner_phones_inner.py new file mode 100644 index 0000000..3b2235f --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_groups_response_data_inner_contacts_inner_phones_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_groups_response_data_inner_contacts_inner_phones_inner import GetGroupsResponseDataInnerContactsInnerPhonesInner + +class TestGetGroupsResponseDataInnerContactsInnerPhonesInner(unittest.TestCase): + """GetGroupsResponseDataInnerContactsInnerPhonesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGroupsResponseDataInnerContactsInnerPhonesInner: + """Test GetGroupsResponseDataInnerContactsInnerPhonesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGroupsResponseDataInnerContactsInnerPhonesInner` + """ + model = GetGroupsResponseDataInnerContactsInnerPhonesInner() + if include_optional: + return GetGroupsResponseDataInnerContactsInnerPhonesInner( + type = 'home', + value = '' + ) + else: + return GetGroupsResponseDataInnerContactsInnerPhonesInner( + ) + """ + + def testGetGroupsResponseDataInnerContactsInnerPhonesInner(self): + """Test GetGroupsResponseDataInnerContactsInnerPhonesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guest_list_response.py b/cloudbeds_pms_v1_3/test/test_get_guest_list_response.py new file mode 100644 index 0000000..7487076 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guest_list_response.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guest_list_response import GetGuestListResponse + +class TestGetGuestListResponse(unittest.TestCase): + """GetGuestListResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestListResponse: + """Test GetGuestListResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestListResponse` + """ + model = GetGuestListResponse() + if include_optional: + return GetGuestListResponse( + success = True, + data = { + 'key' : cloudbeds_pms_v1_3.models.get_guest_list_response_data_value.GetGuestListResponse_data_value( + reservation_id = '', + guest_name = '', + guest_email = '', + guest_id = '', + date_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_modified = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + is_main_guest = True, + is_anonymized = True, + guest_first_name = '', + guest_last_name = '', + guest_gender = 'M', + guest_phone = '', + guest_cell_phone = '', + guest_address1 = '', + guest_address2 = '', + guest_city = '', + guest_state = '', + guest_country = '', + guest_zip = '', + guest_birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + guest_document_type = '', + guest_document_number = '', + guest_document_issue_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + guest_document_issuing_country = '', + guest_document_expiration_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + tax_id = '', + company_tax_id = '', + company_name = '', + guest_opt_in = True, + guest_requirements = cloudbeds_pms_v1_3.models.guest_requirements.guestRequirements(), + guest_notes = [ + cloudbeds_pms_v1_3.models.get_guest_list_response_data_value_guest_notes_inner.GetGuestListResponse_data_value_guestNotes_inner( + id = '', + note = '', ) + ], + status = 'in_progress', + is_merged = True, + new_guest_id = '', ) + }, + count = 56, + total = 56, + message = '' + ) + else: + return GetGuestListResponse( + ) + """ + + def testGetGuestListResponse(self): + """Test GetGuestListResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guest_list_response_data_value.py b/cloudbeds_pms_v1_3/test/test_get_guest_list_response_data_value.py new file mode 100644 index 0000000..ae6a7cb --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guest_list_response_data_value.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guest_list_response_data_value import GetGuestListResponseDataValue + +class TestGetGuestListResponseDataValue(unittest.TestCase): + """GetGuestListResponseDataValue unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestListResponseDataValue: + """Test GetGuestListResponseDataValue + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestListResponseDataValue` + """ + model = GetGuestListResponseDataValue() + if include_optional: + return GetGuestListResponseDataValue( + reservation_id = '', + guest_name = '', + guest_email = '', + guest_id = '', + date_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_modified = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + is_main_guest = True, + is_anonymized = True, + guest_first_name = '', + guest_last_name = '', + guest_gender = 'M', + guest_phone = '', + guest_cell_phone = '', + guest_address1 = '', + guest_address2 = '', + guest_city = '', + guest_state = '', + guest_country = '', + guest_zip = '', + guest_birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + guest_document_type = '', + guest_document_number = '', + guest_document_issue_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + guest_document_issuing_country = '', + guest_document_expiration_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + tax_id = '', + company_tax_id = '', + company_name = '', + guest_opt_in = True, + guest_requirements = cloudbeds_pms_v1_3.models.guest_requirements.guestRequirements(), + guest_notes = [ + cloudbeds_pms_v1_3.models.get_guest_list_response_data_value_guest_notes_inner.GetGuestListResponse_data_value_guestNotes_inner( + id = '', + note = '', ) + ], + status = 'in_progress', + is_merged = True, + new_guest_id = '' + ) + else: + return GetGuestListResponseDataValue( + ) + """ + + def testGetGuestListResponseDataValue(self): + """Test GetGuestListResponseDataValue""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guest_list_response_data_value_guest_notes_inner.py b/cloudbeds_pms_v1_3/test/test_get_guest_list_response_data_value_guest_notes_inner.py new file mode 100644 index 0000000..f3940d3 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guest_list_response_data_value_guest_notes_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guest_list_response_data_value_guest_notes_inner import GetGuestListResponseDataValueGuestNotesInner + +class TestGetGuestListResponseDataValueGuestNotesInner(unittest.TestCase): + """GetGuestListResponseDataValueGuestNotesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestListResponseDataValueGuestNotesInner: + """Test GetGuestListResponseDataValueGuestNotesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestListResponseDataValueGuestNotesInner` + """ + model = GetGuestListResponseDataValueGuestNotesInner() + if include_optional: + return GetGuestListResponseDataValueGuestNotesInner( + id = '', + note = '' + ) + else: + return GetGuestListResponseDataValueGuestNotesInner( + ) + """ + + def testGetGuestListResponseDataValueGuestNotesInner(self): + """Test GetGuestListResponseDataValueGuestNotesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guest_notes_response.py b/cloudbeds_pms_v1_3/test/test_get_guest_notes_response.py new file mode 100644 index 0000000..60715eb --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guest_notes_response.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guest_notes_response import GetGuestNotesResponse + +class TestGetGuestNotesResponse(unittest.TestCase): + """GetGuestNotesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestNotesResponse: + """Test GetGuestNotesResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestNotesResponse` + """ + model = GetGuestNotesResponse() + if include_optional: + return GetGuestNotesResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_guest_notes_response_data_inner.GetGuestNotesResponse_data_inner( + guest_note_id = '', + user_name = '', + date_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_modified = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + guest_note = '', ) + ], + message = '' + ) + else: + return GetGuestNotesResponse( + ) + """ + + def testGetGuestNotesResponse(self): + """Test GetGuestNotesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guest_notes_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_guest_notes_response_data_inner.py new file mode 100644 index 0000000..a60bf2d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guest_notes_response_data_inner.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guest_notes_response_data_inner import GetGuestNotesResponseDataInner + +class TestGetGuestNotesResponseDataInner(unittest.TestCase): + """GetGuestNotesResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestNotesResponseDataInner: + """Test GetGuestNotesResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestNotesResponseDataInner` + """ + model = GetGuestNotesResponseDataInner() + if include_optional: + return GetGuestNotesResponseDataInner( + guest_note_id = '', + user_name = '', + date_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_modified = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + guest_note = '' + ) + else: + return GetGuestNotesResponseDataInner( + ) + """ + + def testGetGuestNotesResponseDataInner(self): + """Test GetGuestNotesResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guest_response.py b/cloudbeds_pms_v1_3/test/test_get_guest_response.py new file mode 100644 index 0000000..9c89af4 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guest_response.py @@ -0,0 +1,84 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guest_response import GetGuestResponse + +class TestGetGuestResponse(unittest.TestCase): + """GetGuestResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestResponse: + """Test GetGuestResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestResponse` + """ + model = GetGuestResponse() + if include_optional: + return GetGuestResponse( + success = True, + data = cloudbeds_pms_v1_3.models.get_guest_response_data.GetGuestResponse_data( + first_name = '', + last_name = '', + gender = 'M', + email = '', + phone = '', + cell_phone = '', + country = '', + address = '', + address2 = '', + city = '', + zip = '', + state = '', + birth_date = null, + document_type = '', + document_number = '', + document_issue_date = null, + document_issuing_country = '', + document_expiration_date = null, + custom_fields = [ + cloudbeds_pms_v1_3.models.get_guest_response_data_custom_fields_inner.GetGuestResponse_data_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + guest_requirements = cloudbeds_pms_v1_3.models.guest_requirements.guestRequirements(), + special_requests = '', + tax_id = '', + company_tax_id = '', + company_name = '', + is_anonymized = True, + guest_opt_in = True, + is_merged = True, + new_guest_id = '', ) + ) + else: + return GetGuestResponse( + ) + """ + + def testGetGuestResponse(self): + """Test GetGuestResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guest_response_data.py b/cloudbeds_pms_v1_3/test/test_get_guest_response_data.py new file mode 100644 index 0000000..bd67ee2 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guest_response_data.py @@ -0,0 +1,82 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guest_response_data import GetGuestResponseData + +class TestGetGuestResponseData(unittest.TestCase): + """GetGuestResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestResponseData: + """Test GetGuestResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestResponseData` + """ + model = GetGuestResponseData() + if include_optional: + return GetGuestResponseData( + first_name = '', + last_name = '', + gender = 'M', + email = '', + phone = '', + cell_phone = '', + country = '', + address = '', + address2 = '', + city = '', + zip = '', + state = '', + birth_date = None, + document_type = '', + document_number = '', + document_issue_date = None, + document_issuing_country = '', + document_expiration_date = None, + custom_fields = [ + cloudbeds_pms_v1_3.models.get_guest_response_data_custom_fields_inner.GetGuestResponse_data_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + guest_requirements = cloudbeds_pms_v1_3.models.guest_requirements.guestRequirements(), + special_requests = '', + tax_id = '', + company_tax_id = '', + company_name = '', + is_anonymized = True, + guest_opt_in = True, + is_merged = True, + new_guest_id = '' + ) + else: + return GetGuestResponseData( + ) + """ + + def testGetGuestResponseData(self): + """Test GetGuestResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guest_response_data_birth_date.py b/cloudbeds_pms_v1_3/test/test_get_guest_response_data_birth_date.py new file mode 100644 index 0000000..8bc66ce --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guest_response_data_birth_date.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guest_response_data_birth_date import GetGuestResponseDataBirthDate + +class TestGetGuestResponseDataBirthDate(unittest.TestCase): + """GetGuestResponseDataBirthDate unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestResponseDataBirthDate: + """Test GetGuestResponseDataBirthDate + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestResponseDataBirthDate` + """ + model = GetGuestResponseDataBirthDate() + if include_optional: + return GetGuestResponseDataBirthDate( + ) + else: + return GetGuestResponseDataBirthDate( + ) + """ + + def testGetGuestResponseDataBirthDate(self): + """Test GetGuestResponseDataBirthDate""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guest_response_data_custom_fields_inner.py b/cloudbeds_pms_v1_3/test/test_get_guest_response_data_custom_fields_inner.py new file mode 100644 index 0000000..a6ef372 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guest_response_data_custom_fields_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guest_response_data_custom_fields_inner import GetGuestResponseDataCustomFieldsInner + +class TestGetGuestResponseDataCustomFieldsInner(unittest.TestCase): + """GetGuestResponseDataCustomFieldsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestResponseDataCustomFieldsInner: + """Test GetGuestResponseDataCustomFieldsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestResponseDataCustomFieldsInner` + """ + model = GetGuestResponseDataCustomFieldsInner() + if include_optional: + return GetGuestResponseDataCustomFieldsInner( + custom_field_name = '', + custom_field_value = '' + ) + else: + return GetGuestResponseDataCustomFieldsInner( + ) + """ + + def testGetGuestResponseDataCustomFieldsInner(self): + """Test GetGuestResponseDataCustomFieldsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guest_response_data_document_expiration_date.py b/cloudbeds_pms_v1_3/test/test_get_guest_response_data_document_expiration_date.py new file mode 100644 index 0000000..37d0bd6 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guest_response_data_document_expiration_date.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guest_response_data_document_expiration_date import GetGuestResponseDataDocumentExpirationDate + +class TestGetGuestResponseDataDocumentExpirationDate(unittest.TestCase): + """GetGuestResponseDataDocumentExpirationDate unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestResponseDataDocumentExpirationDate: + """Test GetGuestResponseDataDocumentExpirationDate + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestResponseDataDocumentExpirationDate` + """ + model = GetGuestResponseDataDocumentExpirationDate() + if include_optional: + return GetGuestResponseDataDocumentExpirationDate( + ) + else: + return GetGuestResponseDataDocumentExpirationDate( + ) + """ + + def testGetGuestResponseDataDocumentExpirationDate(self): + """Test GetGuestResponseDataDocumentExpirationDate""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guest_response_data_document_issue_date.py b/cloudbeds_pms_v1_3/test/test_get_guest_response_data_document_issue_date.py new file mode 100644 index 0000000..0ef6820 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guest_response_data_document_issue_date.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guest_response_data_document_issue_date import GetGuestResponseDataDocumentIssueDate + +class TestGetGuestResponseDataDocumentIssueDate(unittest.TestCase): + """GetGuestResponseDataDocumentIssueDate unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestResponseDataDocumentIssueDate: + """Test GetGuestResponseDataDocumentIssueDate + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestResponseDataDocumentIssueDate` + """ + model = GetGuestResponseDataDocumentIssueDate() + if include_optional: + return GetGuestResponseDataDocumentIssueDate( + ) + else: + return GetGuestResponseDataDocumentIssueDate( + ) + """ + + def testGetGuestResponseDataDocumentIssueDate(self): + """Test GetGuestResponseDataDocumentIssueDate""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guests_by_filter_response.py b/cloudbeds_pms_v1_3/test/test_get_guests_by_filter_response.py new file mode 100644 index 0000000..f81f21b --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guests_by_filter_response.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guests_by_filter_response import GetGuestsByFilterResponse + +class TestGetGuestsByFilterResponse(unittest.TestCase): + """GetGuestsByFilterResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestsByFilterResponse: + """Test GetGuestsByFilterResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestsByFilterResponse` + """ + model = GetGuestsByFilterResponse() + if include_optional: + return GetGuestsByFilterResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_guests_by_filter_response_data_inner.GetGuestsByFilterResponse_data_inner( + reservation_id = '', + guest_name = '', + guest_id = '', + room_id = '', + room_name = '', + is_main_guest = True, + is_anonymized = True, + guest_opt_in = True, + is_merged = True, + new_guest_id = '', ) + ], + count = 56, + total = 56, + message = '' + ) + else: + return GetGuestsByFilterResponse( + ) + """ + + def testGetGuestsByFilterResponse(self): + """Test GetGuestsByFilterResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guests_by_filter_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_guests_by_filter_response_data_inner.py new file mode 100644 index 0000000..fd128ca --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guests_by_filter_response_data_inner.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guests_by_filter_response_data_inner import GetGuestsByFilterResponseDataInner + +class TestGetGuestsByFilterResponseDataInner(unittest.TestCase): + """GetGuestsByFilterResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestsByFilterResponseDataInner: + """Test GetGuestsByFilterResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestsByFilterResponseDataInner` + """ + model = GetGuestsByFilterResponseDataInner() + if include_optional: + return GetGuestsByFilterResponseDataInner( + reservation_id = '', + guest_name = '', + guest_id = '', + room_id = '', + room_name = '', + is_main_guest = True, + is_anonymized = True, + guest_opt_in = True, + is_merged = True, + new_guest_id = '' + ) + else: + return GetGuestsByFilterResponseDataInner( + ) + """ + + def testGetGuestsByFilterResponseDataInner(self): + """Test GetGuestsByFilterResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guests_by_status_response.py b/cloudbeds_pms_v1_3/test/test_get_guests_by_status_response.py new file mode 100644 index 0000000..9a7ceac --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guests_by_status_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guests_by_status_response import GetGuestsByStatusResponse + +class TestGetGuestsByStatusResponse(unittest.TestCase): + """GetGuestsByStatusResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestsByStatusResponse: + """Test GetGuestsByStatusResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestsByStatusResponse` + """ + model = GetGuestsByStatusResponse() + if include_optional: + return GetGuestsByStatusResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_guests_by_status_response_data_inner.GetGuestsByStatusResponse_data_inner( + guest_id = '', + reservation_id = '', + sub_reservation_id = '', + reservation_created_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + room_type_id = '', + room_id = '', + room_name = '', + guest_first_name = '', + guest_last_name = '', + guest_gender = 'M', + guest_email = '', + guest_phone = '', + guest_cell_phone = '', + guest_address1 = '', + guest_address2 = '', + guest_city = '', + guest_state = '', + guest_country = '', + guest_zip = '', + guest_birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + guest_document_type = '', + guest_document_number = '', + guest_document_issue_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + guest_document_issuing_country = '', + guest_document_expiration_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + start_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + end_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + custom_fields = [ + cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner.GetGuestsModifiedResponse_data_inner_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + date_modified = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + current_status = 'canceled', + status_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + tax_id = '', + company_tax_id = '', + company_name = '', + is_anonymized = True, + is_deleted = True, + guest_opt_in = True, + is_merged = True, + new_guest_id = '', ) + ], + count = 56, + total = 56, + message = '' + ) + else: + return GetGuestsByStatusResponse( + ) + """ + + def testGetGuestsByStatusResponse(self): + """Test GetGuestsByStatusResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guests_by_status_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_guests_by_status_response_data_inner.py new file mode 100644 index 0000000..595458d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guests_by_status_response_data_inner.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guests_by_status_response_data_inner import GetGuestsByStatusResponseDataInner + +class TestGetGuestsByStatusResponseDataInner(unittest.TestCase): + """GetGuestsByStatusResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestsByStatusResponseDataInner: + """Test GetGuestsByStatusResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestsByStatusResponseDataInner` + """ + model = GetGuestsByStatusResponseDataInner() + if include_optional: + return GetGuestsByStatusResponseDataInner( + guest_id = '', + reservation_id = '', + sub_reservation_id = '', + reservation_created_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + room_type_id = '', + room_id = '', + room_name = '', + guest_first_name = '', + guest_last_name = '', + guest_gender = 'M', + guest_email = '', + guest_phone = '', + guest_cell_phone = '', + guest_address1 = '', + guest_address2 = '', + guest_city = '', + guest_state = '', + guest_country = '', + guest_zip = '', + guest_birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + guest_document_type = '', + guest_document_number = '', + guest_document_issue_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + guest_document_issuing_country = '', + guest_document_expiration_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + start_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + end_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + custom_fields = [ + cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner.GetGuestsModifiedResponse_data_inner_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + date_modified = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + current_status = 'canceled', + status_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + tax_id = '', + company_tax_id = '', + company_name = '', + is_anonymized = True, + is_deleted = True, + guest_opt_in = True, + is_merged = True, + new_guest_id = '' + ) + else: + return GetGuestsByStatusResponseDataInner( + ) + """ + + def testGetGuestsByStatusResponseDataInner(self): + """Test GetGuestsByStatusResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guests_modified_response.py b/cloudbeds_pms_v1_3/test/test_get_guests_modified_response.py new file mode 100644 index 0000000..b50b034 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guests_modified_response.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guests_modified_response import GetGuestsModifiedResponse + +class TestGetGuestsModifiedResponse(unittest.TestCase): + """GetGuestsModifiedResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestsModifiedResponse: + """Test GetGuestsModifiedResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestsModifiedResponse` + """ + model = GetGuestsModifiedResponse() + if include_optional: + return GetGuestsModifiedResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner.GetGuestsModifiedResponse_data_inner( + guest_id = '', + reservation_id = '', + room_type_id = '', + room_id = '', + room_name = '', + guest_first_name = '', + guest_last_name = '', + guest_gender = 'M', + guest_email = '', + guest_phone = '', + guest_cell_phone = '', + guest_address1 = '', + guest_address2 = '', + guest_city = '', + guest_state = '', + guest_country = '', + guest_zip = '', + guest_birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + guest_document_type = '', + guest_document_number = '', + guest_document_issue_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + guest_document_issuing_country = '', + guest_document_expiration_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + start_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + end_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + guest_requirements = cloudbeds_pms_v1_3.models.guest_requirements.guestRequirements(), + custom_fields = [ + cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner.GetGuestsModifiedResponse_data_inner_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + date_modified = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + tax_id = '', + company_tax_id = '', + company_name = '', + is_anonymized = True, + guest_opt_in = True, + is_merged = True, + new_guest_id = '', ) + ], + count = 56, + total = 56, + message = '' + ) + else: + return GetGuestsModifiedResponse( + ) + """ + + def testGetGuestsModifiedResponse(self): + """Test GetGuestsModifiedResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guests_modified_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_guests_modified_response_data_inner.py new file mode 100644 index 0000000..4963096 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guests_modified_response_data_inner.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner import GetGuestsModifiedResponseDataInner + +class TestGetGuestsModifiedResponseDataInner(unittest.TestCase): + """GetGuestsModifiedResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestsModifiedResponseDataInner: + """Test GetGuestsModifiedResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestsModifiedResponseDataInner` + """ + model = GetGuestsModifiedResponseDataInner() + if include_optional: + return GetGuestsModifiedResponseDataInner( + guest_id = '', + reservation_id = '', + room_type_id = '', + room_id = '', + room_name = '', + guest_first_name = '', + guest_last_name = '', + guest_gender = 'M', + guest_email = '', + guest_phone = '', + guest_cell_phone = '', + guest_address1 = '', + guest_address2 = '', + guest_city = '', + guest_state = '', + guest_country = '', + guest_zip = '', + guest_birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + guest_document_type = '', + guest_document_number = '', + guest_document_issue_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + guest_document_issuing_country = '', + guest_document_expiration_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + start_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + end_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + guest_requirements = cloudbeds_pms_v1_3.models.guest_requirements.guestRequirements(), + custom_fields = [ + cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner.GetGuestsModifiedResponse_data_inner_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + date_modified = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + tax_id = '', + company_tax_id = '', + company_name = '', + is_anonymized = True, + guest_opt_in = True, + is_merged = True, + new_guest_id = '' + ) + else: + return GetGuestsModifiedResponseDataInner( + ) + """ + + def testGetGuestsModifiedResponseDataInner(self): + """Test GetGuestsModifiedResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_guests_modified_response_data_inner_custom_fields_inner.py b/cloudbeds_pms_v1_3/test/test_get_guests_modified_response_data_inner_custom_fields_inner.py new file mode 100644 index 0000000..8e885ed --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_guests_modified_response_data_inner_custom_fields_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner import GetGuestsModifiedResponseDataInnerCustomFieldsInner + +class TestGetGuestsModifiedResponseDataInnerCustomFieldsInner(unittest.TestCase): + """GetGuestsModifiedResponseDataInnerCustomFieldsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGuestsModifiedResponseDataInnerCustomFieldsInner: + """Test GetGuestsModifiedResponseDataInnerCustomFieldsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGuestsModifiedResponseDataInnerCustomFieldsInner` + """ + model = GetGuestsModifiedResponseDataInnerCustomFieldsInner() + if include_optional: + return GetGuestsModifiedResponseDataInnerCustomFieldsInner( + custom_field_name = '', + custom_field_value = '' + ) + else: + return GetGuestsModifiedResponseDataInnerCustomFieldsInner( + ) + """ + + def testGetGuestsModifiedResponseDataInnerCustomFieldsInner(self): + """Test GetGuestsModifiedResponseDataInnerCustomFieldsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_hotel_details_response.py b/cloudbeds_pms_v1_3/test/test_get_hotel_details_response.py new file mode 100644 index 0000000..2cbb994 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_hotel_details_response.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_hotel_details_response import GetHotelDetailsResponse + +class TestGetHotelDetailsResponse(unittest.TestCase): + """GetHotelDetailsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetHotelDetailsResponse: + """Test GetHotelDetailsResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetHotelDetailsResponse` + """ + model = GetHotelDetailsResponse() + if include_optional: + return GetHotelDetailsResponse( + success = True, + data = cloudbeds_pms_v1_3.models.get_hotel_details_response_data.GetHotelDetailsResponse_data( + property_id = '', + organization_id = '', + property_name = '', + property_type = '', + property_image = [ + cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_image_inner.GetHotelDetailsResponse_data_propertyImage_inner( + thumb = '', + image = '', ) + ], + property_description = '', + property_currency = cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_currency.GetHotelDetailsResponse_data_propertyCurrency( + currency_code = '', + currency_symbol = '', + currency_position = 'before', + currency_decimal_separator = '', + currency_thousands_separator = '', ), + property_primary_language = '', + property_additional_photos = [ + cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_image_inner.GetHotelDetailsResponse_data_propertyImage_inner( + thumb = '', + image = '', ) + ], + property_phone = '', + property_email = '', + property_address = cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_address.GetHotelDetailsResponse_data_propertyAddress( + property_address1 = '', + property_address2 = '', + property_city = '', + property_state = '', + property_zip = '', + property_country = '', + property_latitude = '', + property_longitude = '', ), + property_policy = cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_policy.GetHotelDetailsResponse_data_propertyPolicy( + property_check_in_time = '', + property_check_out_time = '', + property_late_check_out_allowed = True, + property_late_check_out_type = 'value', + property_late_check_out_value = '', + property_terms_and_conditions = '', + property_full_payment_before_checkin = True, ), + property_amenities = [ + '' + ], + tax_id = '', + tax_id2 = '', + company_legal_name = '', ) + ) + else: + return GetHotelDetailsResponse( + ) + """ + + def testGetHotelDetailsResponse(self): + """Test GetHotelDetailsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data.py b/cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data.py new file mode 100644 index 0000000..a85ebef --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data import GetHotelDetailsResponseData + +class TestGetHotelDetailsResponseData(unittest.TestCase): + """GetHotelDetailsResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetHotelDetailsResponseData: + """Test GetHotelDetailsResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetHotelDetailsResponseData` + """ + model = GetHotelDetailsResponseData() + if include_optional: + return GetHotelDetailsResponseData( + property_id = '', + organization_id = '', + property_name = '', + property_type = '', + property_image = [ + cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_image_inner.GetHotelDetailsResponse_data_propertyImage_inner( + thumb = '', + image = '', ) + ], + property_description = '', + property_currency = cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_currency.GetHotelDetailsResponse_data_propertyCurrency( + currency_code = '', + currency_symbol = '', + currency_position = 'before', + currency_decimal_separator = '', + currency_thousands_separator = '', ), + property_primary_language = '', + property_additional_photos = [ + cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_image_inner.GetHotelDetailsResponse_data_propertyImage_inner( + thumb = '', + image = '', ) + ], + property_phone = '', + property_email = '', + property_address = cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_address.GetHotelDetailsResponse_data_propertyAddress( + property_address1 = '', + property_address2 = '', + property_city = '', + property_state = '', + property_zip = '', + property_country = '', + property_latitude = '', + property_longitude = '', ), + property_policy = cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_policy.GetHotelDetailsResponse_data_propertyPolicy( + property_check_in_time = '', + property_check_out_time = '', + property_late_check_out_allowed = True, + property_late_check_out_type = 'value', + property_late_check_out_value = '', + property_terms_and_conditions = '', + property_full_payment_before_checkin = True, ), + property_amenities = [ + '' + ], + tax_id = '', + tax_id2 = '', + company_legal_name = '' + ) + else: + return GetHotelDetailsResponseData( + ) + """ + + def testGetHotelDetailsResponseData(self): + """Test GetHotelDetailsResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data_property_address.py b/cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data_property_address.py new file mode 100644 index 0000000..406be6c --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data_property_address.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_address import GetHotelDetailsResponseDataPropertyAddress + +class TestGetHotelDetailsResponseDataPropertyAddress(unittest.TestCase): + """GetHotelDetailsResponseDataPropertyAddress unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetHotelDetailsResponseDataPropertyAddress: + """Test GetHotelDetailsResponseDataPropertyAddress + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetHotelDetailsResponseDataPropertyAddress` + """ + model = GetHotelDetailsResponseDataPropertyAddress() + if include_optional: + return GetHotelDetailsResponseDataPropertyAddress( + property_address1 = '', + property_address2 = '', + property_city = '', + property_state = '', + property_zip = '', + property_country = '', + property_latitude = '', + property_longitude = '' + ) + else: + return GetHotelDetailsResponseDataPropertyAddress( + ) + """ + + def testGetHotelDetailsResponseDataPropertyAddress(self): + """Test GetHotelDetailsResponseDataPropertyAddress""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data_property_currency.py b/cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data_property_currency.py new file mode 100644 index 0000000..c5de06f --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data_property_currency.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_currency import GetHotelDetailsResponseDataPropertyCurrency + +class TestGetHotelDetailsResponseDataPropertyCurrency(unittest.TestCase): + """GetHotelDetailsResponseDataPropertyCurrency unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetHotelDetailsResponseDataPropertyCurrency: + """Test GetHotelDetailsResponseDataPropertyCurrency + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetHotelDetailsResponseDataPropertyCurrency` + """ + model = GetHotelDetailsResponseDataPropertyCurrency() + if include_optional: + return GetHotelDetailsResponseDataPropertyCurrency( + currency_code = '', + currency_symbol = '', + currency_position = 'before', + currency_decimal_separator = '', + currency_thousands_separator = '' + ) + else: + return GetHotelDetailsResponseDataPropertyCurrency( + ) + """ + + def testGetHotelDetailsResponseDataPropertyCurrency(self): + """Test GetHotelDetailsResponseDataPropertyCurrency""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data_property_image_inner.py b/cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data_property_image_inner.py new file mode 100644 index 0000000..883cb72 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data_property_image_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_image_inner import GetHotelDetailsResponseDataPropertyImageInner + +class TestGetHotelDetailsResponseDataPropertyImageInner(unittest.TestCase): + """GetHotelDetailsResponseDataPropertyImageInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetHotelDetailsResponseDataPropertyImageInner: + """Test GetHotelDetailsResponseDataPropertyImageInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetHotelDetailsResponseDataPropertyImageInner` + """ + model = GetHotelDetailsResponseDataPropertyImageInner() + if include_optional: + return GetHotelDetailsResponseDataPropertyImageInner( + thumb = '', + image = '' + ) + else: + return GetHotelDetailsResponseDataPropertyImageInner( + ) + """ + + def testGetHotelDetailsResponseDataPropertyImageInner(self): + """Test GetHotelDetailsResponseDataPropertyImageInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data_property_policy.py b/cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data_property_policy.py new file mode 100644 index 0000000..4f41735 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_hotel_details_response_data_property_policy.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_hotel_details_response_data_property_policy import GetHotelDetailsResponseDataPropertyPolicy + +class TestGetHotelDetailsResponseDataPropertyPolicy(unittest.TestCase): + """GetHotelDetailsResponseDataPropertyPolicy unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetHotelDetailsResponseDataPropertyPolicy: + """Test GetHotelDetailsResponseDataPropertyPolicy + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetHotelDetailsResponseDataPropertyPolicy` + """ + model = GetHotelDetailsResponseDataPropertyPolicy() + if include_optional: + return GetHotelDetailsResponseDataPropertyPolicy( + property_check_in_time = '', + property_check_out_time = '', + property_late_check_out_allowed = True, + property_late_check_out_type = 'value', + property_late_check_out_value = '', + property_terms_and_conditions = '', + property_full_payment_before_checkin = True + ) + else: + return GetHotelDetailsResponseDataPropertyPolicy( + ) + """ + + def testGetHotelDetailsResponseDataPropertyPolicy(self): + """Test GetHotelDetailsResponseDataPropertyPolicy""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_hotels_response.py b/cloudbeds_pms_v1_3/test/test_get_hotels_response.py new file mode 100644 index 0000000..0074ee7 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_hotels_response.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_hotels_response import GetHotelsResponse + +class TestGetHotelsResponse(unittest.TestCase): + """GetHotelsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetHotelsResponse: + """Test GetHotelsResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetHotelsResponse` + """ + model = GetHotelsResponse() + if include_optional: + return GetHotelsResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_hotels_response_data_inner.GetHotelsResponse_data_inner( + property_id = '', + organization_id = '', + property_name = '', + property_image = '', + property_description = '', + property_timezone = '', + property_currency = [ + cloudbeds_pms_v1_3.models.get_hotels_response_data_inner_property_currency_inner.GetHotelsResponse_data_inner_propertyCurrency_inner( + currency_code = '', + currency_symbol = '', + currency_position = '', ) + ], ) + ], + count = 56, + total = 56 + ) + else: + return GetHotelsResponse( + ) + """ + + def testGetHotelsResponse(self): + """Test GetHotelsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_hotels_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_hotels_response_data_inner.py new file mode 100644 index 0000000..14ce223 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_hotels_response_data_inner.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_hotels_response_data_inner import GetHotelsResponseDataInner + +class TestGetHotelsResponseDataInner(unittest.TestCase): + """GetHotelsResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetHotelsResponseDataInner: + """Test GetHotelsResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetHotelsResponseDataInner` + """ + model = GetHotelsResponseDataInner() + if include_optional: + return GetHotelsResponseDataInner( + property_id = '', + organization_id = '', + property_name = '', + property_image = '', + property_description = '', + property_timezone = '', + property_currency = [ + cloudbeds_pms_v1_3.models.get_hotels_response_data_inner_property_currency_inner.GetHotelsResponse_data_inner_propertyCurrency_inner( + currency_code = '', + currency_symbol = '', + currency_position = '', ) + ] + ) + else: + return GetHotelsResponseDataInner( + ) + """ + + def testGetHotelsResponseDataInner(self): + """Test GetHotelsResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_hotels_response_data_inner_property_currency_inner.py b/cloudbeds_pms_v1_3/test/test_get_hotels_response_data_inner_property_currency_inner.py new file mode 100644 index 0000000..5782bf2 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_hotels_response_data_inner_property_currency_inner.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_hotels_response_data_inner_property_currency_inner import GetHotelsResponseDataInnerPropertyCurrencyInner + +class TestGetHotelsResponseDataInnerPropertyCurrencyInner(unittest.TestCase): + """GetHotelsResponseDataInnerPropertyCurrencyInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetHotelsResponseDataInnerPropertyCurrencyInner: + """Test GetHotelsResponseDataInnerPropertyCurrencyInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetHotelsResponseDataInnerPropertyCurrencyInner` + """ + model = GetHotelsResponseDataInnerPropertyCurrencyInner() + if include_optional: + return GetHotelsResponseDataInnerPropertyCurrencyInner( + currency_code = '', + currency_symbol = '', + currency_position = '' + ) + else: + return GetHotelsResponseDataInnerPropertyCurrencyInner( + ) + """ + + def testGetHotelsResponseDataInnerPropertyCurrencyInner(self): + """Test GetHotelsResponseDataInnerPropertyCurrencyInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_house_account_list_response.py b/cloudbeds_pms_v1_3/test/test_get_house_account_list_response.py new file mode 100644 index 0000000..1ec3262 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_house_account_list_response.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_house_account_list_response import GetHouseAccountListResponse + +class TestGetHouseAccountListResponse(unittest.TestCase): + """GetHouseAccountListResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetHouseAccountListResponse: + """Test GetHouseAccountListResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetHouseAccountListResponse` + """ + model = GetHouseAccountListResponse() + if include_optional: + return GetHouseAccountListResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_house_account_list_response_data_inner.GetHouseAccountListResponse_data_inner( + account_id = '', + property_id = '', + account_name = '', + account_status = 'open', + is_private = True, + user_name = '', ) + ] + ) + else: + return GetHouseAccountListResponse( + ) + """ + + def testGetHouseAccountListResponse(self): + """Test GetHouseAccountListResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_house_account_list_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_house_account_list_response_data_inner.py new file mode 100644 index 0000000..191b630 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_house_account_list_response_data_inner.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_house_account_list_response_data_inner import GetHouseAccountListResponseDataInner + +class TestGetHouseAccountListResponseDataInner(unittest.TestCase): + """GetHouseAccountListResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetHouseAccountListResponseDataInner: + """Test GetHouseAccountListResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetHouseAccountListResponseDataInner` + """ + model = GetHouseAccountListResponseDataInner() + if include_optional: + return GetHouseAccountListResponseDataInner( + account_id = '', + property_id = '', + account_name = '', + account_status = 'open', + is_private = True, + user_name = '' + ) + else: + return GetHouseAccountListResponseDataInner( + ) + """ + + def testGetHouseAccountListResponseDataInner(self): + """Test GetHouseAccountListResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_housekeepers_response.py b/cloudbeds_pms_v1_3/test/test_get_housekeepers_response.py new file mode 100644 index 0000000..620b564 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_housekeepers_response.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_housekeepers_response import GetHousekeepersResponse + +class TestGetHousekeepersResponse(unittest.TestCase): + """GetHousekeepersResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetHousekeepersResponse: + """Test GetHousekeepersResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetHousekeepersResponse` + """ + model = GetHousekeepersResponse() + if include_optional: + return GetHousekeepersResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_housekeepers_response_data_inner.GetHousekeepersResponse_data_inner( + property_id = '', + housekeeper_id = '', + name = '', ) + ], + message = '' + ) + else: + return GetHousekeepersResponse( + ) + """ + + def testGetHousekeepersResponse(self): + """Test GetHousekeepersResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_housekeepers_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_housekeepers_response_data_inner.py new file mode 100644 index 0000000..4922b69 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_housekeepers_response_data_inner.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_housekeepers_response_data_inner import GetHousekeepersResponseDataInner + +class TestGetHousekeepersResponseDataInner(unittest.TestCase): + """GetHousekeepersResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetHousekeepersResponseDataInner: + """Test GetHousekeepersResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetHousekeepersResponseDataInner` + """ + model = GetHousekeepersResponseDataInner() + if include_optional: + return GetHousekeepersResponseDataInner( + property_id = '', + housekeeper_id = '', + name = '' + ) + else: + return GetHousekeepersResponseDataInner( + ) + """ + + def testGetHousekeepersResponseDataInner(self): + """Test GetHousekeepersResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_housekeeping_status_response.py b/cloudbeds_pms_v1_3/test/test_get_housekeeping_status_response.py new file mode 100644 index 0000000..e794920 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_housekeeping_status_response.py @@ -0,0 +1,72 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_housekeeping_status_response import GetHousekeepingStatusResponse + +class TestGetHousekeepingStatusResponse(unittest.TestCase): + """GetHousekeepingStatusResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetHousekeepingStatusResponse: + """Test GetHousekeepingStatusResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetHousekeepingStatusResponse` + """ + model = GetHousekeepingStatusResponse() + if include_optional: + return GetHousekeepingStatusResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_housekeeping_status_response_data_inner.GetHousekeepingStatusResponse_data_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + room_type_id = '', + room_type_name = '', + room_id = '', + room_name = '', + room_condition = 'dirty', + room_occupied = True, + room_blocked = True, + frontdesk_status = 'check-in', + housekeeper_id = '', + housekeeper = '', + do_not_disturb = True, + refused_service = True, + vacant_pickup = True, + room_comments = '', ) + ], + count = 56, + total = 56, + message = '' + ) + else: + return GetHousekeepingStatusResponse( + ) + """ + + def testGetHousekeepingStatusResponse(self): + """Test GetHousekeepingStatusResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_housekeeping_status_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_housekeeping_status_response_data_inner.py new file mode 100644 index 0000000..d32f50b --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_housekeeping_status_response_data_inner.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_housekeeping_status_response_data_inner import GetHousekeepingStatusResponseDataInner + +class TestGetHousekeepingStatusResponseDataInner(unittest.TestCase): + """GetHousekeepingStatusResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetHousekeepingStatusResponseDataInner: + """Test GetHousekeepingStatusResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetHousekeepingStatusResponseDataInner` + """ + model = GetHousekeepingStatusResponseDataInner() + if include_optional: + return GetHousekeepingStatusResponseDataInner( + var_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + room_type_id = '', + room_type_name = '', + room_id = '', + room_name = '', + room_condition = 'dirty', + room_occupied = True, + room_blocked = True, + frontdesk_status = 'check-in', + housekeeper_id = '', + housekeeper = '', + do_not_disturb = True, + refused_service = True, + vacant_pickup = True, + room_comments = '' + ) + else: + return GetHousekeepingStatusResponseDataInner( + ) + """ + + def testGetHousekeepingStatusResponseDataInner(self): + """Test GetHousekeepingStatusResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_item_categories_response.py b/cloudbeds_pms_v1_3/test/test_get_item_categories_response.py new file mode 100644 index 0000000..2e9f93d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_item_categories_response.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_item_categories_response import GetItemCategoriesResponse + +class TestGetItemCategoriesResponse(unittest.TestCase): + """GetItemCategoriesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetItemCategoriesResponse: + """Test GetItemCategoriesResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetItemCategoriesResponse` + """ + model = GetItemCategoriesResponse() + if include_optional: + return GetItemCategoriesResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_item_categories_response_data_inner.GetItemCategoriesResponse_data_inner( + category_id = '', + category_name = '', + category_code = '', + category_color = '', ) + ], + message = '' + ) + else: + return GetItemCategoriesResponse( + ) + """ + + def testGetItemCategoriesResponse(self): + """Test GetItemCategoriesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_item_categories_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_item_categories_response_data_inner.py new file mode 100644 index 0000000..e06f506 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_item_categories_response_data_inner.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_item_categories_response_data_inner import GetItemCategoriesResponseDataInner + +class TestGetItemCategoriesResponseDataInner(unittest.TestCase): + """GetItemCategoriesResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetItemCategoriesResponseDataInner: + """Test GetItemCategoriesResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetItemCategoriesResponseDataInner` + """ + model = GetItemCategoriesResponseDataInner() + if include_optional: + return GetItemCategoriesResponseDataInner( + category_id = '', + category_name = '', + category_code = '', + category_color = '' + ) + else: + return GetItemCategoriesResponseDataInner( + ) + """ + + def testGetItemCategoriesResponseDataInner(self): + """Test GetItemCategoriesResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_item_response.py b/cloudbeds_pms_v1_3/test/test_get_item_response.py new file mode 100644 index 0000000..26da1e6 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_item_response.py @@ -0,0 +1,82 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_item_response import GetItemResponse + +class TestGetItemResponse(unittest.TestCase): + """GetItemResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetItemResponse: + """Test GetItemResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetItemResponse` + """ + model = GetItemResponse() + if include_optional: + return GetItemResponse( + success = True, + data = cloudbeds_pms_v1_3.models.get_item_response_data.GetItemResponse_data( + item_id = '', + item_type = 'product', + sku = '', + item_code = '', + name = '', + category_id = '', + category_name = '', + description = '', + price = 1.337, + stock_inventory = True, + item_quantity = 56, + reorder_threshold = 56, + reorder_needed = True, + stop_sell = 56, + stop_sell_met = True, + taxes = [ + cloudbeds_pms_v1_3.models.get_item_response_data_taxes_inner.GetItemResponse_data_taxes_inner( + tax_name = '', + tax_value = 1.337, ) + ], + total_taxes = 1.337, + fees = [ + cloudbeds_pms_v1_3.models.get_item_response_data_fees_inner.GetItemResponse_data_fees_inner( + fee_name = '', + fee_value = 1.337, ) + ], + total_fees = 1.337, + price_without_fees_and_taxes = 1.337, + grand_total = 1.337, ), + message = '' + ) + else: + return GetItemResponse( + ) + """ + + def testGetItemResponse(self): + """Test GetItemResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_item_response_data.py b/cloudbeds_pms_v1_3/test/test_get_item_response_data.py new file mode 100644 index 0000000..8c33d48 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_item_response_data.py @@ -0,0 +1,79 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_item_response_data import GetItemResponseData + +class TestGetItemResponseData(unittest.TestCase): + """GetItemResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetItemResponseData: + """Test GetItemResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetItemResponseData` + """ + model = GetItemResponseData() + if include_optional: + return GetItemResponseData( + item_id = '', + item_type = 'product', + sku = '', + item_code = '', + name = '', + category_id = '', + category_name = '', + description = '', + price = 1.337, + stock_inventory = True, + item_quantity = 56, + reorder_threshold = 56, + reorder_needed = True, + stop_sell = 56, + stop_sell_met = True, + taxes = [ + cloudbeds_pms_v1_3.models.get_item_response_data_taxes_inner.GetItemResponse_data_taxes_inner( + tax_name = '', + tax_value = 1.337, ) + ], + total_taxes = 1.337, + fees = [ + cloudbeds_pms_v1_3.models.get_item_response_data_fees_inner.GetItemResponse_data_fees_inner( + fee_name = '', + fee_value = 1.337, ) + ], + total_fees = 1.337, + price_without_fees_and_taxes = 1.337, + grand_total = 1.337 + ) + else: + return GetItemResponseData( + ) + """ + + def testGetItemResponseData(self): + """Test GetItemResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_item_response_data_fees_inner.py b/cloudbeds_pms_v1_3/test/test_get_item_response_data_fees_inner.py new file mode 100644 index 0000000..ff4ed41 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_item_response_data_fees_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_item_response_data_fees_inner import GetItemResponseDataFeesInner + +class TestGetItemResponseDataFeesInner(unittest.TestCase): + """GetItemResponseDataFeesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetItemResponseDataFeesInner: + """Test GetItemResponseDataFeesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetItemResponseDataFeesInner` + """ + model = GetItemResponseDataFeesInner() + if include_optional: + return GetItemResponseDataFeesInner( + fee_name = '', + fee_value = 1.337 + ) + else: + return GetItemResponseDataFeesInner( + ) + """ + + def testGetItemResponseDataFeesInner(self): + """Test GetItemResponseDataFeesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_item_response_data_taxes_inner.py b/cloudbeds_pms_v1_3/test/test_get_item_response_data_taxes_inner.py new file mode 100644 index 0000000..6c525ff --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_item_response_data_taxes_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_item_response_data_taxes_inner import GetItemResponseDataTaxesInner + +class TestGetItemResponseDataTaxesInner(unittest.TestCase): + """GetItemResponseDataTaxesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetItemResponseDataTaxesInner: + """Test GetItemResponseDataTaxesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetItemResponseDataTaxesInner` + """ + model = GetItemResponseDataTaxesInner() + if include_optional: + return GetItemResponseDataTaxesInner( + tax_name = '', + tax_value = 1.337 + ) + else: + return GetItemResponseDataTaxesInner( + ) + """ + + def testGetItemResponseDataTaxesInner(self): + """Test GetItemResponseDataTaxesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_items_response.py b/cloudbeds_pms_v1_3/test/test_get_items_response.py new file mode 100644 index 0000000..3386ef5 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_items_response.py @@ -0,0 +1,84 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_items_response import GetItemsResponse + +class TestGetItemsResponse(unittest.TestCase): + """GetItemsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetItemsResponse: + """Test GetItemsResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetItemsResponse` + """ + model = GetItemsResponse() + if include_optional: + return GetItemsResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_items_response_data_inner.GetItemsResponse_data_inner( + item_id = '', + item_type = 'product', + sku = '', + item_code = '', + name = '', + category_id = '', + category_name = '', + description = '', + price = 1.337, + stock_inventory = True, + item_quantity = 56, + reorder_threshold = 56, + reorder_needed = True, + stop_sell = 56, + stop_sell_met = True, + taxes = [ + cloudbeds_pms_v1_3.models.get_item_response_data_taxes_inner.GetItemResponse_data_taxes_inner( + tax_name = '', + tax_value = 1.337, ) + ], + total_taxes = 1.337, + fees = [ + cloudbeds_pms_v1_3.models.get_item_response_data_fees_inner.GetItemResponse_data_fees_inner( + fee_name = '', + fee_value = 1.337, ) + ], + total_fees = 1.337, + price_without_fees_and_taxes = 1.337, + grand_total = 1.337, ) + ], + message = '' + ) + else: + return GetItemsResponse( + ) + """ + + def testGetItemsResponse(self): + """Test GetItemsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_items_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_items_response_data_inner.py new file mode 100644 index 0000000..2b8feba --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_items_response_data_inner.py @@ -0,0 +1,79 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_items_response_data_inner import GetItemsResponseDataInner + +class TestGetItemsResponseDataInner(unittest.TestCase): + """GetItemsResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetItemsResponseDataInner: + """Test GetItemsResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetItemsResponseDataInner` + """ + model = GetItemsResponseDataInner() + if include_optional: + return GetItemsResponseDataInner( + item_id = '', + item_type = 'product', + sku = '', + item_code = '', + name = '', + category_id = '', + category_name = '', + description = '', + price = 1.337, + stock_inventory = True, + item_quantity = 56, + reorder_threshold = 56, + reorder_needed = True, + stop_sell = 56, + stop_sell_met = True, + taxes = [ + cloudbeds_pms_v1_3.models.get_item_response_data_taxes_inner.GetItemResponse_data_taxes_inner( + tax_name = '', + tax_value = 1.337, ) + ], + total_taxes = 1.337, + fees = [ + cloudbeds_pms_v1_3.models.get_item_response_data_fees_inner.GetItemResponse_data_fees_inner( + fee_name = '', + fee_value = 1.337, ) + ], + total_fees = 1.337, + price_without_fees_and_taxes = 1.337, + grand_total = 1.337 + ) + else: + return GetItemsResponseDataInner( + ) + """ + + def testGetItemsResponseDataInner(self): + """Test GetItemsResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_list_allotment_block_notes_response.py b/cloudbeds_pms_v1_3/test/test_get_list_allotment_block_notes_response.py new file mode 100644 index 0000000..bc2a042 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_list_allotment_block_notes_response.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_list_allotment_block_notes_response import GetListAllotmentBlockNotesResponse + +class TestGetListAllotmentBlockNotesResponse(unittest.TestCase): + """GetListAllotmentBlockNotesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetListAllotmentBlockNotesResponse: + """Test GetListAllotmentBlockNotesResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetListAllotmentBlockNotesResponse` + """ + model = GetListAllotmentBlockNotesResponse() + if include_optional: + return GetListAllotmentBlockNotesResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_list_allotment_block_notes_response_data_inner.GetListAllotmentBlockNotesResponse_data_inner( + id = '', + message = '', + created_by = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + archived_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = '', ) + ], + page_size = 56, + page_number = 56, + total = 56 + ) + else: + return GetListAllotmentBlockNotesResponse( + ) + """ + + def testGetListAllotmentBlockNotesResponse(self): + """Test GetListAllotmentBlockNotesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_list_allotment_block_notes_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_list_allotment_block_notes_response_data_inner.py new file mode 100644 index 0000000..5855136 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_list_allotment_block_notes_response_data_inner.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_list_allotment_block_notes_response_data_inner import GetListAllotmentBlockNotesResponseDataInner + +class TestGetListAllotmentBlockNotesResponseDataInner(unittest.TestCase): + """GetListAllotmentBlockNotesResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetListAllotmentBlockNotesResponseDataInner: + """Test GetListAllotmentBlockNotesResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetListAllotmentBlockNotesResponseDataInner` + """ + model = GetListAllotmentBlockNotesResponseDataInner() + if include_optional: + return GetListAllotmentBlockNotesResponseDataInner( + id = '', + message = '', + created_by = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + archived_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = '' + ) + else: + return GetListAllotmentBlockNotesResponseDataInner( + ) + """ + + def testGetListAllotmentBlockNotesResponseDataInner(self): + """Test GetListAllotmentBlockNotesResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_metadata_response.py b/cloudbeds_pms_v1_3/test/test_get_metadata_response.py new file mode 100644 index 0000000..048a1cb --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_metadata_response.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_metadata_response import GetMetadataResponse + +class TestGetMetadataResponse(unittest.TestCase): + """GetMetadataResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetMetadataResponse: + """Test GetMetadataResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetMetadataResponse` + """ + model = GetMetadataResponse() + if include_optional: + return GetMetadataResponse( + success = '', + data = cloudbeds_pms_v1_3.models.get_metadata_response_data.GetMetadataResponse_data( + api = cloudbeds_pms_v1_3.models.get_metadata_response_data_api.GetMetadataResponse_data_api( + url = '', ), ), + message = '' + ) + else: + return GetMetadataResponse( + ) + """ + + def testGetMetadataResponse(self): + """Test GetMetadataResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_metadata_response_data.py b/cloudbeds_pms_v1_3/test/test_get_metadata_response_data.py new file mode 100644 index 0000000..aa1965d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_metadata_response_data.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_metadata_response_data import GetMetadataResponseData + +class TestGetMetadataResponseData(unittest.TestCase): + """GetMetadataResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetMetadataResponseData: + """Test GetMetadataResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetMetadataResponseData` + """ + model = GetMetadataResponseData() + if include_optional: + return GetMetadataResponseData( + api = cloudbeds_pms_v1_3.models.get_metadata_response_data_api.GetMetadataResponse_data_api( + url = '', ) + ) + else: + return GetMetadataResponseData( + ) + """ + + def testGetMetadataResponseData(self): + """Test GetMetadataResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_metadata_response_data_api.py b/cloudbeds_pms_v1_3/test/test_get_metadata_response_data_api.py new file mode 100644 index 0000000..6e79d71 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_metadata_response_data_api.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_metadata_response_data_api import GetMetadataResponseDataApi + +class TestGetMetadataResponseDataApi(unittest.TestCase): + """GetMetadataResponseDataApi unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetMetadataResponseDataApi: + """Test GetMetadataResponseDataApi + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetMetadataResponseDataApi` + """ + model = GetMetadataResponseDataApi() + if include_optional: + return GetMetadataResponseDataApi( + url = '' + ) + else: + return GetMetadataResponseDataApi( + ) + """ + + def testGetMetadataResponseDataApi(self): + """Test GetMetadataResponseDataApi""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_packages_response.py b/cloudbeds_pms_v1_3/test/test_get_packages_response.py new file mode 100644 index 0000000..e5eb097 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_packages_response.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_packages_response import GetPackagesResponse + +class TestGetPackagesResponse(unittest.TestCase): + """GetPackagesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetPackagesResponse: + """Test GetPackagesResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetPackagesResponse` + """ + model = GetPackagesResponse() + if include_optional: + return GetPackagesResponse( + success = True, + data = cloudbeds_pms_v1_3.models.get_packages_response_data.GetPackagesResponse_data( + package_names = [ + '' + ], ), + message = '' + ) + else: + return GetPackagesResponse( + ) + """ + + def testGetPackagesResponse(self): + """Test GetPackagesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_packages_response_data.py b/cloudbeds_pms_v1_3/test/test_get_packages_response_data.py new file mode 100644 index 0000000..36aba38 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_packages_response_data.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_packages_response_data import GetPackagesResponseData + +class TestGetPackagesResponseData(unittest.TestCase): + """GetPackagesResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetPackagesResponseData: + """Test GetPackagesResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetPackagesResponseData` + """ + model = GetPackagesResponseData() + if include_optional: + return GetPackagesResponseData( + package_names = [ + '' + ] + ) + else: + return GetPackagesResponseData( + ) + """ + + def testGetPackagesResponseData(self): + """Test GetPackagesResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_payment_methods_response.py b/cloudbeds_pms_v1_3/test/test_get_payment_methods_response.py new file mode 100644 index 0000000..4824732 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_payment_methods_response.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_payment_methods_response import GetPaymentMethodsResponse + +class TestGetPaymentMethodsResponse(unittest.TestCase): + """GetPaymentMethodsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetPaymentMethodsResponse: + """Test GetPaymentMethodsResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetPaymentMethodsResponse` + """ + model = GetPaymentMethodsResponse() + if include_optional: + return GetPaymentMethodsResponse( + success = True, + data = cloudbeds_pms_v1_3.models.get_payment_methods_response_data.GetPaymentMethodsResponse_data( + property_id = '', + methods = [ + cloudbeds_pms_v1_3.models.get_payment_methods_response_data_methods_inner.GetPaymentMethodsResponse_data_methods_inner( + method = '', + code = '', + name = '', + card_types = [ + cloudbeds_pms_v1_3.models.get_payment_methods_response_data_methods_inner_card_types_inner.GetPaymentMethodsResponse_data_methods_inner_cardTypes_inner( + card_code = '', + card_name = '', ) + ], ) + ], + gateway = cloudbeds_pms_v1_3.models.get_payment_methods_response_data_gateway.GetPaymentMethodsResponse_data_gateway( + name = '', + currency = '', ), ) + ) + else: + return GetPaymentMethodsResponse( + ) + """ + + def testGetPaymentMethodsResponse(self): + """Test GetPaymentMethodsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_payment_methods_response_data.py b/cloudbeds_pms_v1_3/test/test_get_payment_methods_response_data.py new file mode 100644 index 0000000..c655260 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_payment_methods_response_data.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data import GetPaymentMethodsResponseData + +class TestGetPaymentMethodsResponseData(unittest.TestCase): + """GetPaymentMethodsResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetPaymentMethodsResponseData: + """Test GetPaymentMethodsResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetPaymentMethodsResponseData` + """ + model = GetPaymentMethodsResponseData() + if include_optional: + return GetPaymentMethodsResponseData( + property_id = '', + methods = [ + cloudbeds_pms_v1_3.models.get_payment_methods_response_data_methods_inner.GetPaymentMethodsResponse_data_methods_inner( + method = '', + code = '', + name = '', + card_types = [ + cloudbeds_pms_v1_3.models.get_payment_methods_response_data_methods_inner_card_types_inner.GetPaymentMethodsResponse_data_methods_inner_cardTypes_inner( + card_code = '', + card_name = '', ) + ], ) + ], + gateway = cloudbeds_pms_v1_3.models.get_payment_methods_response_data_gateway.GetPaymentMethodsResponse_data_gateway( + name = '', + currency = '', ) + ) + else: + return GetPaymentMethodsResponseData( + ) + """ + + def testGetPaymentMethodsResponseData(self): + """Test GetPaymentMethodsResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_payment_methods_response_data_gateway.py b/cloudbeds_pms_v1_3/test/test_get_payment_methods_response_data_gateway.py new file mode 100644 index 0000000..56ab73b --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_payment_methods_response_data_gateway.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data_gateway import GetPaymentMethodsResponseDataGateway + +class TestGetPaymentMethodsResponseDataGateway(unittest.TestCase): + """GetPaymentMethodsResponseDataGateway unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetPaymentMethodsResponseDataGateway: + """Test GetPaymentMethodsResponseDataGateway + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetPaymentMethodsResponseDataGateway` + """ + model = GetPaymentMethodsResponseDataGateway() + if include_optional: + return GetPaymentMethodsResponseDataGateway( + name = '', + currency = '' + ) + else: + return GetPaymentMethodsResponseDataGateway( + ) + """ + + def testGetPaymentMethodsResponseDataGateway(self): + """Test GetPaymentMethodsResponseDataGateway""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_payment_methods_response_data_methods_inner.py b/cloudbeds_pms_v1_3/test/test_get_payment_methods_response_data_methods_inner.py new file mode 100644 index 0000000..4375c61 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_payment_methods_response_data_methods_inner.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data_methods_inner import GetPaymentMethodsResponseDataMethodsInner + +class TestGetPaymentMethodsResponseDataMethodsInner(unittest.TestCase): + """GetPaymentMethodsResponseDataMethodsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetPaymentMethodsResponseDataMethodsInner: + """Test GetPaymentMethodsResponseDataMethodsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetPaymentMethodsResponseDataMethodsInner` + """ + model = GetPaymentMethodsResponseDataMethodsInner() + if include_optional: + return GetPaymentMethodsResponseDataMethodsInner( + method = '', + code = '', + name = '', + card_types = [ + cloudbeds_pms_v1_3.models.get_payment_methods_response_data_methods_inner_card_types_inner.GetPaymentMethodsResponse_data_methods_inner_cardTypes_inner( + card_code = '', + card_name = '', ) + ] + ) + else: + return GetPaymentMethodsResponseDataMethodsInner( + ) + """ + + def testGetPaymentMethodsResponseDataMethodsInner(self): + """Test GetPaymentMethodsResponseDataMethodsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_payment_methods_response_data_methods_inner_card_types_inner.py b/cloudbeds_pms_v1_3/test/test_get_payment_methods_response_data_methods_inner_card_types_inner.py new file mode 100644 index 0000000..d379fde --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_payment_methods_response_data_methods_inner_card_types_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_payment_methods_response_data_methods_inner_card_types_inner import GetPaymentMethodsResponseDataMethodsInnerCardTypesInner + +class TestGetPaymentMethodsResponseDataMethodsInnerCardTypesInner(unittest.TestCase): + """GetPaymentMethodsResponseDataMethodsInnerCardTypesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetPaymentMethodsResponseDataMethodsInnerCardTypesInner: + """Test GetPaymentMethodsResponseDataMethodsInnerCardTypesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetPaymentMethodsResponseDataMethodsInnerCardTypesInner` + """ + model = GetPaymentMethodsResponseDataMethodsInnerCardTypesInner() + if include_optional: + return GetPaymentMethodsResponseDataMethodsInnerCardTypesInner( + card_code = '', + card_name = '' + ) + else: + return GetPaymentMethodsResponseDataMethodsInnerCardTypesInner( + ) + """ + + def testGetPaymentMethodsResponseDataMethodsInnerCardTypesInner(self): + """Test GetPaymentMethodsResponseDataMethodsInnerCardTypesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_payments_capabilities_response.py b/cloudbeds_pms_v1_3/test/test_get_payments_capabilities_response.py new file mode 100644 index 0000000..6c5ed52 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_payments_capabilities_response.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_payments_capabilities_response import GetPaymentsCapabilitiesResponse + +class TestGetPaymentsCapabilitiesResponse(unittest.TestCase): + """GetPaymentsCapabilitiesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetPaymentsCapabilitiesResponse: + """Test GetPaymentsCapabilitiesResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetPaymentsCapabilitiesResponse` + """ + model = GetPaymentsCapabilitiesResponse() + if include_optional: + return GetPaymentsCapabilitiesResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_payments_capabilities_response_data_inner.GetPaymentsCapabilitiesResponse_data_inner( + cloudbeds_payments = True, + terminal = True, + tap_to_pay = True, + gateway = '', + pay_by_link = True, ) + ] + ) + else: + return GetPaymentsCapabilitiesResponse( + ) + """ + + def testGetPaymentsCapabilitiesResponse(self): + """Test GetPaymentsCapabilitiesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_payments_capabilities_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_payments_capabilities_response_data_inner.py new file mode 100644 index 0000000..2693dee --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_payments_capabilities_response_data_inner.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_payments_capabilities_response_data_inner import GetPaymentsCapabilitiesResponseDataInner + +class TestGetPaymentsCapabilitiesResponseDataInner(unittest.TestCase): + """GetPaymentsCapabilitiesResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetPaymentsCapabilitiesResponseDataInner: + """Test GetPaymentsCapabilitiesResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetPaymentsCapabilitiesResponseDataInner` + """ + model = GetPaymentsCapabilitiesResponseDataInner() + if include_optional: + return GetPaymentsCapabilitiesResponseDataInner( + cloudbeds_payments = True, + terminal = True, + tap_to_pay = True, + gateway = '', + pay_by_link = True + ) + else: + return GetPaymentsCapabilitiesResponseDataInner( + ) + """ + + def testGetPaymentsCapabilitiesResponseDataInner(self): + """Test GetPaymentsCapabilitiesResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rate_jobs_response.py b/cloudbeds_pms_v1_3/test/test_get_rate_jobs_response.py new file mode 100644 index 0000000..7db4c1d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rate_jobs_response.py @@ -0,0 +1,74 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rate_jobs_response import GetRateJobsResponse + +class TestGetRateJobsResponse(unittest.TestCase): + """GetRateJobsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRateJobsResponse: + """Test GetRateJobsResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRateJobsResponse` + """ + model = GetRateJobsResponse() + if include_optional: + return GetRateJobsResponse( + success = True, + has_next_page = True, + next_page = '', + data = [ + cloudbeds_pms_v1_3.models.get_rate_jobs_response_data_inner.GetRateJobsResponse_data_inner( + job_reference_id = '', + date_created = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + status = '', + updates = [ + cloudbeds_pms_v1_3.models.get_rate_jobs_response_data_inner_updates_inner.GetRateJobsResponse_data_inner_updates_inner( + rate_id = '', + action = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, + max_los = 56, + min_los = 56, + closed_to_arrival = True, + closed_to_departure = True, + cut_off = 56, + last_minute_booking = 56, + message = '', ) + ], ) + ] + ) + else: + return GetRateJobsResponse( + ) + """ + + def testGetRateJobsResponse(self): + """Test GetRateJobsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rate_jobs_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_rate_jobs_response_data_inner.py new file mode 100644 index 0000000..958c6f5 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rate_jobs_response_data_inner.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rate_jobs_response_data_inner import GetRateJobsResponseDataInner + +class TestGetRateJobsResponseDataInner(unittest.TestCase): + """GetRateJobsResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRateJobsResponseDataInner: + """Test GetRateJobsResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRateJobsResponseDataInner` + """ + model = GetRateJobsResponseDataInner() + if include_optional: + return GetRateJobsResponseDataInner( + job_reference_id = '', + date_created = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + status = '', + updates = [ + cloudbeds_pms_v1_3.models.get_rate_jobs_response_data_inner_updates_inner.GetRateJobsResponse_data_inner_updates_inner( + rate_id = '', + action = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, + max_los = 56, + min_los = 56, + closed_to_arrival = True, + closed_to_departure = True, + cut_off = 56, + last_minute_booking = 56, + message = '', ) + ] + ) + else: + return GetRateJobsResponseDataInner( + ) + """ + + def testGetRateJobsResponseDataInner(self): + """Test GetRateJobsResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rate_jobs_response_data_inner_updates_inner.py b/cloudbeds_pms_v1_3/test/test_get_rate_jobs_response_data_inner_updates_inner.py new file mode 100644 index 0000000..1f73c8a --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rate_jobs_response_data_inner_updates_inner.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rate_jobs_response_data_inner_updates_inner import GetRateJobsResponseDataInnerUpdatesInner + +class TestGetRateJobsResponseDataInnerUpdatesInner(unittest.TestCase): + """GetRateJobsResponseDataInnerUpdatesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRateJobsResponseDataInnerUpdatesInner: + """Test GetRateJobsResponseDataInnerUpdatesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRateJobsResponseDataInnerUpdatesInner` + """ + model = GetRateJobsResponseDataInnerUpdatesInner() + if include_optional: + return GetRateJobsResponseDataInnerUpdatesInner( + rate_id = '', + action = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, + max_los = 56, + min_los = 56, + closed_to_arrival = True, + closed_to_departure = True, + cut_off = 56, + last_minute_booking = 56, + message = '' + ) + else: + return GetRateJobsResponseDataInnerUpdatesInner( + ) + """ + + def testGetRateJobsResponseDataInnerUpdatesInner(self): + """Test GetRateJobsResponseDataInnerUpdatesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rate_plans_response.py b/cloudbeds_pms_v1_3/test/test_get_rate_plans_response.py new file mode 100644 index 0000000..20fd117 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rate_plans_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rate_plans_response import GetRatePlansResponse + +class TestGetRatePlansResponse(unittest.TestCase): + """GetRatePlansResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRatePlansResponse: + """Test GetRatePlansResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRatePlansResponse` + """ + model = GetRatePlansResponse() + if include_optional: + return GetRatePlansResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner.GetRatePlansResponse_data_inner( + rate_id = '', + is_derived = True, + room_rate = 1.337, + total_rate = 1.337, + rooms_available = 56, + room_type_id = '', + room_type_name = 56, + property_id = '', + rate_plan_id = '', + rate_plan_name_public = '', + rate_plan_name_private = '', + promo_code = '', + derived_type = 'fixed', + derived_value = 1.337, + base_rate = 1.337, + days_of_week = [ + 'Sun' + ], + add_ons = [ + cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner_add_ons_inner.GetRatePlansResponse_data_inner_addOns_inner( + add_on_id = '', + add_on_name = '', + item_id = '', + item_name = '', ) + ], + room_rate_detailed = [ + cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner_room_rate_detailed_inner.GetRatePlansResponse_data_inner_roomRateDetailed_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate_base = 1.337, + total_rate = 1.337, + rooms_available = 56, + closed_to_arrival = True, + closed_to_departure = True, + min_los = 56, + max_los = 56, + cut_off = 56, + last_minute_booking = 56, ) + ], ) + ], + message = '' + ) + else: + return GetRatePlansResponse( + ) + """ + + def testGetRatePlansResponse(self): + """Test GetRatePlansResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rate_plans_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_rate_plans_response_data_inner.py new file mode 100644 index 0000000..9db04a9 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rate_plans_response_data_inner.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner import GetRatePlansResponseDataInner + +class TestGetRatePlansResponseDataInner(unittest.TestCase): + """GetRatePlansResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRatePlansResponseDataInner: + """Test GetRatePlansResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRatePlansResponseDataInner` + """ + model = GetRatePlansResponseDataInner() + if include_optional: + return GetRatePlansResponseDataInner( + rate_id = '', + is_derived = True, + room_rate = 1.337, + total_rate = 1.337, + rooms_available = 56, + room_type_id = '', + room_type_name = 56, + property_id = '', + rate_plan_id = '', + rate_plan_name_public = '', + rate_plan_name_private = '', + promo_code = '', + derived_type = 'fixed', + derived_value = 1.337, + base_rate = 1.337, + days_of_week = [ + 'Sun' + ], + add_ons = [ + cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner_add_ons_inner.GetRatePlansResponse_data_inner_addOns_inner( + add_on_id = '', + add_on_name = '', + item_id = '', + item_name = '', ) + ], + room_rate_detailed = [ + cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner_room_rate_detailed_inner.GetRatePlansResponse_data_inner_roomRateDetailed_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate_base = 1.337, + total_rate = 1.337, + rooms_available = 56, + closed_to_arrival = True, + closed_to_departure = True, + min_los = 56, + max_los = 56, + cut_off = 56, + last_minute_booking = 56, ) + ] + ) + else: + return GetRatePlansResponseDataInner( + ) + """ + + def testGetRatePlansResponseDataInner(self): + """Test GetRatePlansResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rate_plans_response_data_inner_add_ons_inner.py b/cloudbeds_pms_v1_3/test/test_get_rate_plans_response_data_inner_add_ons_inner.py new file mode 100644 index 0000000..78ebfef --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rate_plans_response_data_inner_add_ons_inner.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner_add_ons_inner import GetRatePlansResponseDataInnerAddOnsInner + +class TestGetRatePlansResponseDataInnerAddOnsInner(unittest.TestCase): + """GetRatePlansResponseDataInnerAddOnsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRatePlansResponseDataInnerAddOnsInner: + """Test GetRatePlansResponseDataInnerAddOnsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRatePlansResponseDataInnerAddOnsInner` + """ + model = GetRatePlansResponseDataInnerAddOnsInner() + if include_optional: + return GetRatePlansResponseDataInnerAddOnsInner( + add_on_id = '', + add_on_name = '', + item_id = '', + item_name = '' + ) + else: + return GetRatePlansResponseDataInnerAddOnsInner( + ) + """ + + def testGetRatePlansResponseDataInnerAddOnsInner(self): + """Test GetRatePlansResponseDataInnerAddOnsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rate_plans_response_data_inner_room_rate_detailed_inner.py b/cloudbeds_pms_v1_3/test/test_get_rate_plans_response_data_inner_room_rate_detailed_inner.py new file mode 100644 index 0000000..3c66962 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rate_plans_response_data_inner_room_rate_detailed_inner.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rate_plans_response_data_inner_room_rate_detailed_inner import GetRatePlansResponseDataInnerRoomRateDetailedInner + +class TestGetRatePlansResponseDataInnerRoomRateDetailedInner(unittest.TestCase): + """GetRatePlansResponseDataInnerRoomRateDetailedInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRatePlansResponseDataInnerRoomRateDetailedInner: + """Test GetRatePlansResponseDataInnerRoomRateDetailedInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRatePlansResponseDataInnerRoomRateDetailedInner` + """ + model = GetRatePlansResponseDataInnerRoomRateDetailedInner() + if include_optional: + return GetRatePlansResponseDataInnerRoomRateDetailedInner( + var_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate_base = 1.337, + total_rate = 1.337, + rooms_available = 56, + closed_to_arrival = True, + closed_to_departure = True, + min_los = 56, + max_los = 56, + cut_off = 56, + last_minute_booking = 56 + ) + else: + return GetRatePlansResponseDataInnerRoomRateDetailedInner( + ) + """ + + def testGetRatePlansResponseDataInnerRoomRateDetailedInner(self): + """Test GetRatePlansResponseDataInnerRoomRateDetailedInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rate_response.py b/cloudbeds_pms_v1_3/test/test_get_rate_response.py new file mode 100644 index 0000000..cfb2322 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rate_response.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rate_response import GetRateResponse + +class TestGetRateResponse(unittest.TestCase): + """GetRateResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRateResponse: + """Test GetRateResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRateResponse` + """ + model = GetRateResponse() + if include_optional: + return GetRateResponse( + success = True, + data = cloudbeds_pms_v1_3.models.get_rate_response_data.GetRateResponse_data( + rate_id = '', + is_derived = True, + room_rate = 1.337, + total_rate = 1.337, + rooms_available = 56, + days_of_week = [ + '' + ], + room_rate_detailed = [ + cloudbeds_pms_v1_3.models.get_rate_response_data_room_rate_detailed_inner.GetRateResponse_data_roomRateDetailed_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, + total_rate = 1.337, + rooms_available = 56, + closed_to_arrival = True, + closed_to_departure = True, + min_los = 56, + max_los = 56, ) + ], ) + ) + else: + return GetRateResponse( + ) + """ + + def testGetRateResponse(self): + """Test GetRateResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rate_response_data.py b/cloudbeds_pms_v1_3/test/test_get_rate_response_data.py new file mode 100644 index 0000000..79fc257 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rate_response_data.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rate_response_data import GetRateResponseData + +class TestGetRateResponseData(unittest.TestCase): + """GetRateResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRateResponseData: + """Test GetRateResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRateResponseData` + """ + model = GetRateResponseData() + if include_optional: + return GetRateResponseData( + rate_id = '', + is_derived = True, + room_rate = 1.337, + total_rate = 1.337, + rooms_available = 56, + days_of_week = [ + '' + ], + room_rate_detailed = [ + cloudbeds_pms_v1_3.models.get_rate_response_data_room_rate_detailed_inner.GetRateResponse_data_roomRateDetailed_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, + total_rate = 1.337, + rooms_available = 56, + closed_to_arrival = True, + closed_to_departure = True, + min_los = 56, + max_los = 56, ) + ] + ) + else: + return GetRateResponseData( + ) + """ + + def testGetRateResponseData(self): + """Test GetRateResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rate_response_data_room_rate_detailed_inner.py b/cloudbeds_pms_v1_3/test/test_get_rate_response_data_room_rate_detailed_inner.py new file mode 100644 index 0000000..6459877 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rate_response_data_room_rate_detailed_inner.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rate_response_data_room_rate_detailed_inner import GetRateResponseDataRoomRateDetailedInner + +class TestGetRateResponseDataRoomRateDetailedInner(unittest.TestCase): + """GetRateResponseDataRoomRateDetailedInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRateResponseDataRoomRateDetailedInner: + """Test GetRateResponseDataRoomRateDetailedInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRateResponseDataRoomRateDetailedInner` + """ + model = GetRateResponseDataRoomRateDetailedInner() + if include_optional: + return GetRateResponseDataRoomRateDetailedInner( + var_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, + total_rate = 1.337, + rooms_available = 56, + closed_to_arrival = True, + closed_to_departure = True, + min_los = 56, + max_los = 56 + ) + else: + return GetRateResponseDataRoomRateDetailedInner( + ) + """ + + def testGetRateResponseDataRoomRateDetailedInner(self): + """Test GetRateResponseDataRoomRateDetailedInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_assignments_response.py b/cloudbeds_pms_v1_3/test/test_get_reservation_assignments_response.py new file mode 100644 index 0000000..5c85ab1 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_assignments_response.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_assignments_response import GetReservationAssignmentsResponse + +class TestGetReservationAssignmentsResponse(unittest.TestCase): + """GetReservationAssignmentsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationAssignmentsResponse: + """Test GetReservationAssignmentsResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationAssignmentsResponse` + """ + model = GetReservationAssignmentsResponse() + if include_optional: + return GetReservationAssignmentsResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_reservation_assignments_response_data_inner.GetReservationAssignmentsResponse_data_inner( + guest_name = '', + reservation_id = '', + unassigned = 56, + assigned = [ + cloudbeds_pms_v1_3.models.get_reservation_assignments_response_data_inner_assigned_inner.GetReservationAssignmentsResponse_data_inner_assigned_inner( + room_type_id = '', + room_type_name = '', + room_type_name_short = '', + dorm_room_name = '', + room_name = '', + room_id = '', + sub_reservation_id = '', ) + ], ) + ], + message = '' + ) + else: + return GetReservationAssignmentsResponse( + ) + """ + + def testGetReservationAssignmentsResponse(self): + """Test GetReservationAssignmentsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_assignments_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservation_assignments_response_data_inner.py new file mode 100644 index 0000000..6f9e3e2 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_assignments_response_data_inner.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_assignments_response_data_inner import GetReservationAssignmentsResponseDataInner + +class TestGetReservationAssignmentsResponseDataInner(unittest.TestCase): + """GetReservationAssignmentsResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationAssignmentsResponseDataInner: + """Test GetReservationAssignmentsResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationAssignmentsResponseDataInner` + """ + model = GetReservationAssignmentsResponseDataInner() + if include_optional: + return GetReservationAssignmentsResponseDataInner( + guest_name = '', + reservation_id = '', + unassigned = 56, + assigned = [ + cloudbeds_pms_v1_3.models.get_reservation_assignments_response_data_inner_assigned_inner.GetReservationAssignmentsResponse_data_inner_assigned_inner( + room_type_id = '', + room_type_name = '', + room_type_name_short = '', + dorm_room_name = '', + room_name = '', + room_id = '', + sub_reservation_id = '', ) + ] + ) + else: + return GetReservationAssignmentsResponseDataInner( + ) + """ + + def testGetReservationAssignmentsResponseDataInner(self): + """Test GetReservationAssignmentsResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_assignments_response_data_inner_assigned_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservation_assignments_response_data_inner_assigned_inner.py new file mode 100644 index 0000000..58d3948 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_assignments_response_data_inner_assigned_inner.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_assignments_response_data_inner_assigned_inner import GetReservationAssignmentsResponseDataInnerAssignedInner + +class TestGetReservationAssignmentsResponseDataInnerAssignedInner(unittest.TestCase): + """GetReservationAssignmentsResponseDataInnerAssignedInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationAssignmentsResponseDataInnerAssignedInner: + """Test GetReservationAssignmentsResponseDataInnerAssignedInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationAssignmentsResponseDataInnerAssignedInner` + """ + model = GetReservationAssignmentsResponseDataInnerAssignedInner() + if include_optional: + return GetReservationAssignmentsResponseDataInnerAssignedInner( + room_type_id = '', + room_type_name = '', + room_type_name_short = '', + dorm_room_name = '', + room_name = '', + room_id = '', + sub_reservation_id = '' + ) + else: + return GetReservationAssignmentsResponseDataInnerAssignedInner( + ) + """ + + def testGetReservationAssignmentsResponseDataInnerAssignedInner(self): + """Test GetReservationAssignmentsResponseDataInnerAssignedInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_notes_response.py b/cloudbeds_pms_v1_3/test/test_get_reservation_notes_response.py new file mode 100644 index 0000000..b2b1180 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_notes_response.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_notes_response import GetReservationNotesResponse + +class TestGetReservationNotesResponse(unittest.TestCase): + """GetReservationNotesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationNotesResponse: + """Test GetReservationNotesResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationNotesResponse` + """ + model = GetReservationNotesResponse() + if include_optional: + return GetReservationNotesResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_reservation_notes_response_data_inner.GetReservationNotesResponse_data_inner( + reservation_note_id = '', + user_name = '', + date_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_modified = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + reservation_note = '', ) + ], + message = '' + ) + else: + return GetReservationNotesResponse( + ) + """ + + def testGetReservationNotesResponse(self): + """Test GetReservationNotesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_notes_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservation_notes_response_data_inner.py new file mode 100644 index 0000000..af01a7a --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_notes_response_data_inner.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_notes_response_data_inner import GetReservationNotesResponseDataInner + +class TestGetReservationNotesResponseDataInner(unittest.TestCase): + """GetReservationNotesResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationNotesResponseDataInner: + """Test GetReservationNotesResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationNotesResponseDataInner` + """ + model = GetReservationNotesResponseDataInner() + if include_optional: + return GetReservationNotesResponseDataInner( + reservation_note_id = '', + user_name = '', + date_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_modified = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + reservation_note = '' + ) + else: + return GetReservationNotesResponseDataInner( + ) + """ + + def testGetReservationNotesResponseDataInner(self): + """Test GetReservationNotesResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_response.py b/cloudbeds_pms_v1_3/test/test_get_reservation_response.py new file mode 100644 index 0000000..d814a25 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_response.py @@ -0,0 +1,185 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_response import GetReservationResponse + +class TestGetReservationResponse(unittest.TestCase): + """GetReservationResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationResponse: + """Test GetReservationResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationResponse` + """ + model = GetReservationResponse() + if include_optional: + return GetReservationResponse( + success = True, + data = cloudbeds_pms_v1_3.models.get_reservation_response_data.GetReservationResponse_data( + property_id = '', + guest_name = '', + guest_email = '', + is_anonymized = True, + guest_list = { + 'key' : cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value.GetReservationResponse_data_guestList_value( + guest_id = '', + guest_first_name = '', + guest_last_name = '', + guest_gender = 'M', + guest_email = '', + guest_phone = '', + guest_cell_phone = '', + guest_address = '', + guest_address2 = '', + guest_city = '', + guest_state = '', + guest_country = '', + guest_zip = '', + guest_status = 'in_progress', + guest_birthdate = null, + guest_document_type = '', + guest_document_number = '', + guest_document_issue_date = null, + guest_document_issuing_country = '', + guest_document_expiration_date = null, + tax_id = '', + company_tax_id = '', + company_name = '', + assigned_room = True, + is_anonymized = True, + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + is_main_guest = True, + guest_requirements = cloudbeds_pms_v1_3.models.guest_requirements.guestRequirements(), + custom_fields = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_custom_fields_inner.GetReservationResponse_data_guestList_value_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + rooms = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_rooms_inner.GetReservationResponse_data_guestList_value_rooms_inner( + reservation_room_id = '', + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + sub_reservation_id = '', ) + ], + unassigned_rooms = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_unassigned_rooms_inner.GetReservationResponse_data_guestList_value_unassignedRooms_inner( + reservation_room_id = '', + room_type_id = '', + room_type_name = '', + room_type_is_virtual = True, + sub_reservation_id = '', ) + ], ) + }, + reservation_id = '', + date_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_modified = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + estimated_arrival_time = '', + source = '', + source_id = '', + third_party_identifier = '', + status = 'confirmed', + total = 1.337, + balance = 1.337, + balance_detailed = null, + assigned = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner.GetReservationResponse_data_assigned_inner( + reservation_room_id = '', + room_type_name = '', + room_type_name_short = '', + room_type_is_virtual = True, + dorm_room_name = '', + room_type_id = '', + sub_reservation_id = '', + room_name = '', + room_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + adults = '', + children = '', + daily_rates = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner_daily_rates_inner.GetReservationResponse_data_assigned_inner_dailyRates_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, ) + ], + room_total = '', + market_name = '', + market_code = '', ) + ], + unassigned = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_unassigned_inner.GetReservationResponse_data_unassigned_inner( + reservation_room_id = '', + room_type_name = '', + room_type_is_virtual = True, + room_type_id = '', + sub_reservation_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + adults = '', + children = '', + room_total = '', ) + ], + cards_on_file = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_cards_on_file_inner.GetReservationResponse_data_cardsOnFile_inner( + card_id = '', + card_number = '', + card_type = 'visa', ) + ], + custom_fields = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_custom_fields_inner.GetReservationResponse_data_guestList_value_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + allotment_block_code = '', + channel_provided_credit_card = True, + group_inventory = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_group_inventory_inner.GetReservationResponse_data_groupInventory_inner( + sub_reservation_id = '', + allotment_block_code = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), ) + ], + origin = '', + meal_plans = '', ), + message = '' + ) + else: + return GetReservationResponse( + ) + """ + + def testGetReservationResponse(self): + """Test GetReservationResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_response_data.py b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data.py new file mode 100644 index 0000000..3f085b5 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data.py @@ -0,0 +1,187 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_response_data import GetReservationResponseData + +class TestGetReservationResponseData(unittest.TestCase): + """GetReservationResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationResponseData: + """Test GetReservationResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationResponseData` + """ + model = GetReservationResponseData() + if include_optional: + return GetReservationResponseData( + property_id = '', + guest_name = '', + guest_email = '', + is_anonymized = True, + guest_list = { + 'key' : cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value.GetReservationResponse_data_guestList_value( + guest_id = '', + guest_first_name = '', + guest_last_name = '', + guest_gender = 'M', + guest_email = '', + guest_phone = '', + guest_cell_phone = '', + guest_address = '', + guest_address2 = '', + guest_city = '', + guest_state = '', + guest_country = '', + guest_zip = '', + guest_status = 'in_progress', + guest_birthdate = null, + guest_document_type = '', + guest_document_number = '', + guest_document_issue_date = null, + guest_document_issuing_country = '', + guest_document_expiration_date = null, + tax_id = '', + company_tax_id = '', + company_name = '', + assigned_room = True, + is_anonymized = True, + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + is_main_guest = True, + guest_requirements = cloudbeds_pms_v1_3.models.guest_requirements.guestRequirements(), + custom_fields = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_custom_fields_inner.GetReservationResponse_data_guestList_value_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + rooms = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_rooms_inner.GetReservationResponse_data_guestList_value_rooms_inner( + reservation_room_id = '', + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + sub_reservation_id = '', ) + ], + unassigned_rooms = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_unassigned_rooms_inner.GetReservationResponse_data_guestList_value_unassignedRooms_inner( + reservation_room_id = '', + room_type_id = '', + room_type_name = '', + room_type_is_virtual = True, + sub_reservation_id = '', ) + ], ) + }, + reservation_id = '', + date_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_modified = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + estimated_arrival_time = '', + source = '', + source_id = '', + third_party_identifier = '', + status = 'confirmed', + total = 1.337, + balance = 1.337, + balance_detailed = None, + assigned = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner.GetReservationResponse_data_assigned_inner( + reservation_room_id = '', + room_type_name = '', + room_type_name_short = '', + room_type_is_virtual = True, + dorm_room_name = '', + room_type_id = '', + sub_reservation_id = '', + room_name = '', + room_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + adults = '', + children = '', + daily_rates = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner_daily_rates_inner.GetReservationResponse_data_assigned_inner_dailyRates_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, ) + ], + room_total = '', + market_name = '', + market_code = '', ) + ], + unassigned = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_unassigned_inner.GetReservationResponse_data_unassigned_inner( + reservation_room_id = '', + room_type_name = '', + room_type_is_virtual = True, + room_type_id = '', + sub_reservation_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + adults = '', + children = '', + daily_rates = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner_daily_rates_inner.GetReservationResponse_data_assigned_inner_dailyRates_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, ) + ], + room_total = '', ) + ], + cards_on_file = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_cards_on_file_inner.GetReservationResponse_data_cardsOnFile_inner( + card_id = '', + card_number = '', + card_type = 'visa', ) + ], + custom_fields = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_custom_fields_inner.GetReservationResponse_data_guestList_value_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + allotment_block_code = '', + channel_provided_credit_card = True, + group_inventory = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_group_inventory_inner.GetReservationResponse_data_groupInventory_inner( + sub_reservation_id = '', + allotment_block_code = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), ) + ], + origin = '', + meal_plans = '' + ) + else: + return GetReservationResponseData( + ) + """ + + def testGetReservationResponseData(self): + """Test GetReservationResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_assigned_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_assigned_inner.py new file mode 100644 index 0000000..bbcdbb2 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_assigned_inner.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner import GetReservationResponseDataAssignedInner + +class TestGetReservationResponseDataAssignedInner(unittest.TestCase): + """GetReservationResponseDataAssignedInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationResponseDataAssignedInner: + """Test GetReservationResponseDataAssignedInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationResponseDataAssignedInner` + """ + model = GetReservationResponseDataAssignedInner() + if include_optional: + return GetReservationResponseDataAssignedInner( + reservation_room_id = '', + room_type_name = '', + room_type_name_short = '', + room_type_is_virtual = True, + dorm_room_name = '', + room_type_id = '', + sub_reservation_id = '', + room_name = '', + room_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + adults = '', + children = '', + daily_rates = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner_daily_rates_inner.GetReservationResponse_data_assigned_inner_dailyRates_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, ) + ], + room_total = '', + market_name = '', + market_code = '' + ) + else: + return GetReservationResponseDataAssignedInner( + ) + """ + + def testGetReservationResponseDataAssignedInner(self): + """Test GetReservationResponseDataAssignedInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_assigned_inner_daily_rates_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_assigned_inner_daily_rates_inner.py new file mode 100644 index 0000000..451bbfa --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_assigned_inner_daily_rates_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner_daily_rates_inner import GetReservationResponseDataAssignedInnerDailyRatesInner + +class TestGetReservationResponseDataAssignedInnerDailyRatesInner(unittest.TestCase): + """GetReservationResponseDataAssignedInnerDailyRatesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationResponseDataAssignedInnerDailyRatesInner: + """Test GetReservationResponseDataAssignedInnerDailyRatesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationResponseDataAssignedInnerDailyRatesInner` + """ + model = GetReservationResponseDataAssignedInnerDailyRatesInner() + if include_optional: + return GetReservationResponseDataAssignedInnerDailyRatesInner( + var_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337 + ) + else: + return GetReservationResponseDataAssignedInnerDailyRatesInner( + ) + """ + + def testGetReservationResponseDataAssignedInnerDailyRatesInner(self): + """Test GetReservationResponseDataAssignedInnerDailyRatesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_balance_detailed.py b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_balance_detailed.py new file mode 100644 index 0000000..7c780e5 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_balance_detailed.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_response_data_balance_detailed import GetReservationResponseDataBalanceDetailed + +class TestGetReservationResponseDataBalanceDetailed(unittest.TestCase): + """GetReservationResponseDataBalanceDetailed unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationResponseDataBalanceDetailed: + """Test GetReservationResponseDataBalanceDetailed + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationResponseDataBalanceDetailed` + """ + model = GetReservationResponseDataBalanceDetailed() + if include_optional: + return GetReservationResponseDataBalanceDetailed( + suggested_deposit = '', + sub_total = 1.337, + additional_items = 1.337, + taxes_fees = 1.337, + grand_total = 1.337, + paid = 1.337 + ) + else: + return GetReservationResponseDataBalanceDetailed( + ) + """ + + def testGetReservationResponseDataBalanceDetailed(self): + """Test GetReservationResponseDataBalanceDetailed""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_balance_detailed_one_of.py b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_balance_detailed_one_of.py new file mode 100644 index 0000000..6f860d2 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_balance_detailed_one_of.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_response_data_balance_detailed_one_of import GetReservationResponseDataBalanceDetailedOneOf + +class TestGetReservationResponseDataBalanceDetailedOneOf(unittest.TestCase): + """GetReservationResponseDataBalanceDetailedOneOf unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationResponseDataBalanceDetailedOneOf: + """Test GetReservationResponseDataBalanceDetailedOneOf + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationResponseDataBalanceDetailedOneOf` + """ + model = GetReservationResponseDataBalanceDetailedOneOf() + if include_optional: + return GetReservationResponseDataBalanceDetailedOneOf( + suggested_deposit = '', + sub_total = 1.337, + additional_items = 1.337, + taxes_fees = 1.337, + grand_total = 1.337, + paid = 1.337 + ) + else: + return GetReservationResponseDataBalanceDetailedOneOf( + ) + """ + + def testGetReservationResponseDataBalanceDetailedOneOf(self): + """Test GetReservationResponseDataBalanceDetailedOneOf""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_cards_on_file_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_cards_on_file_inner.py new file mode 100644 index 0000000..019b30d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_cards_on_file_inner.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_response_data_cards_on_file_inner import GetReservationResponseDataCardsOnFileInner + +class TestGetReservationResponseDataCardsOnFileInner(unittest.TestCase): + """GetReservationResponseDataCardsOnFileInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationResponseDataCardsOnFileInner: + """Test GetReservationResponseDataCardsOnFileInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationResponseDataCardsOnFileInner` + """ + model = GetReservationResponseDataCardsOnFileInner() + if include_optional: + return GetReservationResponseDataCardsOnFileInner( + card_id = '', + card_number = '', + card_type = 'visa' + ) + else: + return GetReservationResponseDataCardsOnFileInner( + ) + """ + + def testGetReservationResponseDataCardsOnFileInner(self): + """Test GetReservationResponseDataCardsOnFileInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_group_inventory_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_group_inventory_inner.py new file mode 100644 index 0000000..24bd77d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_group_inventory_inner.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_response_data_group_inventory_inner import GetReservationResponseDataGroupInventoryInner + +class TestGetReservationResponseDataGroupInventoryInner(unittest.TestCase): + """GetReservationResponseDataGroupInventoryInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationResponseDataGroupInventoryInner: + """Test GetReservationResponseDataGroupInventoryInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationResponseDataGroupInventoryInner` + """ + model = GetReservationResponseDataGroupInventoryInner() + if include_optional: + return GetReservationResponseDataGroupInventoryInner( + sub_reservation_id = '', + allotment_block_code = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date() + ) + else: + return GetReservationResponseDataGroupInventoryInner( + ) + """ + + def testGetReservationResponseDataGroupInventoryInner(self): + """Test GetReservationResponseDataGroupInventoryInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value.py b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value.py new file mode 100644 index 0000000..6e2ee5d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value import GetReservationResponseDataGuestListValue + +class TestGetReservationResponseDataGuestListValue(unittest.TestCase): + """GetReservationResponseDataGuestListValue unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationResponseDataGuestListValue: + """Test GetReservationResponseDataGuestListValue + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationResponseDataGuestListValue` + """ + model = GetReservationResponseDataGuestListValue() + if include_optional: + return GetReservationResponseDataGuestListValue( + guest_id = '', + guest_first_name = '', + guest_last_name = '', + guest_gender = 'M', + guest_email = '', + guest_phone = '', + guest_cell_phone = '', + guest_address = '', + guest_address2 = '', + guest_city = '', + guest_state = '', + guest_country = '', + guest_zip = '', + guest_status = 'in_progress', + guest_birthdate = None, + guest_document_type = '', + guest_document_number = '', + guest_document_issue_date = None, + guest_document_issuing_country = '', + guest_document_expiration_date = None, + tax_id = '', + company_tax_id = '', + company_name = '', + assigned_room = True, + is_anonymized = True, + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + is_main_guest = True, + guest_requirements = cloudbeds_pms_v1_3.models.guest_requirements.guestRequirements(), + custom_fields = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_custom_fields_inner.GetReservationResponse_data_guestList_value_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + rooms = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_rooms_inner.GetReservationResponse_data_guestList_value_rooms_inner( + reservation_room_id = '', + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + sub_reservation_id = '', ) + ], + unassigned_rooms = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_unassigned_rooms_inner.GetReservationResponse_data_guestList_value_unassignedRooms_inner( + reservation_room_id = '', + room_type_id = '', + room_type_name = '', + room_type_is_virtual = True, + sub_reservation_id = '', ) + ] + ) + else: + return GetReservationResponseDataGuestListValue( + ) + """ + + def testGetReservationResponseDataGuestListValue(self): + """Test GetReservationResponseDataGuestListValue""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value_custom_fields_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value_custom_fields_inner.py new file mode 100644 index 0000000..3866d42 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value_custom_fields_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_custom_fields_inner import GetReservationResponseDataGuestListValueCustomFieldsInner + +class TestGetReservationResponseDataGuestListValueCustomFieldsInner(unittest.TestCase): + """GetReservationResponseDataGuestListValueCustomFieldsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationResponseDataGuestListValueCustomFieldsInner: + """Test GetReservationResponseDataGuestListValueCustomFieldsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationResponseDataGuestListValueCustomFieldsInner` + """ + model = GetReservationResponseDataGuestListValueCustomFieldsInner() + if include_optional: + return GetReservationResponseDataGuestListValueCustomFieldsInner( + custom_field_name = '', + custom_field_value = '' + ) + else: + return GetReservationResponseDataGuestListValueCustomFieldsInner( + ) + """ + + def testGetReservationResponseDataGuestListValueCustomFieldsInner(self): + """Test GetReservationResponseDataGuestListValueCustomFieldsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value_guest_birthdate.py b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value_guest_birthdate.py new file mode 100644 index 0000000..fee3a40 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value_guest_birthdate.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_guest_birthdate import GetReservationResponseDataGuestListValueGuestBirthdate + +class TestGetReservationResponseDataGuestListValueGuestBirthdate(unittest.TestCase): + """GetReservationResponseDataGuestListValueGuestBirthdate unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationResponseDataGuestListValueGuestBirthdate: + """Test GetReservationResponseDataGuestListValueGuestBirthdate + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationResponseDataGuestListValueGuestBirthdate` + """ + model = GetReservationResponseDataGuestListValueGuestBirthdate() + if include_optional: + return GetReservationResponseDataGuestListValueGuestBirthdate( + ) + else: + return GetReservationResponseDataGuestListValueGuestBirthdate( + ) + """ + + def testGetReservationResponseDataGuestListValueGuestBirthdate(self): + """Test GetReservationResponseDataGuestListValueGuestBirthdate""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value_rooms_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value_rooms_inner.py new file mode 100644 index 0000000..fedfb28 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value_rooms_inner.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_rooms_inner import GetReservationResponseDataGuestListValueRoomsInner + +class TestGetReservationResponseDataGuestListValueRoomsInner(unittest.TestCase): + """GetReservationResponseDataGuestListValueRoomsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationResponseDataGuestListValueRoomsInner: + """Test GetReservationResponseDataGuestListValueRoomsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationResponseDataGuestListValueRoomsInner` + """ + model = GetReservationResponseDataGuestListValueRoomsInner() + if include_optional: + return GetReservationResponseDataGuestListValueRoomsInner( + reservation_room_id = '', + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + sub_reservation_id = '' + ) + else: + return GetReservationResponseDataGuestListValueRoomsInner( + ) + """ + + def testGetReservationResponseDataGuestListValueRoomsInner(self): + """Test GetReservationResponseDataGuestListValueRoomsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value_unassigned_rooms_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value_unassigned_rooms_inner.py new file mode 100644 index 0000000..ae92d2c --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_guest_list_value_unassigned_rooms_inner.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_response_data_guest_list_value_unassigned_rooms_inner import GetReservationResponseDataGuestListValueUnassignedRoomsInner + +class TestGetReservationResponseDataGuestListValueUnassignedRoomsInner(unittest.TestCase): + """GetReservationResponseDataGuestListValueUnassignedRoomsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationResponseDataGuestListValueUnassignedRoomsInner: + """Test GetReservationResponseDataGuestListValueUnassignedRoomsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationResponseDataGuestListValueUnassignedRoomsInner` + """ + model = GetReservationResponseDataGuestListValueUnassignedRoomsInner() + if include_optional: + return GetReservationResponseDataGuestListValueUnassignedRoomsInner( + reservation_room_id = '', + room_type_id = '', + room_type_name = '', + room_type_is_virtual = True, + sub_reservation_id = '' + ) + else: + return GetReservationResponseDataGuestListValueUnassignedRoomsInner( + ) + """ + + def testGetReservationResponseDataGuestListValueUnassignedRoomsInner(self): + """Test GetReservationResponseDataGuestListValueUnassignedRoomsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_unassigned_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_unassigned_inner.py new file mode 100644 index 0000000..b3319f7 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_response_data_unassigned_inner.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_response_data_unassigned_inner import GetReservationResponseDataUnassignedInner + +class TestGetReservationResponseDataUnassignedInner(unittest.TestCase): + """GetReservationResponseDataUnassignedInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationResponseDataUnassignedInner: + """Test GetReservationResponseDataUnassignedInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationResponseDataUnassignedInner` + """ + model = GetReservationResponseDataUnassignedInner() + if include_optional: + return GetReservationResponseDataUnassignedInner( + reservation_room_id = '', + room_type_name = '', + room_type_is_virtual = True, + room_type_id = '', + sub_reservation_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + adults = '', + children = '', + daily_rates = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner_daily_rates_inner.GetReservationResponse_data_assigned_inner_dailyRates_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, ) + ], + room_total = '' + ) + else: + return GetReservationResponseDataUnassignedInner( + ) + """ + + def testGetReservationResponseDataUnassignedInner(self): + """Test GetReservationResponseDataUnassignedInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_room_details_response.py b/cloudbeds_pms_v1_3/test/test_get_reservation_room_details_response.py new file mode 100644 index 0000000..9ed16e1 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_room_details_response.py @@ -0,0 +1,74 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_room_details_response import GetReservationRoomDetailsResponse + +class TestGetReservationRoomDetailsResponse(unittest.TestCase): + """GetReservationRoomDetailsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationRoomDetailsResponse: + """Test GetReservationRoomDetailsResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationRoomDetailsResponse` + """ + model = GetReservationRoomDetailsResponse() + if include_optional: + return GetReservationRoomDetailsResponse( + success = True, + message = '', + data = cloudbeds_pms_v1_3.models.get_reservation_room_details_response_data.GetReservationRoomDetailsResponse_data( + reservation_id = '', + sub_reservation_id = '', + room_id = '', + room_name = '', + dorm_room_name = '', + guest_id = '', + guest_name = '', + room_status = 'cancelled', + room_type_id = '', + room_type_name = '', + room_type_is_virtual = True, + max_guests = 56, + adults = 56, + children = 56, + guests = [ + cloudbeds_pms_v1_3.models.get_reservation_room_details_response_data_guests_inner.GetReservationRoomDetailsResponse_data_guests_inner( + guest_id = '', + guest_first_name = '', + guest_last_name = '', + is_main_guest = True, ) + ], ) + ) + else: + return GetReservationRoomDetailsResponse( + ) + """ + + def testGetReservationRoomDetailsResponse(self): + """Test GetReservationRoomDetailsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_room_details_response_data.py b/cloudbeds_pms_v1_3/test/test_get_reservation_room_details_response_data.py new file mode 100644 index 0000000..daed18c --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_room_details_response_data.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_room_details_response_data import GetReservationRoomDetailsResponseData + +class TestGetReservationRoomDetailsResponseData(unittest.TestCase): + """GetReservationRoomDetailsResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationRoomDetailsResponseData: + """Test GetReservationRoomDetailsResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationRoomDetailsResponseData` + """ + model = GetReservationRoomDetailsResponseData() + if include_optional: + return GetReservationRoomDetailsResponseData( + reservation_id = '', + sub_reservation_id = '', + room_id = '', + room_name = '', + dorm_room_name = '', + guest_id = '', + guest_name = '', + room_status = 'cancelled', + room_type_id = '', + room_type_name = '', + room_type_is_virtual = True, + max_guests = 56, + adults = 56, + children = 56, + guests = [ + cloudbeds_pms_v1_3.models.get_reservation_room_details_response_data_guests_inner.GetReservationRoomDetailsResponse_data_guests_inner( + guest_id = '', + guest_first_name = '', + guest_last_name = '', + is_main_guest = True, ) + ] + ) + else: + return GetReservationRoomDetailsResponseData( + ) + """ + + def testGetReservationRoomDetailsResponseData(self): + """Test GetReservationRoomDetailsResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservation_room_details_response_data_guests_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservation_room_details_response_data_guests_inner.py new file mode 100644 index 0000000..3a37c30 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservation_room_details_response_data_guests_inner.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservation_room_details_response_data_guests_inner import GetReservationRoomDetailsResponseDataGuestsInner + +class TestGetReservationRoomDetailsResponseDataGuestsInner(unittest.TestCase): + """GetReservationRoomDetailsResponseDataGuestsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationRoomDetailsResponseDataGuestsInner: + """Test GetReservationRoomDetailsResponseDataGuestsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationRoomDetailsResponseDataGuestsInner` + """ + model = GetReservationRoomDetailsResponseDataGuestsInner() + if include_optional: + return GetReservationRoomDetailsResponseDataGuestsInner( + guest_id = '', + guest_first_name = '', + guest_last_name = '', + is_main_guest = True + ) + else: + return GetReservationRoomDetailsResponseDataGuestsInner( + ) + """ + + def testGetReservationRoomDetailsResponseDataGuestsInner(self): + """Test GetReservationRoomDetailsResponseDataGuestsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservations_response.py b/cloudbeds_pms_v1_3/test/test_get_reservations_response.py new file mode 100644 index 0000000..d2576fa --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservations_response.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservations_response import GetReservationsResponse + +class TestGetReservationsResponse(unittest.TestCase): + """GetReservationsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationsResponse: + """Test GetReservationsResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationsResponse` + """ + model = GetReservationsResponse() + if include_optional: + return GetReservationsResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_reservations_response_data_inner.GetReservationsResponse_data_inner( + property_id = '', + reservation_id = '', + date_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_modified = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'not_confirmed', + guest_id = '', + profile_id = '', + guest_name = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + allotment_block_code = '', + group_code = '', + adults = '', + children = '', + balance = 1.337, + source_name = '', + source_id = '', + third_party_identifier = '', + group_inventory = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_group_inventory_inner.GetReservationResponse_data_groupInventory_inner( + sub_reservation_id = '', + allotment_block_code = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), ) + ], + sub_reservation_id = '', + custom_fields = [ + cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner.GetGuestsModifiedResponse_data_inner_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + rooms = [ + cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_rooms_inner.GetReservationsResponse_data_inner_rooms_inner( + room_type_id = '', + room_type_name = '', + room_type_is_virtual = True, + sub_reservation_id = '', + guest_id = '', + guest_name = '', + adults = '', + children = '', + reservation_room_id = '', + room_id = '', + room_name = '', + room_check_in = '', + room_check_out = '', + room_status = 'cancelled', + market_name = '', + market_code = '', ) + ], + guest_list = { + 'key' : cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value.GetReservationsResponse_data_inner_guestList_value( + guest_id = '', + guest_name = '', + guest_first_name = '', + guest_last_name = '', + guest_gender = 'M', + guest_email = '', + guest_phone = '', + guest_cell_phone = '', + guest_address = '', + guest_address2 = '', + guest_city = '', + guest_state = '', + guest_country = '', + guest_zip = '', + guest_birthdate = '', + guest_document_type = '', + guest_document_number = '', + guest_document_issue_date = '', + guest_document_issuing_country = '', + guest_document_expiration_date = '', + tax_id = '', + company_tax_id = '', + company_name = '', + sub_reservation_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + assigned_room = True, + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + unassigned_rooms = [ + cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner.GetReservationsResponse_data_inner_guestList_value_unassignedRooms_inner( + reservation_room_id = '', + room_type_id = '', + room_type_name = '', + room_type_is_virtual = True, + room_type_name_short = '', + rate_id = '', + rate_plan_name = '', + sub_reservation_id = '', ) + ], + guest_requirements = cloudbeds_pms_v1_3.models.guest_requirements.guestRequirements(), + is_anonymized = True, + is_main_guest = True, ) + }, + origin = '', + meal_plans = '', ) + ], + count = 56, + total = 56 + ) + else: + return GetReservationsResponse( + ) + """ + + def testGetReservationsResponse(self): + """Test GetReservationsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner.py new file mode 100644 index 0000000..a76da28 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner.py @@ -0,0 +1,169 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner import GetReservationsResponseDataInner + +class TestGetReservationsResponseDataInner(unittest.TestCase): + """GetReservationsResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationsResponseDataInner: + """Test GetReservationsResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationsResponseDataInner` + """ + model = GetReservationsResponseDataInner() + if include_optional: + return GetReservationsResponseDataInner( + property_id = '', + reservation_id = '', + date_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_modified = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'not_confirmed', + guest_id = '', + profile_id = '', + guest_name = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + allotment_block_code = '', + group_code = '', + adults = '', + children = '', + balance = 1.337, + source_name = '', + source_id = '', + third_party_identifier = '', + group_inventory = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_group_inventory_inner.GetReservationResponse_data_groupInventory_inner( + sub_reservation_id = '', + allotment_block_code = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), ) + ], + sub_reservation_id = '', + custom_fields = [ + cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner.GetGuestsModifiedResponse_data_inner_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + rooms = [ + cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_rooms_inner.GetReservationsResponse_data_inner_rooms_inner( + room_type_id = '', + room_type_name = '', + room_type_is_virtual = True, + sub_reservation_id = '', + guest_id = '', + guest_name = '', + adults = '', + children = '', + reservation_room_id = '', + room_id = '', + room_name = '', + room_check_in = '', + room_check_out = '', + room_status = 'cancelled', + market_name = '', + market_code = '', ) + ], + guest_list = { + 'key' : cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value.GetReservationsResponse_data_inner_guestList_value( + guest_id = '', + guest_name = '', + guest_first_name = '', + guest_last_name = '', + guest_gender = 'M', + guest_email = '', + guest_phone = '', + guest_cell_phone = '', + guest_address = '', + guest_address2 = '', + guest_city = '', + guest_state = '', + guest_country = '', + guest_zip = '', + guest_birthdate = '', + guest_document_type = '', + guest_document_number = '', + guest_document_issue_date = '', + guest_document_issuing_country = '', + guest_document_expiration_date = '', + tax_id = '', + company_tax_id = '', + company_name = '', + sub_reservation_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + assigned_room = True, + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + rooms = [ + cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_rooms_inner.GetReservationsResponse_data_inner_guestList_value_rooms_inner( + reservation_room_id = '', + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + room_type_id = '', + room_type_name_short = '', + rate_id = '', + rate_plan_name = '', + room_status = 'in_house', + sub_reservation_id = '', ) + ], + unassigned_rooms = [ + cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner.GetReservationsResponse_data_inner_guestList_value_unassignedRooms_inner( + reservation_room_id = '', + room_type_id = '', + room_type_name = '', + room_type_is_virtual = True, + room_type_name_short = '', + rate_id = '', + rate_plan_name = '', + sub_reservation_id = '', ) + ], + guest_requirements = cloudbeds_pms_v1_3.models.guest_requirements.guestRequirements(), + custom_fields = [ + cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner.GetGuestsModifiedResponse_data_inner_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + is_anonymized = True, + is_main_guest = True, ) + }, + origin = '', + meal_plans = '' + ) + else: + return GetReservationsResponseDataInner( + ) + """ + + def testGetReservationsResponseDataInner(self): + """Test GetReservationsResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner_guest_list_value.py b/cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner_guest_list_value.py new file mode 100644 index 0000000..4fb7fba --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner_guest_list_value.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value import GetReservationsResponseDataInnerGuestListValue + +class TestGetReservationsResponseDataInnerGuestListValue(unittest.TestCase): + """GetReservationsResponseDataInnerGuestListValue unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationsResponseDataInnerGuestListValue: + """Test GetReservationsResponseDataInnerGuestListValue + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationsResponseDataInnerGuestListValue` + """ + model = GetReservationsResponseDataInnerGuestListValue() + if include_optional: + return GetReservationsResponseDataInnerGuestListValue( + guest_id = '', + guest_name = '', + guest_first_name = '', + guest_last_name = '', + guest_gender = 'M', + guest_email = '', + guest_phone = '', + guest_cell_phone = '', + guest_address = '', + guest_address2 = '', + guest_city = '', + guest_state = '', + guest_country = '', + guest_zip = '', + guest_birthdate = '', + guest_document_type = '', + guest_document_number = '', + guest_document_issue_date = '', + guest_document_issuing_country = '', + guest_document_expiration_date = '', + tax_id = '', + company_tax_id = '', + company_name = '', + sub_reservation_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + assigned_room = True, + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + rooms = [ + cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_rooms_inner.GetReservationsResponse_data_inner_guestList_value_rooms_inner( + reservation_room_id = '', + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + room_type_id = '', + room_type_name_short = '', + rate_id = '', + rate_plan_name = '', + room_status = 'in_house', + sub_reservation_id = '', ) + ], + unassigned_rooms = [ + cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner.GetReservationsResponse_data_inner_guestList_value_unassignedRooms_inner( + reservation_room_id = '', + room_type_id = '', + room_type_name = '', + room_type_is_virtual = True, + room_type_name_short = '', + rate_id = '', + rate_plan_name = '', + sub_reservation_id = '', ) + ], + guest_requirements = cloudbeds_pms_v1_3.models.guest_requirements.guestRequirements(), + custom_fields = [ + cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner.GetGuestsModifiedResponse_data_inner_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + is_anonymized = True, + is_main_guest = True + ) + else: + return GetReservationsResponseDataInnerGuestListValue( + ) + """ + + def testGetReservationsResponseDataInnerGuestListValue(self): + """Test GetReservationsResponseDataInnerGuestListValue""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner_guest_list_value_rooms_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner_guest_list_value_rooms_inner.py new file mode 100644 index 0000000..9f3e95e --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner_guest_list_value_rooms_inner.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_rooms_inner import GetReservationsResponseDataInnerGuestListValueRoomsInner + +class TestGetReservationsResponseDataInnerGuestListValueRoomsInner(unittest.TestCase): + """GetReservationsResponseDataInnerGuestListValueRoomsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationsResponseDataInnerGuestListValueRoomsInner: + """Test GetReservationsResponseDataInnerGuestListValueRoomsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationsResponseDataInnerGuestListValueRoomsInner` + """ + model = GetReservationsResponseDataInnerGuestListValueRoomsInner() + if include_optional: + return GetReservationsResponseDataInnerGuestListValueRoomsInner( + reservation_room_id = '', + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + room_type_id = '', + room_type_name_short = '', + rate_id = '', + rate_plan_name = '', + room_status = 'in_house', + sub_reservation_id = '' + ) + else: + return GetReservationsResponseDataInnerGuestListValueRoomsInner( + ) + """ + + def testGetReservationsResponseDataInnerGuestListValueRoomsInner(self): + """Test GetReservationsResponseDataInnerGuestListValueRoomsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner.py new file mode 100644 index 0000000..46cb5aa --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner import GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner + +class TestGetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner(unittest.TestCase): + """GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner: + """Test GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner` + """ + model = GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner() + if include_optional: + return GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner( + reservation_room_id = '', + room_type_id = '', + room_type_name = '', + room_type_is_virtual = True, + room_type_name_short = '', + rate_id = '', + rate_plan_name = '', + sub_reservation_id = '' + ) + else: + return GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner( + ) + """ + + def testGetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner(self): + """Test GetReservationsResponseDataInnerGuestListValueUnassignedRoomsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner_rooms_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner_rooms_inner.py new file mode 100644 index 0000000..82c9191 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservations_response_data_inner_rooms_inner.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_rooms_inner import GetReservationsResponseDataInnerRoomsInner + +class TestGetReservationsResponseDataInnerRoomsInner(unittest.TestCase): + """GetReservationsResponseDataInnerRoomsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationsResponseDataInnerRoomsInner: + """Test GetReservationsResponseDataInnerRoomsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationsResponseDataInnerRoomsInner` + """ + model = GetReservationsResponseDataInnerRoomsInner() + if include_optional: + return GetReservationsResponseDataInnerRoomsInner( + room_type_id = '', + room_type_name = '', + room_type_is_virtual = True, + sub_reservation_id = '', + guest_id = '', + guest_name = '', + adults = '', + children = '', + reservation_room_id = '', + room_id = '', + room_name = '', + room_check_in = '', + room_check_out = '', + room_status = 'cancelled', + market_name = '', + market_code = '' + ) + else: + return GetReservationsResponseDataInnerRoomsInner( + ) + """ + + def testGetReservationsResponseDataInnerRoomsInner(self): + """Test GetReservationsResponseDataInnerRoomsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response.py b/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response.py new file mode 100644 index 0000000..9d15610 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response.py @@ -0,0 +1,175 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response import GetReservationsWithRateDetailsResponse + +class TestGetReservationsWithRateDetailsResponse(unittest.TestCase): + """GetReservationsWithRateDetailsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationsWithRateDetailsResponse: + """Test GetReservationsWithRateDetailsResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationsWithRateDetailsResponse` + """ + model = GetReservationsWithRateDetailsResponse() + if include_optional: + return GetReservationsWithRateDetailsResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner.GetReservationsWithRateDetailsResponse_data_inner( + property_id = '', + reservation_id = '', + is_deleted = True, + date_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_created_utc = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_modified = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_modified_utc = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_cancelled = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_cancelled_utc = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'confirmed', + reservation_check_in = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + reservation_check_out = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + guest_id = '', + profile_id = '', + guest_country = '', + source_name = '', + source = cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_source.GetReservationsWithRateDetailsResponse_data_inner_source( + name = '', + payment_collect = 'hotel', + source_id = '', + category = '', ), + source_category = '', + source_reservation_id = '', + property_currency = '', + balance_detailed = cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_balance_detailed.GetReservationsWithRateDetailsResponse_data_inner_balanceDetailed( + suggested_deposit = '', + sub_total = 1.337, + additional_items = 1.337, + taxes_fees = 1.337, + grand_total = 1.337, + paid = 1.337, ), + detailed_rates = cloudbeds_pms_v1_3.models.detailed_rates.detailedRates(), + rooms = [ + cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_rooms_inner.GetReservationsWithRateDetailsResponse_data_inner_rooms_inner( + room_type_id = '', + room_type_is_virtual = True, + room_type_name = '', + sub_reservation_id = '', + guest_id = '', + guest_name = '', + rate_id = '', + rate_name = '', + adults = '', + children = '', + reservation_room_id = '', + room_id = '', + room_name = '', + room_check_in = '', + room_check_out = '', + room_status = 'cancelled', + detailed_room_rates = cloudbeds_pms_v1_3.models.detailed_room_rates.detailedRoomRates(), + market_name = '', + market_code = '', ) + ], + origin = '', + meal_plans = '', + guest_list = { + 'key' : cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_guest_list_value.GetReservationsWithRateDetailsResponse_data_inner_guestList_value( + guest_id = '', + guest_name = '', + guest_first_name = '', + guest_last_name = '', + guest_gender = 'M', + guest_email = '', + guest_phone = '', + guest_cell_phone = '', + guest_address = '', + guest_address2 = '', + guest_city = '', + guest_state = '', + guest_country = '', + guest_zip = '', + guest_birthdate = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + guest_document_type = '', + guest_document_number = '', + guest_document_issue_date = '', + guest_document_issuing_country = '', + guest_document_expiration_date = '', + tax_id = '', + company_tax_id = '', + company_name = '', + sub_reservation_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + assigned_room = True, + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + unassigned_rooms = [ + cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner.GetReservationsResponse_data_inner_guestList_value_unassignedRooms_inner( + reservation_room_id = '', + room_type_id = '', + room_type_name = '', + room_type_is_virtual = True, + room_type_name_short = '', + rate_id = '', + rate_plan_name = '', + sub_reservation_id = '', ) + ], + guest_requirements = cloudbeds_pms_v1_3.models.guest_requirements.guestRequirements(), + custom_fields = [ + cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner.GetGuestsModifiedResponse_data_inner_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + is_anonymized = True, + is_main_guest = True, ) + }, + third_party_identifier = '', + custom_fields = [ + cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner.GetGuestsModifiedResponse_data_inner_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + estimated_arrival_time = '', + total = 1.337, + balance = 1.337, + date_imported = '', ) + ], + count = 56, + total = 56 + ) + else: + return GetReservationsWithRateDetailsResponse( + ) + """ + + def testGetReservationsWithRateDetailsResponse(self): + """Test GetReservationsWithRateDetailsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner.py new file mode 100644 index 0000000..1479e4f --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner import GetReservationsWithRateDetailsResponseDataInner + +class TestGetReservationsWithRateDetailsResponseDataInner(unittest.TestCase): + """GetReservationsWithRateDetailsResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationsWithRateDetailsResponseDataInner: + """Test GetReservationsWithRateDetailsResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationsWithRateDetailsResponseDataInner` + """ + model = GetReservationsWithRateDetailsResponseDataInner() + if include_optional: + return GetReservationsWithRateDetailsResponseDataInner( + property_id = '', + reservation_id = '', + is_deleted = True, + date_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_created_utc = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_modified = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_modified_utc = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_cancelled = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_cancelled_utc = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'confirmed', + reservation_check_in = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + reservation_check_out = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + guest_id = '', + profile_id = '', + guest_country = '', + source_name = '', + source = cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_source.GetReservationsWithRateDetailsResponse_data_inner_source( + name = '', + payment_collect = 'hotel', + source_id = '', + category = '', ), + source_category = '', + source_reservation_id = '', + property_currency = '', + balance_detailed = cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_balance_detailed.GetReservationsWithRateDetailsResponse_data_inner_balanceDetailed( + suggested_deposit = '', + sub_total = 1.337, + additional_items = 1.337, + taxes_fees = 1.337, + grand_total = 1.337, + paid = 1.337, ), + detailed_rates = cloudbeds_pms_v1_3.models.detailed_rates.detailedRates(), + rooms = [ + cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_rooms_inner.GetReservationsWithRateDetailsResponse_data_inner_rooms_inner( + room_type_id = '', + room_type_is_virtual = True, + room_type_name = '', + sub_reservation_id = '', + guest_id = '', + guest_name = '', + rate_id = '', + rate_name = '', + adults = '', + children = '', + reservation_room_id = '', + room_id = '', + room_name = '', + room_check_in = '', + room_check_out = '', + room_status = 'cancelled', + detailed_room_rates = cloudbeds_pms_v1_3.models.detailed_room_rates.detailedRoomRates(), + market_name = '', + market_code = '', ) + ], + origin = '', + meal_plans = '', + guest_list = { + 'key' : cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_guest_list_value.GetReservationsWithRateDetailsResponse_data_inner_guestList_value( + guest_id = '', + guest_name = '', + guest_first_name = '', + guest_last_name = '', + guest_gender = 'M', + guest_email = '', + guest_phone = '', + guest_cell_phone = '', + guest_address = '', + guest_address2 = '', + guest_city = '', + guest_state = '', + guest_country = '', + guest_zip = '', + guest_birthdate = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + guest_document_type = '', + guest_document_number = '', + guest_document_issue_date = '', + guest_document_issuing_country = '', + guest_document_expiration_date = '', + tax_id = '', + company_tax_id = '', + company_name = '', + sub_reservation_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + assigned_room = True, + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + rooms = [ + cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_rooms_inner.GetReservationsResponse_data_inner_guestList_value_rooms_inner( + reservation_room_id = '', + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + room_type_id = '', + room_type_name_short = '', + rate_id = '', + rate_plan_name = '', + room_status = 'in_house', + sub_reservation_id = '', ) + ], + unassigned_rooms = [ + cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner.GetReservationsResponse_data_inner_guestList_value_unassignedRooms_inner( + reservation_room_id = '', + room_type_id = '', + room_type_name = '', + room_type_is_virtual = True, + room_type_name_short = '', + rate_id = '', + rate_plan_name = '', + sub_reservation_id = '', ) + ], + guest_requirements = cloudbeds_pms_v1_3.models.guest_requirements.guestRequirements(), + custom_fields = [ + cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner.GetGuestsModifiedResponse_data_inner_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + is_anonymized = True, + is_main_guest = True, ) + }, + third_party_identifier = '', + custom_fields = [ + cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner.GetGuestsModifiedResponse_data_inner_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + estimated_arrival_time = '', + total = 1.337, + balance = 1.337, + date_imported = '' + ) + else: + return GetReservationsWithRateDetailsResponseDataInner( + ) + """ + + def testGetReservationsWithRateDetailsResponseDataInner(self): + """Test GetReservationsWithRateDetailsResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner_balance_detailed.py b/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner_balance_detailed.py new file mode 100644 index 0000000..f64babe --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner_balance_detailed.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_balance_detailed import GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed + +class TestGetReservationsWithRateDetailsResponseDataInnerBalanceDetailed(unittest.TestCase): + """GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed: + """Test GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed` + """ + model = GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed() + if include_optional: + return GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed( + suggested_deposit = '', + sub_total = 1.337, + additional_items = 1.337, + taxes_fees = 1.337, + grand_total = 1.337, + paid = 1.337 + ) + else: + return GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed( + ) + """ + + def testGetReservationsWithRateDetailsResponseDataInnerBalanceDetailed(self): + """Test GetReservationsWithRateDetailsResponseDataInnerBalanceDetailed""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner_guest_list_value.py b/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner_guest_list_value.py new file mode 100644 index 0000000..d9c998b --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner_guest_list_value.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_guest_list_value import GetReservationsWithRateDetailsResponseDataInnerGuestListValue + +class TestGetReservationsWithRateDetailsResponseDataInnerGuestListValue(unittest.TestCase): + """GetReservationsWithRateDetailsResponseDataInnerGuestListValue unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationsWithRateDetailsResponseDataInnerGuestListValue: + """Test GetReservationsWithRateDetailsResponseDataInnerGuestListValue + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationsWithRateDetailsResponseDataInnerGuestListValue` + """ + model = GetReservationsWithRateDetailsResponseDataInnerGuestListValue() + if include_optional: + return GetReservationsWithRateDetailsResponseDataInnerGuestListValue( + guest_id = '', + guest_name = '', + guest_first_name = '', + guest_last_name = '', + guest_gender = 'M', + guest_email = '', + guest_phone = '', + guest_cell_phone = '', + guest_address = '', + guest_address2 = '', + guest_city = '', + guest_state = '', + guest_country = '', + guest_zip = '', + guest_birthdate = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + guest_document_type = '', + guest_document_number = '', + guest_document_issue_date = '', + guest_document_issuing_country = '', + guest_document_expiration_date = '', + tax_id = '', + company_tax_id = '', + company_name = '', + sub_reservation_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + assigned_room = True, + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + rooms = [ + cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_rooms_inner.GetReservationsResponse_data_inner_guestList_value_rooms_inner( + reservation_room_id = '', + room_id = '', + room_name = '', + room_type_name = '', + room_type_is_virtual = True, + room_type_id = '', + room_type_name_short = '', + rate_id = '', + rate_plan_name = '', + room_status = 'in_house', + sub_reservation_id = '', ) + ], + unassigned_rooms = [ + cloudbeds_pms_v1_3.models.get_reservations_response_data_inner_guest_list_value_unassigned_rooms_inner.GetReservationsResponse_data_inner_guestList_value_unassignedRooms_inner( + reservation_room_id = '', + room_type_id = '', + room_type_name = '', + room_type_is_virtual = True, + room_type_name_short = '', + rate_id = '', + rate_plan_name = '', + sub_reservation_id = '', ) + ], + guest_requirements = cloudbeds_pms_v1_3.models.guest_requirements.guestRequirements(), + custom_fields = [ + cloudbeds_pms_v1_3.models.get_guests_modified_response_data_inner_custom_fields_inner.GetGuestsModifiedResponse_data_inner_customFields_inner( + custom_field_name = '', + custom_field_value = '', ) + ], + is_anonymized = True, + is_main_guest = True + ) + else: + return GetReservationsWithRateDetailsResponseDataInnerGuestListValue( + ) + """ + + def testGetReservationsWithRateDetailsResponseDataInnerGuestListValue(self): + """Test GetReservationsWithRateDetailsResponseDataInnerGuestListValue""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner_rooms_inner.py b/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner_rooms_inner.py new file mode 100644 index 0000000..67ec9dd --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner_rooms_inner.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_rooms_inner import GetReservationsWithRateDetailsResponseDataInnerRoomsInner + +class TestGetReservationsWithRateDetailsResponseDataInnerRoomsInner(unittest.TestCase): + """GetReservationsWithRateDetailsResponseDataInnerRoomsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationsWithRateDetailsResponseDataInnerRoomsInner: + """Test GetReservationsWithRateDetailsResponseDataInnerRoomsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationsWithRateDetailsResponseDataInnerRoomsInner` + """ + model = GetReservationsWithRateDetailsResponseDataInnerRoomsInner() + if include_optional: + return GetReservationsWithRateDetailsResponseDataInnerRoomsInner( + room_type_id = '', + room_type_is_virtual = True, + room_type_name = '', + sub_reservation_id = '', + guest_id = '', + guest_name = '', + rate_id = '', + rate_name = '', + adults = '', + children = '', + reservation_room_id = '', + room_id = '', + room_name = '', + room_check_in = '', + room_check_out = '', + room_status = 'cancelled', + detailed_room_rates = cloudbeds_pms_v1_3.models.detailed_room_rates.detailedRoomRates(), + market_name = '', + market_code = '' + ) + else: + return GetReservationsWithRateDetailsResponseDataInnerRoomsInner( + ) + """ + + def testGetReservationsWithRateDetailsResponseDataInnerRoomsInner(self): + """Test GetReservationsWithRateDetailsResponseDataInnerRoomsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner_source.py b/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner_source.py new file mode 100644 index 0000000..f76efb9 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_reservations_with_rate_details_response_data_inner_source.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_reservations_with_rate_details_response_data_inner_source import GetReservationsWithRateDetailsResponseDataInnerSource + +class TestGetReservationsWithRateDetailsResponseDataInnerSource(unittest.TestCase): + """GetReservationsWithRateDetailsResponseDataInnerSource unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetReservationsWithRateDetailsResponseDataInnerSource: + """Test GetReservationsWithRateDetailsResponseDataInnerSource + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetReservationsWithRateDetailsResponseDataInnerSource` + """ + model = GetReservationsWithRateDetailsResponseDataInnerSource() + if include_optional: + return GetReservationsWithRateDetailsResponseDataInnerSource( + name = '', + payment_collect = 'hotel', + source_id = '', + category = '' + ) + else: + return GetReservationsWithRateDetailsResponseDataInnerSource( + ) + """ + + def testGetReservationsWithRateDetailsResponseDataInnerSource(self): + """Test GetReservationsWithRateDetailsResponseDataInnerSource""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_room_blocks_response.py b/cloudbeds_pms_v1_3/test/test_get_room_blocks_response.py new file mode 100644 index 0000000..6c9c94e --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_room_blocks_response.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_room_blocks_response import GetRoomBlocksResponse + +class TestGetRoomBlocksResponse(unittest.TestCase): + """GetRoomBlocksResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoomBlocksResponse: + """Test GetRoomBlocksResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoomBlocksResponse` + """ + model = GetRoomBlocksResponse() + if include_optional: + return GetRoomBlocksResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_room_blocks_response_data_inner.GetRoomBlocksResponse_data_inner( + room_block_id = '', + room_block_reason = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rooms = [ + cloudbeds_pms_v1_3.models.get_room_blocks_response_data_inner_rooms_inner.GetRoomBlocksResponse_data_inner_rooms_inner( + event_id = '', + room_id = '', + room_type_id = '', + is_source = True, ) + ], + count = 56, ) + ], + room_block_type = 'blocked', + message = '' + ) + else: + return GetRoomBlocksResponse( + ) + """ + + def testGetRoomBlocksResponse(self): + """Test GetRoomBlocksResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_room_blocks_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_room_blocks_response_data_inner.py new file mode 100644 index 0000000..4f6c90a --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_room_blocks_response_data_inner.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_room_blocks_response_data_inner import GetRoomBlocksResponseDataInner + +class TestGetRoomBlocksResponseDataInner(unittest.TestCase): + """GetRoomBlocksResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoomBlocksResponseDataInner: + """Test GetRoomBlocksResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoomBlocksResponseDataInner` + """ + model = GetRoomBlocksResponseDataInner() + if include_optional: + return GetRoomBlocksResponseDataInner( + room_block_id = '', + room_block_reason = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rooms = [ + cloudbeds_pms_v1_3.models.get_room_blocks_response_data_inner_rooms_inner.GetRoomBlocksResponse_data_inner_rooms_inner( + event_id = '', + room_id = '', + room_type_id = '', + is_source = True, ) + ], + count = 56 + ) + else: + return GetRoomBlocksResponseDataInner( + ) + """ + + def testGetRoomBlocksResponseDataInner(self): + """Test GetRoomBlocksResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_room_blocks_response_data_inner_rooms_inner.py b/cloudbeds_pms_v1_3/test/test_get_room_blocks_response_data_inner_rooms_inner.py new file mode 100644 index 0000000..3affc2a --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_room_blocks_response_data_inner_rooms_inner.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_room_blocks_response_data_inner_rooms_inner import GetRoomBlocksResponseDataInnerRoomsInner + +class TestGetRoomBlocksResponseDataInnerRoomsInner(unittest.TestCase): + """GetRoomBlocksResponseDataInnerRoomsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoomBlocksResponseDataInnerRoomsInner: + """Test GetRoomBlocksResponseDataInnerRoomsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoomBlocksResponseDataInnerRoomsInner` + """ + model = GetRoomBlocksResponseDataInnerRoomsInner() + if include_optional: + return GetRoomBlocksResponseDataInnerRoomsInner( + event_id = '', + room_id = '', + room_type_id = '', + is_source = True + ) + else: + return GetRoomBlocksResponseDataInnerRoomsInner( + ) + """ + + def testGetRoomBlocksResponseDataInnerRoomsInner(self): + """Test GetRoomBlocksResponseDataInnerRoomsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_room_types_response.py b/cloudbeds_pms_v1_3/test/test_get_room_types_response.py new file mode 100644 index 0000000..f460049 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_room_types_response.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_room_types_response import GetRoomTypesResponse + +class TestGetRoomTypesResponse(unittest.TestCase): + """GetRoomTypesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoomTypesResponse: + """Test GetRoomTypesResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoomTypesResponse` + """ + model = GetRoomTypesResponse() + if include_optional: + return GetRoomTypesResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_room_types_response_data_inner.GetRoomTypesResponse_data_inner( + room_type_id = '', + property_id = '', + room_type_name = '', + room_type_name_short = '', + room_type_description = '', + is_private = True, + max_guests = 56, + adults_included = 56, + children_included = 56, ) + ] + ) + else: + return GetRoomTypesResponse( + ) + """ + + def testGetRoomTypesResponse(self): + """Test GetRoomTypesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_room_types_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_room_types_response_data_inner.py new file mode 100644 index 0000000..3693b8e --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_room_types_response_data_inner.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_room_types_response_data_inner import GetRoomTypesResponseDataInner + +class TestGetRoomTypesResponseDataInner(unittest.TestCase): + """GetRoomTypesResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoomTypesResponseDataInner: + """Test GetRoomTypesResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoomTypesResponseDataInner` + """ + model = GetRoomTypesResponseDataInner() + if include_optional: + return GetRoomTypesResponseDataInner( + room_type_id = '', + property_id = '', + room_type_name = '', + room_type_name_short = '', + room_type_description = '', + is_private = True, + max_guests = 56, + adults_included = 56, + children_included = 56 + ) + else: + return GetRoomTypesResponseDataInner( + ) + """ + + def testGetRoomTypesResponseDataInner(self): + """Test GetRoomTypesResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rooms_fees_and_taxes_response.py b/cloudbeds_pms_v1_3/test/test_get_rooms_fees_and_taxes_response.py new file mode 100644 index 0000000..7d4f4f3 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rooms_fees_and_taxes_response.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response import GetRoomsFeesAndTaxesResponse + +class TestGetRoomsFeesAndTaxesResponse(unittest.TestCase): + """GetRoomsFeesAndTaxesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoomsFeesAndTaxesResponse: + """Test GetRoomsFeesAndTaxesResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoomsFeesAndTaxesResponse` + """ + model = GetRoomsFeesAndTaxesResponse() + if include_optional: + return GetRoomsFeesAndTaxesResponse( + success = True, + data = cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data.GetRoomsFeesAndTaxesResponse_data( + fees = [ + cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data_fees_inner.GetRoomsFeesAndTaxesResponse_data_fees_inner( + fee_name = '', + fee_value = 1.337, + total_fees = 1.337, ) + ], + taxes = [ + cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data_taxes_inner.GetRoomsFeesAndTaxesResponse_data_taxes_inner( + fee_name = '', + fee_value = '', + total_taxes = 1.337, ) + ], + rooms_total_without_taxes = 1.337, + grand_total = 1.337, ), + message = '' + ) + else: + return GetRoomsFeesAndTaxesResponse( + ) + """ + + def testGetRoomsFeesAndTaxesResponse(self): + """Test GetRoomsFeesAndTaxesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rooms_fees_and_taxes_response_data.py b/cloudbeds_pms_v1_3/test/test_get_rooms_fees_and_taxes_response_data.py new file mode 100644 index 0000000..fec7b8c --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rooms_fees_and_taxes_response_data.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data import GetRoomsFeesAndTaxesResponseData + +class TestGetRoomsFeesAndTaxesResponseData(unittest.TestCase): + """GetRoomsFeesAndTaxesResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoomsFeesAndTaxesResponseData: + """Test GetRoomsFeesAndTaxesResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoomsFeesAndTaxesResponseData` + """ + model = GetRoomsFeesAndTaxesResponseData() + if include_optional: + return GetRoomsFeesAndTaxesResponseData( + fees = [ + cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data_fees_inner.GetRoomsFeesAndTaxesResponse_data_fees_inner( + fee_name = '', + fee_value = 1.337, + total_fees = 1.337, ) + ], + taxes = [ + cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data_taxes_inner.GetRoomsFeesAndTaxesResponse_data_taxes_inner( + fee_name = '', + fee_value = '', + total_taxes = 1.337, ) + ], + rooms_total_without_taxes = 1.337, + grand_total = 1.337 + ) + else: + return GetRoomsFeesAndTaxesResponseData( + ) + """ + + def testGetRoomsFeesAndTaxesResponseData(self): + """Test GetRoomsFeesAndTaxesResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rooms_fees_and_taxes_response_data_fees_inner.py b/cloudbeds_pms_v1_3/test/test_get_rooms_fees_and_taxes_response_data_fees_inner.py new file mode 100644 index 0000000..f862c81 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rooms_fees_and_taxes_response_data_fees_inner.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data_fees_inner import GetRoomsFeesAndTaxesResponseDataFeesInner + +class TestGetRoomsFeesAndTaxesResponseDataFeesInner(unittest.TestCase): + """GetRoomsFeesAndTaxesResponseDataFeesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoomsFeesAndTaxesResponseDataFeesInner: + """Test GetRoomsFeesAndTaxesResponseDataFeesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoomsFeesAndTaxesResponseDataFeesInner` + """ + model = GetRoomsFeesAndTaxesResponseDataFeesInner() + if include_optional: + return GetRoomsFeesAndTaxesResponseDataFeesInner( + fee_name = '', + fee_value = 1.337, + total_fees = 1.337 + ) + else: + return GetRoomsFeesAndTaxesResponseDataFeesInner( + ) + """ + + def testGetRoomsFeesAndTaxesResponseDataFeesInner(self): + """Test GetRoomsFeesAndTaxesResponseDataFeesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rooms_fees_and_taxes_response_data_taxes_inner.py b/cloudbeds_pms_v1_3/test/test_get_rooms_fees_and_taxes_response_data_taxes_inner.py new file mode 100644 index 0000000..27acfc7 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rooms_fees_and_taxes_response_data_taxes_inner.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rooms_fees_and_taxes_response_data_taxes_inner import GetRoomsFeesAndTaxesResponseDataTaxesInner + +class TestGetRoomsFeesAndTaxesResponseDataTaxesInner(unittest.TestCase): + """GetRoomsFeesAndTaxesResponseDataTaxesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoomsFeesAndTaxesResponseDataTaxesInner: + """Test GetRoomsFeesAndTaxesResponseDataTaxesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoomsFeesAndTaxesResponseDataTaxesInner` + """ + model = GetRoomsFeesAndTaxesResponseDataTaxesInner() + if include_optional: + return GetRoomsFeesAndTaxesResponseDataTaxesInner( + fee_name = '', + fee_value = '', + total_taxes = 1.337 + ) + else: + return GetRoomsFeesAndTaxesResponseDataTaxesInner( + ) + """ + + def testGetRoomsFeesAndTaxesResponseDataTaxesInner(self): + """Test GetRoomsFeesAndTaxesResponseDataTaxesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rooms_response.py b/cloudbeds_pms_v1_3/test/test_get_rooms_response.py new file mode 100644 index 0000000..de1b28d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rooms_response.py @@ -0,0 +1,84 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rooms_response import GetRoomsResponse + +class TestGetRoomsResponse(unittest.TestCase): + """GetRoomsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoomsResponse: + """Test GetRoomsResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoomsResponse` + """ + model = GetRoomsResponse() + if include_optional: + return GetRoomsResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_rooms_response_data_inner.GetRoomsResponse_data_inner( + property_id = '', + rooms = [ + cloudbeds_pms_v1_3.models.get_rooms_response_data_inner_rooms_inner.GetRoomsResponse_data_inner_rooms_inner( + room_id = '', + room_name = '', + dorm_room_name = '', + room_description = '', + max_guests = 56, + is_private = True, + is_virtual = True, + room_blocked = True, + room_type_id = '', + room_type_name = '', + room_type_name_short = '', + doorlock_id = '', + linked_room_ids = [ + '' + ], + linked_room_type_ids = [ + '' + ], + linked_room_type_qty = [ + cloudbeds_pms_v1_3.models.get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner.GetRoomsResponse_data_inner_rooms_inner_linkedRoomTypeQty_inner( + room_type_id = '', + room_qty = 56, ) + ], ) + ], ) + ], + count = 56, + total = 56, + message = '' + ) + else: + return GetRoomsResponse( + ) + """ + + def testGetRoomsResponse(self): + """Test GetRoomsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rooms_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_rooms_response_data_inner.py new file mode 100644 index 0000000..bb11380 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rooms_response_data_inner.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rooms_response_data_inner import GetRoomsResponseDataInner + +class TestGetRoomsResponseDataInner(unittest.TestCase): + """GetRoomsResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoomsResponseDataInner: + """Test GetRoomsResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoomsResponseDataInner` + """ + model = GetRoomsResponseDataInner() + if include_optional: + return GetRoomsResponseDataInner( + property_id = '', + rooms = [ + cloudbeds_pms_v1_3.models.get_rooms_response_data_inner_rooms_inner.GetRoomsResponse_data_inner_rooms_inner( + room_id = '', + room_name = '', + dorm_room_name = '', + room_description = '', + max_guests = 56, + is_private = True, + is_virtual = True, + room_blocked = True, + room_type_id = '', + room_type_name = '', + room_type_name_short = '', + doorlock_id = '', + linked_room_ids = [ + '' + ], + linked_room_type_ids = [ + '' + ], + linked_room_type_qty = [ + cloudbeds_pms_v1_3.models.get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner.GetRoomsResponse_data_inner_rooms_inner_linkedRoomTypeQty_inner( + room_type_id = '', + room_qty = 56, ) + ], ) + ] + ) + else: + return GetRoomsResponseDataInner( + ) + """ + + def testGetRoomsResponseDataInner(self): + """Test GetRoomsResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rooms_response_data_inner_rooms_inner.py b/cloudbeds_pms_v1_3/test/test_get_rooms_response_data_inner_rooms_inner.py new file mode 100644 index 0000000..034418d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rooms_response_data_inner_rooms_inner.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rooms_response_data_inner_rooms_inner import GetRoomsResponseDataInnerRoomsInner + +class TestGetRoomsResponseDataInnerRoomsInner(unittest.TestCase): + """GetRoomsResponseDataInnerRoomsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoomsResponseDataInnerRoomsInner: + """Test GetRoomsResponseDataInnerRoomsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoomsResponseDataInnerRoomsInner` + """ + model = GetRoomsResponseDataInnerRoomsInner() + if include_optional: + return GetRoomsResponseDataInnerRoomsInner( + room_id = '', + room_name = '', + dorm_room_name = '', + room_description = '', + max_guests = 56, + is_private = True, + is_virtual = True, + room_blocked = True, + room_type_id = '', + room_type_name = '', + room_type_name_short = '', + doorlock_id = '', + linked_room_ids = [ + '' + ], + linked_room_type_ids = [ + '' + ], + linked_room_type_qty = [ + cloudbeds_pms_v1_3.models.get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner.GetRoomsResponse_data_inner_rooms_inner_linkedRoomTypeQty_inner( + room_type_id = '', + room_qty = 56, ) + ] + ) + else: + return GetRoomsResponseDataInnerRoomsInner( + ) + """ + + def testGetRoomsResponseDataInnerRoomsInner(self): + """Test GetRoomsResponseDataInnerRoomsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner.py b/cloudbeds_pms_v1_3/test/test_get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner.py new file mode 100644 index 0000000..ce750c5 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rooms_response_data_inner_rooms_inner_linked_room_type_qty_inner import GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner + +class TestGetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner(unittest.TestCase): + """GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner: + """Test GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner` + """ + model = GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner() + if include_optional: + return GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner( + room_type_id = '', + room_qty = 56 + ) + else: + return GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner( + ) + """ + + def testGetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner(self): + """Test GetRoomsResponseDataInnerRoomsInnerLinkedRoomTypeQtyInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rooms_unassigned_response.py b/cloudbeds_pms_v1_3/test/test_get_rooms_unassigned_response.py new file mode 100644 index 0000000..3dbcedf --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rooms_unassigned_response.py @@ -0,0 +1,72 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rooms_unassigned_response import GetRoomsUnassignedResponse + +class TestGetRoomsUnassignedResponse(unittest.TestCase): + """GetRoomsUnassignedResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoomsUnassignedResponse: + """Test GetRoomsUnassignedResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoomsUnassignedResponse` + """ + model = GetRoomsUnassignedResponse() + if include_optional: + return GetRoomsUnassignedResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_rooms_unassigned_response_data_inner.GetRoomsUnassignedResponse_data_inner( + property_id = '', + rooms = [ + cloudbeds_pms_v1_3.models.get_rooms_unassigned_response_data_inner_rooms_inner.GetRoomsUnassignedResponse_data_inner_rooms_inner( + room_id = '', + room_name = '', + dorm_room_name = '', + room_description = '', + max_guests = 56, + is_private = True, + is_virtual = True, + room_blocked = True, + room_type_id = '', + room_type_name = '', + room_type_name_short = '', ) + ], ) + ], + count = 56, + total = 56, + message = '' + ) + else: + return GetRoomsUnassignedResponse( + ) + """ + + def testGetRoomsUnassignedResponse(self): + """Test GetRoomsUnassignedResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rooms_unassigned_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_rooms_unassigned_response_data_inner.py new file mode 100644 index 0000000..69c9d14 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rooms_unassigned_response_data_inner.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rooms_unassigned_response_data_inner import GetRoomsUnassignedResponseDataInner + +class TestGetRoomsUnassignedResponseDataInner(unittest.TestCase): + """GetRoomsUnassignedResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoomsUnassignedResponseDataInner: + """Test GetRoomsUnassignedResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoomsUnassignedResponseDataInner` + """ + model = GetRoomsUnassignedResponseDataInner() + if include_optional: + return GetRoomsUnassignedResponseDataInner( + property_id = '', + rooms = [ + cloudbeds_pms_v1_3.models.get_rooms_unassigned_response_data_inner_rooms_inner.GetRoomsUnassignedResponse_data_inner_rooms_inner( + room_id = '', + room_name = '', + dorm_room_name = '', + room_description = '', + max_guests = 56, + is_private = True, + is_virtual = True, + room_blocked = True, + room_type_id = '', + room_type_name = '', + room_type_name_short = '', ) + ] + ) + else: + return GetRoomsUnassignedResponseDataInner( + ) + """ + + def testGetRoomsUnassignedResponseDataInner(self): + """Test GetRoomsUnassignedResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_rooms_unassigned_response_data_inner_rooms_inner.py b/cloudbeds_pms_v1_3/test/test_get_rooms_unassigned_response_data_inner_rooms_inner.py new file mode 100644 index 0000000..e0a73a5 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_rooms_unassigned_response_data_inner_rooms_inner.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_rooms_unassigned_response_data_inner_rooms_inner import GetRoomsUnassignedResponseDataInnerRoomsInner + +class TestGetRoomsUnassignedResponseDataInnerRoomsInner(unittest.TestCase): + """GetRoomsUnassignedResponseDataInnerRoomsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRoomsUnassignedResponseDataInnerRoomsInner: + """Test GetRoomsUnassignedResponseDataInnerRoomsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRoomsUnassignedResponseDataInnerRoomsInner` + """ + model = GetRoomsUnassignedResponseDataInnerRoomsInner() + if include_optional: + return GetRoomsUnassignedResponseDataInnerRoomsInner( + room_id = '', + room_name = '', + dorm_room_name = '', + room_description = '', + max_guests = 56, + is_private = True, + is_virtual = True, + room_blocked = True, + room_type_id = '', + room_type_name = '', + room_type_name_short = '' + ) + else: + return GetRoomsUnassignedResponseDataInnerRoomsInner( + ) + """ + + def testGetRoomsUnassignedResponseDataInnerRoomsInner(self): + """Test GetRoomsUnassignedResponseDataInnerRoomsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_sources_response.py b/cloudbeds_pms_v1_3/test/test_get_sources_response.py new file mode 100644 index 0000000..769a8ab --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_sources_response.py @@ -0,0 +1,78 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_sources_response import GetSourcesResponse + +class TestGetSourcesResponse(unittest.TestCase): + """GetSourcesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetSourcesResponse: + """Test GetSourcesResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetSourcesResponse` + """ + model = GetSourcesResponse() + if include_optional: + return GetSourcesResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_sources_response_data_inner.GetSourcesResponse_data_inner( + property_id = '', + source_id = '', + source_name = '', + is_third_party = True, + status = True, + commission = 1.337, + payment_collect = 'hotel', + taxes = [ + cloudbeds_pms_v1_3.models.get_sources_response_data_inner_taxes_inner.GetSourcesResponse_data_inner_taxes_inner( + tax_id = '', + name = '', + amount = 1.337, + amount_type = 'percentage', + type = 'exclusive', ) + ], + fees = [ + cloudbeds_pms_v1_3.models.get_sources_response_data_inner_fees_inner.GetSourcesResponse_data_inner_fees_inner( + fee_id = 56, + name = '', + amount = 1.337, + amount_type = 'percentage', + type = 'exclusive', ) + ], ) + ], + message = '' + ) + else: + return GetSourcesResponse( + ) + """ + + def testGetSourcesResponse(self): + """Test GetSourcesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_sources_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_sources_response_data_inner.py new file mode 100644 index 0000000..c0c977a --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_sources_response_data_inner.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_sources_response_data_inner import GetSourcesResponseDataInner + +class TestGetSourcesResponseDataInner(unittest.TestCase): + """GetSourcesResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetSourcesResponseDataInner: + """Test GetSourcesResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetSourcesResponseDataInner` + """ + model = GetSourcesResponseDataInner() + if include_optional: + return GetSourcesResponseDataInner( + property_id = '', + source_id = '', + source_name = '', + is_third_party = True, + status = True, + commission = 1.337, + payment_collect = 'hotel', + taxes = [ + cloudbeds_pms_v1_3.models.get_sources_response_data_inner_taxes_inner.GetSourcesResponse_data_inner_taxes_inner( + tax_id = '', + name = '', + amount = 1.337, + amount_type = 'percentage', + type = 'exclusive', ) + ], + fees = [ + cloudbeds_pms_v1_3.models.get_sources_response_data_inner_fees_inner.GetSourcesResponse_data_inner_fees_inner( + fee_id = 56, + name = '', + amount = 1.337, + amount_type = 'percentage', + type = 'exclusive', ) + ] + ) + else: + return GetSourcesResponseDataInner( + ) + """ + + def testGetSourcesResponseDataInner(self): + """Test GetSourcesResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_sources_response_data_inner_fees_inner.py b/cloudbeds_pms_v1_3/test/test_get_sources_response_data_inner_fees_inner.py new file mode 100644 index 0000000..bc8a8d4 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_sources_response_data_inner_fees_inner.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_sources_response_data_inner_fees_inner import GetSourcesResponseDataInnerFeesInner + +class TestGetSourcesResponseDataInnerFeesInner(unittest.TestCase): + """GetSourcesResponseDataInnerFeesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetSourcesResponseDataInnerFeesInner: + """Test GetSourcesResponseDataInnerFeesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetSourcesResponseDataInnerFeesInner` + """ + model = GetSourcesResponseDataInnerFeesInner() + if include_optional: + return GetSourcesResponseDataInnerFeesInner( + fee_id = 56, + name = '', + amount = 1.337, + amount_type = 'percentage', + type = 'exclusive' + ) + else: + return GetSourcesResponseDataInnerFeesInner( + ) + """ + + def testGetSourcesResponseDataInnerFeesInner(self): + """Test GetSourcesResponseDataInnerFeesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_sources_response_data_inner_taxes_inner.py b/cloudbeds_pms_v1_3/test/test_get_sources_response_data_inner_taxes_inner.py new file mode 100644 index 0000000..514610e --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_sources_response_data_inner_taxes_inner.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_sources_response_data_inner_taxes_inner import GetSourcesResponseDataInnerTaxesInner + +class TestGetSourcesResponseDataInnerTaxesInner(unittest.TestCase): + """GetSourcesResponseDataInnerTaxesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetSourcesResponseDataInnerTaxesInner: + """Test GetSourcesResponseDataInnerTaxesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetSourcesResponseDataInnerTaxesInner` + """ + model = GetSourcesResponseDataInnerTaxesInner() + if include_optional: + return GetSourcesResponseDataInnerTaxesInner( + tax_id = '', + name = '', + amount = 1.337, + amount_type = 'percentage', + type = 'exclusive' + ) + else: + return GetSourcesResponseDataInnerTaxesInner( + ) + """ + + def testGetSourcesResponseDataInnerTaxesInner(self): + """Test GetSourcesResponseDataInnerTaxesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response.py new file mode 100644 index 0000000..130c099 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response import GetTaxesAndFeesResponse + +class TestGetTaxesAndFeesResponse(unittest.TestCase): + """GetTaxesAndFeesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponse: + """Test GetTaxesAndFeesResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponse` + """ + model = GetTaxesAndFeesResponse() + if include_optional: + return GetTaxesAndFeesResponse( + success = True, + message = '', + data = [ + cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner.GetTaxesAndFeesResponse_data_inner( + type = 'fee', + fee_id = '', + tax_id = '', + name = '', + code = '', + kind = '', + amount = '', + amount_adult = null, + amount_child = null, + amount_rate_based = [ + cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner.GetTaxesAndFeesResponse_data_inner_amountRateBased_inner( + rate = null, + percentage = null, ) + ], + amount_type = 'percentage', + available_for = [ + 'product' + ], + fees_charged = [ + '' + ], + inclusive_or_exclusive = 'inclusive', + is_deleted = True, + child_id = '', + created_at = '', + expired_at = '', + room_types = [ + cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_room_types_inner.GetTaxesAndFeesResponse_data_inner_roomTypes_inner( + room_type_id = '', + room_type_name = '', ) + ], + date_ranges = [ + cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner.GetTaxesAndFeesResponse_data_inner_dateRanges_inner( + range = '', + amount = null, + max_length = null, + length_of_stay_settings = null, ) + ], + length_of_stay_settings = null, ) + ], + total = 56 + ) + else: + return GetTaxesAndFeesResponse( + ) + """ + + def testGetTaxesAndFeesResponse(self): + """Test GetTaxesAndFeesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner.py new file mode 100644 index 0000000..0c3a9d8 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner import GetTaxesAndFeesResponseDataInner + +class TestGetTaxesAndFeesResponseDataInner(unittest.TestCase): + """GetTaxesAndFeesResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponseDataInner: + """Test GetTaxesAndFeesResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponseDataInner` + """ + model = GetTaxesAndFeesResponseDataInner() + if include_optional: + return GetTaxesAndFeesResponseDataInner( + type = 'fee', + fee_id = '', + tax_id = '', + name = '', + code = '', + kind = '', + amount = '', + amount_adult = None, + amount_child = None, + amount_rate_based = [ + cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner.GetTaxesAndFeesResponse_data_inner_amountRateBased_inner( + rate = null, + percentage = null, ) + ], + amount_type = 'percentage', + available_for = [ + 'product' + ], + fees_charged = [ + '' + ], + inclusive_or_exclusive = 'inclusive', + is_deleted = True, + child_id = '', + created_at = '', + expired_at = '', + room_types = [ + cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_room_types_inner.GetTaxesAndFeesResponse_data_inner_roomTypes_inner( + room_type_id = '', + room_type_name = '', ) + ], + date_ranges = [ + cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner.GetTaxesAndFeesResponse_data_inner_dateRanges_inner( + range = '', + amount = null, + amount_adult = null, + amount_child = null, + max_length = null, + amount_rate_based = [ + cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner.GetTaxesAndFeesResponse_data_inner_amountRateBased_inner( + rate = null, + percentage = null, ) + ], + length_of_stay_settings = null, ) + ], + length_of_stay_settings = None + ) + else: + return GetTaxesAndFeesResponseDataInner( + ) + """ + + def testGetTaxesAndFeesResponseDataInner(self): + """Test GetTaxesAndFeesResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_adult.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_adult.py new file mode 100644 index 0000000..ed5ffa9 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_adult.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_adult import GetTaxesAndFeesResponseDataInnerAmountAdult + +class TestGetTaxesAndFeesResponseDataInnerAmountAdult(unittest.TestCase): + """GetTaxesAndFeesResponseDataInnerAmountAdult unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponseDataInnerAmountAdult: + """Test GetTaxesAndFeesResponseDataInnerAmountAdult + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponseDataInnerAmountAdult` + """ + model = GetTaxesAndFeesResponseDataInnerAmountAdult() + if include_optional: + return GetTaxesAndFeesResponseDataInnerAmountAdult( + ) + else: + return GetTaxesAndFeesResponseDataInnerAmountAdult( + ) + """ + + def testGetTaxesAndFeesResponseDataInnerAmountAdult(self): + """Test GetTaxesAndFeesResponseDataInnerAmountAdult""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_child.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_child.py new file mode 100644 index 0000000..0f57f5a --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_child.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_child import GetTaxesAndFeesResponseDataInnerAmountChild + +class TestGetTaxesAndFeesResponseDataInnerAmountChild(unittest.TestCase): + """GetTaxesAndFeesResponseDataInnerAmountChild unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponseDataInnerAmountChild: + """Test GetTaxesAndFeesResponseDataInnerAmountChild + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponseDataInnerAmountChild` + """ + model = GetTaxesAndFeesResponseDataInnerAmountChild() + if include_optional: + return GetTaxesAndFeesResponseDataInnerAmountChild( + ) + else: + return GetTaxesAndFeesResponseDataInnerAmountChild( + ) + """ + + def testGetTaxesAndFeesResponseDataInnerAmountChild(self): + """Test GetTaxesAndFeesResponseDataInnerAmountChild""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_rate_based_inner.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_rate_based_inner.py new file mode 100644 index 0000000..6065aa0 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_rate_based_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner import GetTaxesAndFeesResponseDataInnerAmountRateBasedInner + +class TestGetTaxesAndFeesResponseDataInnerAmountRateBasedInner(unittest.TestCase): + """GetTaxesAndFeesResponseDataInnerAmountRateBasedInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponseDataInnerAmountRateBasedInner: + """Test GetTaxesAndFeesResponseDataInnerAmountRateBasedInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponseDataInnerAmountRateBasedInner` + """ + model = GetTaxesAndFeesResponseDataInnerAmountRateBasedInner() + if include_optional: + return GetTaxesAndFeesResponseDataInnerAmountRateBasedInner( + rate = None, + percentage = None + ) + else: + return GetTaxesAndFeesResponseDataInnerAmountRateBasedInner( + ) + """ + + def testGetTaxesAndFeesResponseDataInnerAmountRateBasedInner(self): + """Test GetTaxesAndFeesResponseDataInnerAmountRateBasedInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage.py new file mode 100644 index 0000000..64690d8 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner_percentage import GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage + +class TestGetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage(unittest.TestCase): + """GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage: + """Test GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage` + """ + model = GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage() + if include_optional: + return GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage( + ) + else: + return GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage( + ) + """ + + def testGetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage(self): + """Test GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerPercentage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate.py new file mode 100644 index 0000000..eb0f955 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner_rate import GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate + +class TestGetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate(unittest.TestCase): + """GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate: + """Test GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate` + """ + model = GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate() + if include_optional: + return GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate( + ) + else: + return GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate( + ) + """ + + def testGetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate(self): + """Test GetTaxesAndFeesResponseDataInnerAmountRateBasedInnerRate""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner.py new file mode 100644 index 0000000..c8275f0 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner import GetTaxesAndFeesResponseDataInnerDateRangesInner + +class TestGetTaxesAndFeesResponseDataInnerDateRangesInner(unittest.TestCase): + """GetTaxesAndFeesResponseDataInnerDateRangesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponseDataInnerDateRangesInner: + """Test GetTaxesAndFeesResponseDataInnerDateRangesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponseDataInnerDateRangesInner` + """ + model = GetTaxesAndFeesResponseDataInnerDateRangesInner() + if include_optional: + return GetTaxesAndFeesResponseDataInnerDateRangesInner( + range = '', + amount = None, + amount_adult = None, + amount_child = None, + max_length = None, + amount_rate_based = [ + cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_amount_rate_based_inner.GetTaxesAndFeesResponse_data_inner_amountRateBased_inner( + rate = null, + percentage = null, ) + ], + length_of_stay_settings = None + ) + else: + return GetTaxesAndFeesResponseDataInnerDateRangesInner( + ) + """ + + def testGetTaxesAndFeesResponseDataInnerDateRangesInner(self): + """Test GetTaxesAndFeesResponseDataInnerDateRangesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_amount.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_amount.py new file mode 100644 index 0000000..ece7701 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_amount.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_amount import GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount + +class TestGetTaxesAndFeesResponseDataInnerDateRangesInnerAmount(unittest.TestCase): + """GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount: + """Test GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount` + """ + model = GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount() + if include_optional: + return GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount( + ) + else: + return GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount( + ) + """ + + def testGetTaxesAndFeesResponseDataInnerDateRangesInnerAmount(self): + """Test GetTaxesAndFeesResponseDataInnerDateRangesInnerAmount""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings.py new file mode 100644 index 0000000..8894d98 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings import GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings + +class TestGetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings(unittest.TestCase): + """GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings: + """Test GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings` + """ + model = GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings() + if include_optional: + return GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings( + application_type = 'progressive_application', + ranges = [ + cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner.GetTaxesAndFeesResponse_data_inner_dateRanges_inner_lengthOfStaySettings_oneOf_ranges_inner( + minimum_nights = 56, + maximum_nights = 56, + amount = 1.337, + amount_adult = 1.337, + amount_child = 1.337, + amount_rate_based = [ + None + ], ) + ] + ) + else: + return GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings( + ) + """ + + def testGetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings(self): + """Test GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettings""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of.py new file mode 100644 index 0000000..e26cc37 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of import GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf + +class TestGetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf(unittest.TestCase): + """GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf: + """Test GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf` + """ + model = GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf() + if include_optional: + return GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf( + application_type = 'progressive_application', + ranges = [ + cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner.GetTaxesAndFeesResponse_data_inner_dateRanges_inner_lengthOfStaySettings_oneOf_ranges_inner( + minimum_nights = 56, + maximum_nights = 56, + amount = 1.337, + amount_adult = 1.337, + amount_child = 1.337, + amount_rate_based = [ + None + ], ) + ] + ) + else: + return GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf( + ) + """ + + def testGetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf(self): + """Test GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOf""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner.py new file mode 100644 index 0000000..8754d3b --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_length_of_stay_settings_one_of_ranges_inner import GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner + +class TestGetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner(unittest.TestCase): + """GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner: + """Test GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner` + """ + model = GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner() + if include_optional: + return GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner( + minimum_nights = 56, + maximum_nights = 56, + amount = 1.337, + amount_adult = 1.337, + amount_child = 1.337, + amount_rate_based = [ + None + ] + ) + else: + return GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner( + ) + """ + + def testGetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner(self): + """Test GetTaxesAndFeesResponseDataInnerDateRangesInnerLengthOfStaySettingsOneOfRangesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length.py new file mode 100644 index 0000000..6a03dce --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_date_ranges_inner_max_length import GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength + +class TestGetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength(unittest.TestCase): + """GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength: + """Test GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength` + """ + model = GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength() + if include_optional: + return GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength( + ) + else: + return GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength( + ) + """ + + def testGetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength(self): + """Test GetTaxesAndFeesResponseDataInnerDateRangesInnerMaxLength""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_length_of_stay_settings.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_length_of_stay_settings.py new file mode 100644 index 0000000..f77fd68 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_length_of_stay_settings.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings import GetTaxesAndFeesResponseDataInnerLengthOfStaySettings + +class TestGetTaxesAndFeesResponseDataInnerLengthOfStaySettings(unittest.TestCase): + """GetTaxesAndFeesResponseDataInnerLengthOfStaySettings unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponseDataInnerLengthOfStaySettings: + """Test GetTaxesAndFeesResponseDataInnerLengthOfStaySettings + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponseDataInnerLengthOfStaySettings` + """ + model = GetTaxesAndFeesResponseDataInnerLengthOfStaySettings() + if include_optional: + return GetTaxesAndFeesResponseDataInnerLengthOfStaySettings( + application_type = 'progressive_application', + ranges = [ + cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner.GetTaxesAndFeesResponse_data_inner_lengthOfStaySettings_oneOf_ranges_inner( + minimum_nights = 56, + maximum_nights = 56, + amount = 1.337, + amount_adult = 1.337, + amount_child = 1.337, + amount_rate_based = [ + cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner.GetTaxesAndFeesResponse_data_inner_lengthOfStaySettings_oneOf_ranges_inner_amountRateBased_inner( + rate = 1.337, + percentage = 1.337, ) + ], ) + ] + ) + else: + return GetTaxesAndFeesResponseDataInnerLengthOfStaySettings( + ) + """ + + def testGetTaxesAndFeesResponseDataInnerLengthOfStaySettings(self): + """Test GetTaxesAndFeesResponseDataInnerLengthOfStaySettings""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of.py new file mode 100644 index 0000000..6955fe5 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of import GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf + +class TestGetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf(unittest.TestCase): + """GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf: + """Test GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf` + """ + model = GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf() + if include_optional: + return GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf( + application_type = 'progressive_application', + ranges = [ + cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner.GetTaxesAndFeesResponse_data_inner_lengthOfStaySettings_oneOf_ranges_inner( + minimum_nights = 56, + maximum_nights = 56, + amount = 1.337, + amount_adult = 1.337, + amount_child = 1.337, + amount_rate_based = [ + cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner.GetTaxesAndFeesResponse_data_inner_lengthOfStaySettings_oneOf_ranges_inner_amountRateBased_inner( + rate = 1.337, + percentage = 1.337, ) + ], ) + ] + ) + else: + return GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf( + ) + """ + + def testGetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf(self): + """Test GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOf""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner.py new file mode 100644 index 0000000..15459f7 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner import GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner + +class TestGetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner(unittest.TestCase): + """GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner: + """Test GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner` + """ + model = GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner() + if include_optional: + return GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner( + minimum_nights = 56, + maximum_nights = 56, + amount = 1.337, + amount_adult = 1.337, + amount_child = 1.337, + amount_rate_based = [ + cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner.GetTaxesAndFeesResponse_data_inner_lengthOfStaySettings_oneOf_ranges_inner_amountRateBased_inner( + rate = 1.337, + percentage = 1.337, ) + ] + ) + else: + return GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner( + ) + """ + + def testGetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner(self): + """Test GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner.py new file mode 100644 index 0000000..b191cfa --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_length_of_stay_settings_one_of_ranges_inner_amount_rate_based_inner import GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner + +class TestGetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner(unittest.TestCase): + """GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner: + """Test GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner` + """ + model = GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner() + if include_optional: + return GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner( + rate = 1.337, + percentage = 1.337 + ) + else: + return GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner( + ) + """ + + def testGetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner(self): + """Test GetTaxesAndFeesResponseDataInnerLengthOfStaySettingsOneOfRangesInnerAmountRateBasedInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_room_types_inner.py b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_room_types_inner.py new file mode 100644 index 0000000..cd25586 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_taxes_and_fees_response_data_inner_room_types_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_taxes_and_fees_response_data_inner_room_types_inner import GetTaxesAndFeesResponseDataInnerRoomTypesInner + +class TestGetTaxesAndFeesResponseDataInnerRoomTypesInner(unittest.TestCase): + """GetTaxesAndFeesResponseDataInnerRoomTypesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetTaxesAndFeesResponseDataInnerRoomTypesInner: + """Test GetTaxesAndFeesResponseDataInnerRoomTypesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetTaxesAndFeesResponseDataInnerRoomTypesInner` + """ + model = GetTaxesAndFeesResponseDataInnerRoomTypesInner() + if include_optional: + return GetTaxesAndFeesResponseDataInnerRoomTypesInner( + room_type_id = '', + room_type_name = '' + ) + else: + return GetTaxesAndFeesResponseDataInnerRoomTypesInner( + ) + """ + + def testGetTaxesAndFeesResponseDataInnerRoomTypesInner(self): + """Test GetTaxesAndFeesResponseDataInnerRoomTypesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_userinfo_response.py b/cloudbeds_pms_v1_3/test/test_get_userinfo_response.py new file mode 100644 index 0000000..f53703c --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_userinfo_response.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_userinfo_response import GetUserinfoResponse + +class TestGetUserinfoResponse(unittest.TestCase): + """GetUserinfoResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetUserinfoResponse: + """Test GetUserinfoResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetUserinfoResponse` + """ + model = GetUserinfoResponse() + if include_optional: + return GetUserinfoResponse( + user_id = '', + first_name = '', + last_name = '', + email = '', + acl = [ + '' + ], + roles = [ + cloudbeds_pms_v1_3.models.get_userinfo_response_roles_inner.GetUserinfoResponse_roles_inner( + id = '', + name = '', + description = '', ) + ] + ) + else: + return GetUserinfoResponse( + ) + """ + + def testGetUserinfoResponse(self): + """Test GetUserinfoResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_userinfo_response_roles_inner.py b/cloudbeds_pms_v1_3/test/test_get_userinfo_response_roles_inner.py new file mode 100644 index 0000000..65a4a1d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_userinfo_response_roles_inner.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_userinfo_response_roles_inner import GetUserinfoResponseRolesInner + +class TestGetUserinfoResponseRolesInner(unittest.TestCase): + """GetUserinfoResponseRolesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetUserinfoResponseRolesInner: + """Test GetUserinfoResponseRolesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetUserinfoResponseRolesInner` + """ + model = GetUserinfoResponseRolesInner() + if include_optional: + return GetUserinfoResponseRolesInner( + id = '', + name = '', + description = '' + ) + else: + return GetUserinfoResponseRolesInner( + ) + """ + + def testGetUserinfoResponseRolesInner(self): + """Test GetUserinfoResponseRolesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_users_response.py b/cloudbeds_pms_v1_3/test/test_get_users_response.py new file mode 100644 index 0000000..5695ad0 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_users_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_users_response import GetUsersResponse + +class TestGetUsersResponse(unittest.TestCase): + """GetUsersResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetUsersResponse: + """Test GetUsersResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetUsersResponse` + """ + model = GetUsersResponse() + if include_optional: + return GetUsersResponse( + success = True, + data = None + ) + else: + return GetUsersResponse( + ) + """ + + def testGetUsersResponse(self): + """Test GetUsersResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_webhooks_response.py b/cloudbeds_pms_v1_3/test/test_get_webhooks_response.py new file mode 100644 index 0000000..0ff74f3 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_webhooks_response.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_webhooks_response import GetWebhooksResponse + +class TestGetWebhooksResponse(unittest.TestCase): + """GetWebhooksResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetWebhooksResponse: + """Test GetWebhooksResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetWebhooksResponse` + """ + model = GetWebhooksResponse() + if include_optional: + return GetWebhooksResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner.GetWebhooksResponse_data_inner( + id = '', + key = cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_key.GetWebhooksResponse_data_inner_key( + type = 'user', + id = '', ), + event = cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_event.GetWebhooksResponse_data_inner_event( + entity = '', + action = '', ), + owner = cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_owner.GetWebhooksResponse_data_inner_owner( + type = '', + id = '', ), + subscription_type = '', + subscription_data = cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_subscription_data.GetWebhooksResponse_data_inner_subscriptionData( + endpoint = '', ), ) + ] + ) + else: + return GetWebhooksResponse( + ) + """ + + def testGetWebhooksResponse(self): + """Test GetWebhooksResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner.py new file mode 100644 index 0000000..6628a14 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner import GetWebhooksResponseDataInner + +class TestGetWebhooksResponseDataInner(unittest.TestCase): + """GetWebhooksResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetWebhooksResponseDataInner: + """Test GetWebhooksResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetWebhooksResponseDataInner` + """ + model = GetWebhooksResponseDataInner() + if include_optional: + return GetWebhooksResponseDataInner( + id = '', + key = cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_key.GetWebhooksResponse_data_inner_key( + type = 'user', + id = '', ), + event = cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_event.GetWebhooksResponse_data_inner_event( + entity = '', + action = '', ), + owner = cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_owner.GetWebhooksResponse_data_inner_owner( + type = '', + id = '', ), + subscription_type = '', + subscription_data = cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_subscription_data.GetWebhooksResponse_data_inner_subscriptionData( + endpoint = '', ) + ) + else: + return GetWebhooksResponseDataInner( + ) + """ + + def testGetWebhooksResponseDataInner(self): + """Test GetWebhooksResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner_event.py b/cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner_event.py new file mode 100644 index 0000000..d2627fe --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner_event.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_event import GetWebhooksResponseDataInnerEvent + +class TestGetWebhooksResponseDataInnerEvent(unittest.TestCase): + """GetWebhooksResponseDataInnerEvent unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetWebhooksResponseDataInnerEvent: + """Test GetWebhooksResponseDataInnerEvent + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetWebhooksResponseDataInnerEvent` + """ + model = GetWebhooksResponseDataInnerEvent() + if include_optional: + return GetWebhooksResponseDataInnerEvent( + entity = '', + action = '' + ) + else: + return GetWebhooksResponseDataInnerEvent( + ) + """ + + def testGetWebhooksResponseDataInnerEvent(self): + """Test GetWebhooksResponseDataInnerEvent""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner_key.py b/cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner_key.py new file mode 100644 index 0000000..3fe8086 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner_key.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_key import GetWebhooksResponseDataInnerKey + +class TestGetWebhooksResponseDataInnerKey(unittest.TestCase): + """GetWebhooksResponseDataInnerKey unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetWebhooksResponseDataInnerKey: + """Test GetWebhooksResponseDataInnerKey + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetWebhooksResponseDataInnerKey` + """ + model = GetWebhooksResponseDataInnerKey() + if include_optional: + return GetWebhooksResponseDataInnerKey( + type = 'user', + id = '' + ) + else: + return GetWebhooksResponseDataInnerKey( + ) + """ + + def testGetWebhooksResponseDataInnerKey(self): + """Test GetWebhooksResponseDataInnerKey""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner_owner.py b/cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner_owner.py new file mode 100644 index 0000000..cd4f203 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner_owner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_owner import GetWebhooksResponseDataInnerOwner + +class TestGetWebhooksResponseDataInnerOwner(unittest.TestCase): + """GetWebhooksResponseDataInnerOwner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetWebhooksResponseDataInnerOwner: + """Test GetWebhooksResponseDataInnerOwner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetWebhooksResponseDataInnerOwner` + """ + model = GetWebhooksResponseDataInnerOwner() + if include_optional: + return GetWebhooksResponseDataInnerOwner( + type = '', + id = '' + ) + else: + return GetWebhooksResponseDataInnerOwner( + ) + """ + + def testGetWebhooksResponseDataInnerOwner(self): + """Test GetWebhooksResponseDataInnerOwner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner_subscription_data.py b/cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner_subscription_data.py new file mode 100644 index 0000000..b264a71 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_get_webhooks_response_data_inner_subscription_data.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.get_webhooks_response_data_inner_subscription_data import GetWebhooksResponseDataInnerSubscriptionData + +class TestGetWebhooksResponseDataInnerSubscriptionData(unittest.TestCase): + """GetWebhooksResponseDataInnerSubscriptionData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetWebhooksResponseDataInnerSubscriptionData: + """Test GetWebhooksResponseDataInnerSubscriptionData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetWebhooksResponseDataInnerSubscriptionData` + """ + model = GetWebhooksResponseDataInnerSubscriptionData() + if include_optional: + return GetWebhooksResponseDataInnerSubscriptionData( + endpoint = '' + ) + else: + return GetWebhooksResponseDataInnerSubscriptionData( + ) + """ + + def testGetWebhooksResponseDataInnerSubscriptionData(self): + """Test GetWebhooksResponseDataInnerSubscriptionData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_groups_api.py b/cloudbeds_pms_v1_3/test/test_groups_api.py new file mode 100644 index 0000000..ce2b682 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_groups_api.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.groups_api import GroupsApi + + +class TestGroupsApi(unittest.TestCase): + """GroupsApi unit test stubs""" + + def setUp(self) -> None: + self.api = GroupsApi() + + def tearDown(self) -> None: + pass + + def test_get_group_notes_get(self) -> None: + """Test case for get_group_notes_get + + getGroupNotes + """ + pass + + def test_get_groups_get(self) -> None: + """Test case for get_groups_get + + getGroups + """ + pass + + def test_patch_group_post(self) -> None: + """Test case for patch_group_post + + patchGroup + """ + pass + + def test_post_group_note_post(self) -> None: + """Test case for post_group_note_post + + postGroupNote + """ + pass + + def test_put_group_post(self) -> None: + """Test case for put_group_post + + putGroup + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_guest_api.py b/cloudbeds_pms_v1_3/test/test_guest_api.py new file mode 100644 index 0000000..1b5321d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_guest_api.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.guest_api import GuestApi + + +class TestGuestApi(unittest.TestCase): + """GuestApi unit test stubs""" + + def setUp(self) -> None: + self.api = GuestApi() + + def tearDown(self) -> None: + pass + + def test_delete_guest_note_delete(self) -> None: + """Test case for delete_guest_note_delete + + deleteGuestNote + """ + pass + + def test_get_guest_get(self) -> None: + """Test case for get_guest_get + + getGuest + """ + pass + + def test_get_guest_list_get(self) -> None: + """Test case for get_guest_list_get + + getGuestList + """ + pass + + def test_get_guest_notes_get(self) -> None: + """Test case for get_guest_notes_get + + getGuestNotes + """ + pass + + def test_get_guests_by_filter_get(self) -> None: + """Test case for get_guests_by_filter_get + + getGuestsByFilter + """ + pass + + def test_get_guests_by_status_get(self) -> None: + """Test case for get_guests_by_status_get + + getGuestsByStatus + """ + pass + + def test_get_guests_modified_get(self) -> None: + """Test case for get_guests_modified_get + + getGuestsModified + """ + pass + + def test_post_guest_document_post(self) -> None: + """Test case for post_guest_document_post + + postGuestDocument + """ + pass + + def test_post_guest_note_post(self) -> None: + """Test case for post_guest_note_post + + postGuestNote + """ + pass + + def test_post_guest_photo_post(self) -> None: + """Test case for post_guest_photo_post + + postGuestPhoto + """ + pass + + def test_post_guest_post(self) -> None: + """Test case for post_guest_post + + postGuest + """ + pass + + def test_post_guests_to_room_post(self) -> None: + """Test case for post_guests_to_room_post + + postGuestsToRoom + """ + pass + + def test_put_guest_note_put(self) -> None: + """Test case for put_guest_note_put + + putGuestNote + """ + pass + + def test_put_guest_put(self) -> None: + """Test case for put_guest_put + + putGuest + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_hotel_api.py b/cloudbeds_pms_v1_3/test/test_hotel_api.py new file mode 100644 index 0000000..9b38929 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_hotel_api.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.hotel_api import HotelApi + + +class TestHotelApi(unittest.TestCase): + """HotelApi unit test stubs""" + + def setUp(self) -> None: + self.api = HotelApi() + + def tearDown(self) -> None: + pass + + def test_get_files_get(self) -> None: + """Test case for get_files_get + + getFiles + """ + pass + + def test_get_hotel_details_get(self) -> None: + """Test case for get_hotel_details_get + + getHotelDetails + """ + pass + + def test_get_hotels_get(self) -> None: + """Test case for get_hotels_get + + getHotels + """ + pass + + def test_post_file_post(self) -> None: + """Test case for post_file_post + + postFile + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_house_account_api.py b/cloudbeds_pms_v1_3/test/test_house_account_api.py new file mode 100644 index 0000000..9c3a35d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_house_account_api.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.house_account_api import HouseAccountApi + + +class TestHouseAccountApi(unittest.TestCase): + """HouseAccountApi unit test stubs""" + + def setUp(self) -> None: + self.api = HouseAccountApi() + + def tearDown(self) -> None: + pass + + def test_get_house_account_list_get(self) -> None: + """Test case for get_house_account_list_get + + getHouseAccountList + """ + pass + + def test_post_new_house_account_post(self) -> None: + """Test case for post_new_house_account_post + + postNewHouseAccount + """ + pass + + def test_put_house_account_status_put(self) -> None: + """Test case for put_house_account_status_put + + putHouseAccountStatus + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_housekeeping_api.py b/cloudbeds_pms_v1_3/test/test_housekeeping_api.py new file mode 100644 index 0000000..59e3886 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_housekeeping_api.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.housekeeping_api import HousekeepingApi + + +class TestHousekeepingApi(unittest.TestCase): + """HousekeepingApi unit test stubs""" + + def setUp(self) -> None: + self.api = HousekeepingApi() + + def tearDown(self) -> None: + pass + + def test_get_housekeepers_get(self) -> None: + """Test case for get_housekeepers_get + + getHousekeepers + """ + pass + + def test_get_housekeeping_status_get(self) -> None: + """Test case for get_housekeeping_status_get + + getHousekeepingStatus + """ + pass + + def test_post_housekeeper_post(self) -> None: + """Test case for post_housekeeper_post + + postHousekeeper + """ + pass + + def test_post_housekeeping_assignment_post(self) -> None: + """Test case for post_housekeeping_assignment_post + + postHousekeepingAssignment + """ + pass + + def test_post_housekeeping_status_post(self) -> None: + """Test case for post_housekeeping_status_post + + postHousekeepingStatus + """ + pass + + def test_put_housekeeper_put(self) -> None: + """Test case for put_housekeeper_put + + putHousekeeper + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_integration_api.py b/cloudbeds_pms_v1_3/test/test_integration_api.py new file mode 100644 index 0000000..17e7d3e --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_integration_api.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.integration_api import IntegrationApi + + +class TestIntegrationApi(unittest.TestCase): + """IntegrationApi unit test stubs""" + + def setUp(self) -> None: + self.api = IntegrationApi() + + def tearDown(self) -> None: + pass + + def test_delete_webhook_delete(self) -> None: + """Test case for delete_webhook_delete + + deleteWebhook + """ + pass + + def test_get_app_settings_get(self) -> None: + """Test case for get_app_settings_get + + getAppSettings + """ + pass + + def test_get_app_state_get(self) -> None: + """Test case for get_app_state_get + + getAppState + """ + pass + + def test_get_webhooks_get(self) -> None: + """Test case for get_webhooks_get + + getWebhooks + """ + pass + + def test_post_app_error_post(self) -> None: + """Test case for post_app_error_post + + postAppError + """ + pass + + def test_post_app_state_post(self) -> None: + """Test case for post_app_state_post + + postAppState + """ + pass + + def test_post_government_receipt_post(self) -> None: + """Test case for post_government_receipt_post + + postGovernmentReceipt + """ + pass + + def test_post_webhook_post(self) -> None: + """Test case for post_webhook_post + + postWebhook + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_item_api.py b/cloudbeds_pms_v1_3/test/test_item_api.py new file mode 100644 index 0000000..6a5a20e --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_item_api.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.item_api import ItemApi + + +class TestItemApi(unittest.TestCase): + """ItemApi unit test stubs""" + + def setUp(self) -> None: + self.api = ItemApi() + + def tearDown(self) -> None: + pass + + def test_append_custom_item_post(self) -> None: + """Test case for append_custom_item_post + + appendCustomItem + """ + pass + + def test_get_item_categories_get(self) -> None: + """Test case for get_item_categories_get + + getItemCategories + """ + pass + + def test_get_item_get(self) -> None: + """Test case for get_item_get + + getItem + """ + pass + + def test_get_items_get(self) -> None: + """Test case for get_items_get + + getItems + """ + pass + + def test_post_custom_item_post(self) -> None: + """Test case for post_custom_item_post + + postCustomItem + """ + pass + + def test_post_item_category_post(self) -> None: + """Test case for post_item_category_post + + postItemCategory + """ + pass + + def test_post_item_post(self) -> None: + """Test case for post_item_post + + postItem + """ + pass + + def test_post_items_to_inventory_post(self) -> None: + """Test case for post_items_to_inventory_post + + postItemsToInventory + """ + pass + + def test_post_void_item_post(self) -> None: + """Test case for post_void_item_post + + postVoidItem + """ + pass + + def test_put_item_to_inventory_put(self) -> None: + """Test case for put_item_to_inventory_put + + putItemToInventory + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_package_api.py b/cloudbeds_pms_v1_3/test/test_package_api.py new file mode 100644 index 0000000..d57a0c8 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_package_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.package_api import PackageApi + + +class TestPackageApi(unittest.TestCase): + """PackageApi unit test stubs""" + + def setUp(self) -> None: + self.api = PackageApi() + + def tearDown(self) -> None: + pass + + def test_get_package_names_get(self) -> None: + """Test case for get_package_names_get + + getPackageNames + """ + pass + + def test_get_packages_get(self) -> None: + """Test case for get_packages_get + + getPackages + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_payment_api.py b/cloudbeds_pms_v1_3/test/test_payment_api.py new file mode 100644 index 0000000..7f5208a --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_payment_api.py @@ -0,0 +1,80 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.payment_api import PaymentApi + + +class TestPaymentApi(unittest.TestCase): + """PaymentApi unit test stubs""" + + def setUp(self) -> None: + self.api = PaymentApi() + + def tearDown(self) -> None: + pass + + def test_get_payment_methods_get(self) -> None: + """Test case for get_payment_methods_get + + getPaymentMethods + """ + pass + + def test_get_payments_capabilities_get(self) -> None: + """Test case for get_payments_capabilities_get + + getPaymentsCapabilities + """ + pass + + def test_post_charge_post(self) -> None: + """Test case for post_charge_post + + postCharge + """ + pass + + def test_post_credit_card_post(self) -> None: + """Test case for post_credit_card_post + + postCreditCard + """ + pass + + def test_post_custom_payment_method_post(self) -> None: + """Test case for post_custom_payment_method_post + + postCustomPaymentMethod + """ + pass + + def test_post_payment_post(self) -> None: + """Test case for post_payment_post + + postPayment + """ + pass + + def test_post_void_payment_post(self) -> None: + """Test case for post_void_payment_post + + postVoidPayment + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_access_token_response.py b/cloudbeds_pms_v1_3/test/test_post_access_token_response.py new file mode 100644 index 0000000..784fcae --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_access_token_response.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_access_token_response import PostAccessTokenResponse + +class TestPostAccessTokenResponse(unittest.TestCase): + """PostAccessTokenResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostAccessTokenResponse: + """Test PostAccessTokenResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostAccessTokenResponse` + """ + model = PostAccessTokenResponse() + if include_optional: + return PostAccessTokenResponse( + access_token = '', + token_type = '', + expires_in = 56, + refresh_token = '', + resources = [ + cloudbeds_pms_v1_3.models.post_access_token_response_resources_inner.PostAccessTokenResponse_resources_inner( + type = 'property', + id = '', ) + ] + ) + else: + return PostAccessTokenResponse( + ) + """ + + def testPostAccessTokenResponse(self): + """Test PostAccessTokenResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_access_token_response_resources_inner.py b/cloudbeds_pms_v1_3/test/test_post_access_token_response_resources_inner.py new file mode 100644 index 0000000..448385d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_access_token_response_resources_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_access_token_response_resources_inner import PostAccessTokenResponseResourcesInner + +class TestPostAccessTokenResponseResourcesInner(unittest.TestCase): + """PostAccessTokenResponseResourcesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostAccessTokenResponseResourcesInner: + """Test PostAccessTokenResponseResourcesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostAccessTokenResponseResourcesInner` + """ + model = PostAccessTokenResponseResourcesInner() + if include_optional: + return PostAccessTokenResponseResourcesInner( + type = 'property', + id = '' + ) + else: + return PostAccessTokenResponseResourcesInner( + ) + """ + + def testPostAccessTokenResponseResourcesInner(self): + """Test PostAccessTokenResponseResourcesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_adjustment_response.py b/cloudbeds_pms_v1_3/test/test_post_adjustment_response.py new file mode 100644 index 0000000..02ee982 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_adjustment_response.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_adjustment_response import PostAdjustmentResponse + +class TestPostAdjustmentResponse(unittest.TestCase): + """PostAdjustmentResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostAdjustmentResponse: + """Test PostAdjustmentResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostAdjustmentResponse` + """ + model = PostAdjustmentResponse() + if include_optional: + return PostAdjustmentResponse( + success = True, + data = cloudbeds_pms_v1_3.models.post_adjustment_response_data.PostAdjustmentResponse_data( + adjustment_id = '', ), + message = '' + ) + else: + return PostAdjustmentResponse( + ) + """ + + def testPostAdjustmentResponse(self): + """Test PostAdjustmentResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_adjustment_response_data.py b/cloudbeds_pms_v1_3/test/test_post_adjustment_response_data.py new file mode 100644 index 0000000..ee0a5a4 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_adjustment_response_data.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_adjustment_response_data import PostAdjustmentResponseData + +class TestPostAdjustmentResponseData(unittest.TestCase): + """PostAdjustmentResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostAdjustmentResponseData: + """Test PostAdjustmentResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostAdjustmentResponseData` + """ + model = PostAdjustmentResponseData() + if include_optional: + return PostAdjustmentResponseData( + adjustment_id = '' + ) + else: + return PostAdjustmentResponseData( + ) + """ + + def testPostAdjustmentResponseData(self): + """Test PostAdjustmentResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_app_error_response.py b/cloudbeds_pms_v1_3/test/test_post_app_error_response.py new file mode 100644 index 0000000..f74569f --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_app_error_response.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_app_error_response import PostAppErrorResponse + +class TestPostAppErrorResponse(unittest.TestCase): + """PostAppErrorResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostAppErrorResponse: + """Test PostAppErrorResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostAppErrorResponse` + """ + model = PostAppErrorResponse() + if include_optional: + return PostAppErrorResponse( + success = True, + data = cloudbeds_pms_v1_3.models.post_app_error_response_data.PostAppErrorResponse_data( + error_id = '', ) + ) + else: + return PostAppErrorResponse( + ) + """ + + def testPostAppErrorResponse(self): + """Test PostAppErrorResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_app_error_response_data.py b/cloudbeds_pms_v1_3/test/test_post_app_error_response_data.py new file mode 100644 index 0000000..6ef1df1 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_app_error_response_data.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_app_error_response_data import PostAppErrorResponseData + +class TestPostAppErrorResponseData(unittest.TestCase): + """PostAppErrorResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostAppErrorResponseData: + """Test PostAppErrorResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostAppErrorResponseData` + """ + model = PostAppErrorResponseData() + if include_optional: + return PostAppErrorResponseData( + error_id = '' + ) + else: + return PostAppErrorResponseData( + ) + """ + + def testPostAppErrorResponseData(self): + """Test PostAppErrorResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_app_property_setting_response.py b/cloudbeds_pms_v1_3/test/test_post_app_property_setting_response.py new file mode 100644 index 0000000..bd8812c --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_app_property_setting_response.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_app_property_setting_response import PostAppPropertySettingResponse + +class TestPostAppPropertySettingResponse(unittest.TestCase): + """PostAppPropertySettingResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostAppPropertySettingResponse: + """Test PostAppPropertySettingResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostAppPropertySettingResponse` + """ + model = PostAppPropertySettingResponse() + if include_optional: + return PostAppPropertySettingResponse( + success = True, + data = cloudbeds_pms_v1_3.models.post_app_property_setting_response_data.PostAppPropertySettingResponse_data( + id = '', + key = '', + value = '', ) + ) + else: + return PostAppPropertySettingResponse( + ) + """ + + def testPostAppPropertySettingResponse(self): + """Test PostAppPropertySettingResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_app_property_setting_response_data.py b/cloudbeds_pms_v1_3/test/test_post_app_property_setting_response_data.py new file mode 100644 index 0000000..accb662 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_app_property_setting_response_data.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_app_property_setting_response_data import PostAppPropertySettingResponseData + +class TestPostAppPropertySettingResponseData(unittest.TestCase): + """PostAppPropertySettingResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostAppPropertySettingResponseData: + """Test PostAppPropertySettingResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostAppPropertySettingResponseData` + """ + model = PostAppPropertySettingResponseData() + if include_optional: + return PostAppPropertySettingResponseData( + id = '', + key = '', + value = '' + ) + else: + return PostAppPropertySettingResponseData( + ) + """ + + def testPostAppPropertySettingResponseData(self): + """Test PostAppPropertySettingResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_app_state_response.py b/cloudbeds_pms_v1_3/test/test_post_app_state_response.py new file mode 100644 index 0000000..2ff6f3d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_app_state_response.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_app_state_response import PostAppStateResponse + +class TestPostAppStateResponse(unittest.TestCase): + """PostAppStateResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostAppStateResponse: + """Test PostAppStateResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostAppStateResponse` + """ + model = PostAppStateResponse() + if include_optional: + return PostAppStateResponse( + success = True + ) + else: + return PostAppStateResponse( + ) + """ + + def testPostAppStateResponse(self): + """Test PostAppStateResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_append_custom_item_response.py b/cloudbeds_pms_v1_3/test/test_post_append_custom_item_response.py new file mode 100644 index 0000000..fdafed6 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_append_custom_item_response.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_append_custom_item_response import PostAppendCustomItemResponse + +class TestPostAppendCustomItemResponse(unittest.TestCase): + """PostAppendCustomItemResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostAppendCustomItemResponse: + """Test PostAppendCustomItemResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostAppendCustomItemResponse` + """ + model = PostAppendCustomItemResponse() + if include_optional: + return PostAppendCustomItemResponse( + success = True, + data = cloudbeds_pms_v1_3.models.post_append_custom_item_response_data.PostAppendCustomItemResponse_data( + sold_product_id = '', + transaction_id = '', ) + ) + else: + return PostAppendCustomItemResponse( + ) + """ + + def testPostAppendCustomItemResponse(self): + """Test PostAppendCustomItemResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_append_custom_item_response_data.py b/cloudbeds_pms_v1_3/test/test_post_append_custom_item_response_data.py new file mode 100644 index 0000000..ae817f4 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_append_custom_item_response_data.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_append_custom_item_response_data import PostAppendCustomItemResponseData + +class TestPostAppendCustomItemResponseData(unittest.TestCase): + """PostAppendCustomItemResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostAppendCustomItemResponseData: + """Test PostAppendCustomItemResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostAppendCustomItemResponseData` + """ + model = PostAppendCustomItemResponseData() + if include_optional: + return PostAppendCustomItemResponseData( + sold_product_id = '', + transaction_id = '' + ) + else: + return PostAppendCustomItemResponseData( + ) + """ + + def testPostAppendCustomItemResponseData(self): + """Test PostAppendCustomItemResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_card_response.py b/cloudbeds_pms_v1_3/test/test_post_card_response.py new file mode 100644 index 0000000..d53bbbd --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_card_response.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_card_response import PostCardResponse + +class TestPostCardResponse(unittest.TestCase): + """PostCardResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCardResponse: + """Test PostCardResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCardResponse` + """ + model = PostCardResponse() + if include_optional: + return PostCardResponse( + success = True, + data = cloudbeds_pms_v1_3.models.post_card_response_data.PostCardResponse_data( + card_id = '', + card_number = '', + card_type = 'visa', + redirect_url = '', ) + ) + else: + return PostCardResponse( + ) + """ + + def testPostCardResponse(self): + """Test PostCardResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_card_response_data.py b/cloudbeds_pms_v1_3/test/test_post_card_response_data.py new file mode 100644 index 0000000..b7b99ab --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_card_response_data.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_card_response_data import PostCardResponseData + +class TestPostCardResponseData(unittest.TestCase): + """PostCardResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCardResponseData: + """Test PostCardResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCardResponseData` + """ + model = PostCardResponseData() + if include_optional: + return PostCardResponseData( + card_id = '', + card_number = '', + card_type = 'visa', + redirect_url = '' + ) + else: + return PostCardResponseData( + ) + """ + + def testPostCardResponseData(self): + """Test PostCardResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_charge_response.py b/cloudbeds_pms_v1_3/test/test_post_charge_response.py new file mode 100644 index 0000000..19ab8c3 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_charge_response.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_charge_response import PostChargeResponse + +class TestPostChargeResponse(unittest.TestCase): + """PostChargeResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostChargeResponse: + """Test PostChargeResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostChargeResponse` + """ + model = PostChargeResponse() + if include_optional: + return PostChargeResponse( + success = True, + data = cloudbeds_pms_v1_3.models.post_charge_response_data.PostChargeResponse_data( + payment_id = '', + transaction_id = '', + payment_status = '', + payment_type = '', + next_action = cloudbeds_pms_v1_3.models.post_charge_response_data_next_action.PostChargeResponse_data_nextAction( + type = '', + details = cloudbeds_pms_v1_3.models.post_charge_response_data_next_action_details.PostChargeResponse_data_nextAction_details( + url = '', + method = '', ), ), ) + ) + else: + return PostChargeResponse( + ) + """ + + def testPostChargeResponse(self): + """Test PostChargeResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_charge_response_data.py b/cloudbeds_pms_v1_3/test/test_post_charge_response_data.py new file mode 100644 index 0000000..41b74dd --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_charge_response_data.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_charge_response_data import PostChargeResponseData + +class TestPostChargeResponseData(unittest.TestCase): + """PostChargeResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostChargeResponseData: + """Test PostChargeResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostChargeResponseData` + """ + model = PostChargeResponseData() + if include_optional: + return PostChargeResponseData( + payment_id = '', + transaction_id = '', + payment_status = '', + payment_type = '', + next_action = cloudbeds_pms_v1_3.models.post_charge_response_data_next_action.PostChargeResponse_data_nextAction( + type = '', + details = cloudbeds_pms_v1_3.models.post_charge_response_data_next_action_details.PostChargeResponse_data_nextAction_details( + url = '', + method = '', ), ) + ) + else: + return PostChargeResponseData( + ) + """ + + def testPostChargeResponseData(self): + """Test PostChargeResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_charge_response_data_next_action.py b/cloudbeds_pms_v1_3/test/test_post_charge_response_data_next_action.py new file mode 100644 index 0000000..a1b6495 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_charge_response_data_next_action.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_charge_response_data_next_action import PostChargeResponseDataNextAction + +class TestPostChargeResponseDataNextAction(unittest.TestCase): + """PostChargeResponseDataNextAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostChargeResponseDataNextAction: + """Test PostChargeResponseDataNextAction + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostChargeResponseDataNextAction` + """ + model = PostChargeResponseDataNextAction() + if include_optional: + return PostChargeResponseDataNextAction( + type = '', + details = cloudbeds_pms_v1_3.models.post_charge_response_data_next_action_details.PostChargeResponse_data_nextAction_details( + url = '', + method = '', ) + ) + else: + return PostChargeResponseDataNextAction( + ) + """ + + def testPostChargeResponseDataNextAction(self): + """Test PostChargeResponseDataNextAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_charge_response_data_next_action_details.py b/cloudbeds_pms_v1_3/test/test_post_charge_response_data_next_action_details.py new file mode 100644 index 0000000..1e864ca --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_charge_response_data_next_action_details.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_charge_response_data_next_action_details import PostChargeResponseDataNextActionDetails + +class TestPostChargeResponseDataNextActionDetails(unittest.TestCase): + """PostChargeResponseDataNextActionDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostChargeResponseDataNextActionDetails: + """Test PostChargeResponseDataNextActionDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostChargeResponseDataNextActionDetails` + """ + model = PostChargeResponseDataNextActionDetails() + if include_optional: + return PostChargeResponseDataNextActionDetails( + url = '', + method = '' + ) + else: + return PostChargeResponseDataNextActionDetails( + ) + """ + + def testPostChargeResponseDataNextActionDetails(self): + """Test PostChargeResponseDataNextActionDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_notes_response.py b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_notes_response.py new file mode 100644 index 0000000..bf2b35e --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_notes_response.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_create_allotment_block_notes_response import PostCreateAllotmentBlockNotesResponse + +class TestPostCreateAllotmentBlockNotesResponse(unittest.TestCase): + """PostCreateAllotmentBlockNotesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCreateAllotmentBlockNotesResponse: + """Test PostCreateAllotmentBlockNotesResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCreateAllotmentBlockNotesResponse` + """ + model = PostCreateAllotmentBlockNotesResponse() + if include_optional: + return PostCreateAllotmentBlockNotesResponse( + success = True, + data = cloudbeds_pms_v1_3.models.post_create_allotment_block_notes_response_data.PostCreateAllotmentBlockNotesResponse_data( + id = '', + text = '', + created_by = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + archived_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = '', ) + ) + else: + return PostCreateAllotmentBlockNotesResponse( + ) + """ + + def testPostCreateAllotmentBlockNotesResponse(self): + """Test PostCreateAllotmentBlockNotesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_notes_response_data.py b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_notes_response_data.py new file mode 100644 index 0000000..9923eab --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_notes_response_data.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_create_allotment_block_notes_response_data import PostCreateAllotmentBlockNotesResponseData + +class TestPostCreateAllotmentBlockNotesResponseData(unittest.TestCase): + """PostCreateAllotmentBlockNotesResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCreateAllotmentBlockNotesResponseData: + """Test PostCreateAllotmentBlockNotesResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCreateAllotmentBlockNotesResponseData` + """ + model = PostCreateAllotmentBlockNotesResponseData() + if include_optional: + return PostCreateAllotmentBlockNotesResponseData( + id = '', + text = '', + created_by = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + archived_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = '' + ) + else: + return PostCreateAllotmentBlockNotesResponseData( + ) + """ + + def testPostCreateAllotmentBlockNotesResponseData(self): + """Test PostCreateAllotmentBlockNotesResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_allotment_intervals_inner.py b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_allotment_intervals_inner.py new file mode 100644 index 0000000..43d17f3 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_allotment_intervals_inner.py @@ -0,0 +1,74 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner import PostCreateAllotmentBlockRequestAllotmentIntervalsInner + +class TestPostCreateAllotmentBlockRequestAllotmentIntervalsInner(unittest.TestCase): + """PostCreateAllotmentBlockRequestAllotmentIntervalsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCreateAllotmentBlockRequestAllotmentIntervalsInner: + """Test PostCreateAllotmentBlockRequestAllotmentIntervalsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCreateAllotmentBlockRequestAllotmentIntervalsInner` + """ + model = PostCreateAllotmentBlockRequestAllotmentIntervalsInner() + if include_optional: + return PostCreateAllotmentBlockRequestAllotmentIntervalsInner( + policy_id = '', + availability = [ + cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner.PostCreateAllotmentBlockRequest_allotmentIntervals_inner_availability_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + block_allotted = 56, + rate = '', + guest_pricing = cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.PostCreateAllotmentBlockRequest_allotmentIntervals_inner_availability_inner_guestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '', ), + restrictions = cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions.PostCreateAllotmentBlockRequest_allotmentIntervals_inner_availability_inner_restrictions( + min_los = 56, + max_los = 56, + cut_off_days = 56, + last_minute_booking_days = 56, + closed_to_arrival = 56, + closed_to_departure = 56, ), + rooms = [ + '' + ], ) + ] + ) + else: + return PostCreateAllotmentBlockRequestAllotmentIntervalsInner( + ) + """ + + def testPostCreateAllotmentBlockRequestAllotmentIntervalsInner(self): + """Test PostCreateAllotmentBlockRequestAllotmentIntervalsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_allotment_intervals_inner_availability_inner.py b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_allotment_intervals_inner_availability_inner.py new file mode 100644 index 0000000..83ce346 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_allotment_intervals_inner_availability_inner.py @@ -0,0 +1,70 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner import PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner + +class TestPostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner(unittest.TestCase): + """PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner: + """Test PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner` + """ + model = PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner() + if include_optional: + return PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner( + var_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + block_allotted = 56, + rate = '', + guest_pricing = cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.PostCreateAllotmentBlockRequest_allotmentIntervals_inner_availability_inner_guestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '', ), + restrictions = cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions.PostCreateAllotmentBlockRequest_allotmentIntervals_inner_availability_inner_restrictions( + min_los = 56, + max_los = 56, + cut_off_days = 56, + last_minute_booking_days = 56, + closed_to_arrival = 56, + closed_to_departure = 56, ), + rooms = [ + '' + ] + ) + else: + return PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner( + ) + """ + + def testPostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner(self): + """Test PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.py b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.py new file mode 100644 index 0000000..b9c3860 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing import PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing + +class TestPostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing(unittest.TestCase): + """PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing: + """Test PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing` + """ + model = PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing() + if include_optional: + return PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '' + ) + else: + return PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing( + ) + """ + + def testPostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing(self): + """Test PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions.py b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions.py new file mode 100644 index 0000000..5a572fb --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions import PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions + +class TestPostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions(unittest.TestCase): + """PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions: + """Test PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions` + """ + model = PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions() + if include_optional: + return PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions( + min_los = 56, + max_los = 56, + cut_off_days = 56, + last_minute_booking_days = 56, + closed_to_arrival = 56, + closed_to_departure = 56 + ) + else: + return PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions( + ) + """ + + def testPostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions(self): + """Test PostCreateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerRestrictions""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_auto_release.py b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_auto_release.py new file mode 100644 index 0000000..6d5e706 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_request_auto_release.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_create_allotment_block_request_auto_release import PostCreateAllotmentBlockRequestAutoRelease + +class TestPostCreateAllotmentBlockRequestAutoRelease(unittest.TestCase): + """PostCreateAllotmentBlockRequestAutoRelease unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCreateAllotmentBlockRequestAutoRelease: + """Test PostCreateAllotmentBlockRequestAutoRelease + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCreateAllotmentBlockRequestAutoRelease` + """ + model = PostCreateAllotmentBlockRequestAutoRelease() + if include_optional: + return PostCreateAllotmentBlockRequestAutoRelease( + release_type = 'all_dates', + days = 56, + release_time = '' + ) + else: + return PostCreateAllotmentBlockRequestAutoRelease( + ) + """ + + def testPostCreateAllotmentBlockRequestAutoRelease(self): + """Test PostCreateAllotmentBlockRequestAutoRelease""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response.py b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response.py new file mode 100644 index 0000000..fc9a7e2 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response import PostCreateAllotmentBlockResponse + +class TestPostCreateAllotmentBlockResponse(unittest.TestCase): + """PostCreateAllotmentBlockResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCreateAllotmentBlockResponse: + """Test PostCreateAllotmentBlockResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCreateAllotmentBlockResponse` + """ + model = PostCreateAllotmentBlockResponse() + if include_optional: + return PostCreateAllotmentBlockResponse( + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + success = True, + data = [ + cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner.PostCreateAllotmentBlockResponse_data_inner( + property_id = '', + allotment_block_code = '', + allotment_block_status = '', + allotment_block_name = '', + allotment_block_id = '', + rate_type = '', + rate_plan_id = '', + allotment_type = '', + group_id = '', + group_code = '', + event_id = '', + event_code = '', + is_auto_release = True, + auto_release = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_auto_release.PostCreateAllotmentBlockResponse_data_inner_autoRelease( + release_type = 'all_dates', + days = 56, + release_time = '', ), + allotment_intervals = [ + cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner( + policy_id = '', + room_type_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + availability = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_availability( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + block_remaining = 56, + block_allotted = 56, + block_confirmed = 56, + rate = '', + guest_pricing = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_availability_guestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '', ), + rooms = [ + '' + ], ), + restrictions = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_restrictions( + min_los = 56, + max_los = 56, + cut_off_days = 56, + last_minute_booking_days = 56, + closed_to_arrival = 56, + closed_to_departure = 56, ), ) + ], ) + ] + ) + else: + return PostCreateAllotmentBlockResponse( + ) + """ + + def testPostCreateAllotmentBlockResponse(self): + """Test PostCreateAllotmentBlockResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner.py new file mode 100644 index 0000000..7b1c8c2 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner import PostCreateAllotmentBlockResponseDataInner + +class TestPostCreateAllotmentBlockResponseDataInner(unittest.TestCase): + """PostCreateAllotmentBlockResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCreateAllotmentBlockResponseDataInner: + """Test PostCreateAllotmentBlockResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCreateAllotmentBlockResponseDataInner` + """ + model = PostCreateAllotmentBlockResponseDataInner() + if include_optional: + return PostCreateAllotmentBlockResponseDataInner( + property_id = '', + allotment_block_code = '', + allotment_block_status = '', + allotment_block_name = '', + allotment_block_id = '', + rate_type = '', + rate_plan_id = '', + allotment_type = '', + group_id = '', + group_code = '', + event_id = '', + event_code = '', + is_auto_release = True, + auto_release = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_auto_release.PostCreateAllotmentBlockResponse_data_inner_autoRelease( + release_type = 'all_dates', + days = 56, + release_time = '', ), + allotment_intervals = [ + cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner( + policy_id = '', + room_type_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + availability = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_availability( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + block_remaining = 56, + block_allotted = 56, + block_confirmed = 56, + rate = '', + guest_pricing = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_availability_guestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '', ), + rooms = [ + '' + ], ), + restrictions = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_restrictions( + min_los = 56, + max_los = 56, + cut_off_days = 56, + last_minute_booking_days = 56, + closed_to_arrival = 56, + closed_to_departure = 56, ), ) + ] + ) + else: + return PostCreateAllotmentBlockResponseDataInner( + ) + """ + + def testPostCreateAllotmentBlockResponseDataInner(self): + """Test PostCreateAllotmentBlockResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_allotment_intervals_inner.py b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_allotment_intervals_inner.py new file mode 100644 index 0000000..0b9bc93 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_allotment_intervals_inner.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner + +class TestPostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner(unittest.TestCase): + """PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner: + """Test PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner` + """ + model = PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner() + if include_optional: + return PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner( + policy_id = '', + room_type_id = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + availability = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_availability( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + block_remaining = 56, + block_allotted = 56, + block_confirmed = 56, + rate = '', + guest_pricing = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_availability_guestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '', ), + rooms = [ + '' + ], ), + restrictions = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_restrictions( + min_los = 56, + max_los = 56, + cut_off_days = 56, + last_minute_booking_days = 56, + closed_to_arrival = 56, + closed_to_departure = 56, ) + ) + else: + return PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner( + ) + """ + + def testPostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner(self): + """Test PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability.py b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability.py new file mode 100644 index 0000000..d4923a6 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability + +class TestPostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability(unittest.TestCase): + """PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability: + """Test PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability` + """ + model = PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability() + if include_optional: + return PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability( + var_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + block_remaining = 56, + block_allotted = 56, + block_confirmed = 56, + rate = '', + guest_pricing = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_availability_guestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '', ), + rooms = [ + '' + ] + ) + else: + return PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability( + ) + """ + + def testPostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability(self): + """Test PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailability""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.py b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.py new file mode 100644 index 0000000..0500cfa --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing + +class TestPostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing(unittest.TestCase): + """PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing: + """Test PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing` + """ + model = PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing() + if include_optional: + return PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '' + ) + else: + return PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing( + ) + """ + + def testPostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing(self): + """Test PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerAvailabilityGuestPricing""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.py b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.py new file mode 100644 index 0000000..ea84102 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_restrictions import PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions + +class TestPostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions(unittest.TestCase): + """PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions: + """Test PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions` + """ + model = PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions() + if include_optional: + return PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions( + min_los = 56, + max_los = 56, + cut_off_days = 56, + last_minute_booking_days = 56, + closed_to_arrival = 56, + closed_to_departure = 56 + ) + else: + return PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions( + ) + """ + + def testPostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions(self): + """Test PostCreateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_auto_release.py b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_auto_release.py new file mode 100644 index 0000000..1fce3e7 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_create_allotment_block_response_data_inner_auto_release.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_auto_release import PostCreateAllotmentBlockResponseDataInnerAutoRelease + +class TestPostCreateAllotmentBlockResponseDataInnerAutoRelease(unittest.TestCase): + """PostCreateAllotmentBlockResponseDataInnerAutoRelease unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCreateAllotmentBlockResponseDataInnerAutoRelease: + """Test PostCreateAllotmentBlockResponseDataInnerAutoRelease + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCreateAllotmentBlockResponseDataInnerAutoRelease` + """ + model = PostCreateAllotmentBlockResponseDataInnerAutoRelease() + if include_optional: + return PostCreateAllotmentBlockResponseDataInnerAutoRelease( + release_type = 'all_dates', + days = 56, + release_time = '' + ) + else: + return PostCreateAllotmentBlockResponseDataInnerAutoRelease( + ) + """ + + def testPostCreateAllotmentBlockResponseDataInnerAutoRelease(self): + """Test PostCreateAllotmentBlockResponseDataInnerAutoRelease""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_custom_field_response.py b/cloudbeds_pms_v1_3/test/test_post_custom_field_response.py new file mode 100644 index 0000000..4166b05 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_custom_field_response.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_custom_field_response import PostCustomFieldResponse + +class TestPostCustomFieldResponse(unittest.TestCase): + """PostCustomFieldResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCustomFieldResponse: + """Test PostCustomFieldResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCustomFieldResponse` + """ + model = PostCustomFieldResponse() + if include_optional: + return PostCustomFieldResponse( + success = True, + data = cloudbeds_pms_v1_3.models.post_custom_field_response_data.PostCustomFieldResponse_data( + field_id = '', + name = '', + shortcode = '', ), + message = '' + ) + else: + return PostCustomFieldResponse( + ) + """ + + def testPostCustomFieldResponse(self): + """Test PostCustomFieldResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_custom_field_response_data.py b/cloudbeds_pms_v1_3/test/test_post_custom_field_response_data.py new file mode 100644 index 0000000..4a7bda1 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_custom_field_response_data.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_custom_field_response_data import PostCustomFieldResponseData + +class TestPostCustomFieldResponseData(unittest.TestCase): + """PostCustomFieldResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCustomFieldResponseData: + """Test PostCustomFieldResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCustomFieldResponseData` + """ + model = PostCustomFieldResponseData() + if include_optional: + return PostCustomFieldResponseData( + field_id = '', + name = '', + shortcode = '' + ) + else: + return PostCustomFieldResponseData( + ) + """ + + def testPostCustomFieldResponseData(self): + """Test PostCustomFieldResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_custom_item_request_items_inner.py b/cloudbeds_pms_v1_3/test/test_post_custom_item_request_items_inner.py new file mode 100644 index 0000000..e002034 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_custom_item_request_items_inner.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner import PostCustomItemRequestItemsInner + +class TestPostCustomItemRequestItemsInner(unittest.TestCase): + """PostCustomItemRequestItemsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCustomItemRequestItemsInner: + """Test PostCustomItemRequestItemsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCustomItemRequestItemsInner` + """ + model = PostCustomItemRequestItemsInner() + if include_optional: + return PostCustomItemRequestItemsInner( + app_item_id = '', + item_sku = '', + item_quantity = 56, + item_price = 1.337, + item_name = '', + item_category_name = '', + item_note = '', + item_taxes = [ + cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner_item_taxes_inner.PostCustomItemRequest_items_inner_itemTaxes_inner( + tax_name = '', + tax_value = 1.337, ) + ], + item_fees = [ + cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner_item_fees_inner.PostCustomItemRequest_items_inner_itemFees_inner( + fee_name = '', + fee_value = 1.337, ) + ] + ) + else: + return PostCustomItemRequestItemsInner( + ) + """ + + def testPostCustomItemRequestItemsInner(self): + """Test PostCustomItemRequestItemsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_custom_item_request_items_inner_item_fees_inner.py b/cloudbeds_pms_v1_3/test/test_post_custom_item_request_items_inner_item_fees_inner.py new file mode 100644 index 0000000..a1e1336 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_custom_item_request_items_inner_item_fees_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner_item_fees_inner import PostCustomItemRequestItemsInnerItemFeesInner + +class TestPostCustomItemRequestItemsInnerItemFeesInner(unittest.TestCase): + """PostCustomItemRequestItemsInnerItemFeesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCustomItemRequestItemsInnerItemFeesInner: + """Test PostCustomItemRequestItemsInnerItemFeesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCustomItemRequestItemsInnerItemFeesInner` + """ + model = PostCustomItemRequestItemsInnerItemFeesInner() + if include_optional: + return PostCustomItemRequestItemsInnerItemFeesInner( + fee_name = '', + fee_value = 1.337 + ) + else: + return PostCustomItemRequestItemsInnerItemFeesInner( + ) + """ + + def testPostCustomItemRequestItemsInnerItemFeesInner(self): + """Test PostCustomItemRequestItemsInnerItemFeesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_custom_item_request_items_inner_item_taxes_inner.py b/cloudbeds_pms_v1_3/test/test_post_custom_item_request_items_inner_item_taxes_inner.py new file mode 100644 index 0000000..b6edd32 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_custom_item_request_items_inner_item_taxes_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_custom_item_request_items_inner_item_taxes_inner import PostCustomItemRequestItemsInnerItemTaxesInner + +class TestPostCustomItemRequestItemsInnerItemTaxesInner(unittest.TestCase): + """PostCustomItemRequestItemsInnerItemTaxesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCustomItemRequestItemsInnerItemTaxesInner: + """Test PostCustomItemRequestItemsInnerItemTaxesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCustomItemRequestItemsInnerItemTaxesInner` + """ + model = PostCustomItemRequestItemsInnerItemTaxesInner() + if include_optional: + return PostCustomItemRequestItemsInnerItemTaxesInner( + tax_name = '', + tax_value = 1.337 + ) + else: + return PostCustomItemRequestItemsInnerItemTaxesInner( + ) + """ + + def testPostCustomItemRequestItemsInnerItemTaxesInner(self): + """Test PostCustomItemRequestItemsInnerItemTaxesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_custom_item_request_payments_inner.py b/cloudbeds_pms_v1_3/test/test_post_custom_item_request_payments_inner.py new file mode 100644 index 0000000..7b534fe --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_custom_item_request_payments_inner.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_custom_item_request_payments_inner import PostCustomItemRequestPaymentsInner + +class TestPostCustomItemRequestPaymentsInner(unittest.TestCase): + """PostCustomItemRequestPaymentsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCustomItemRequestPaymentsInner: + """Test PostCustomItemRequestPaymentsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCustomItemRequestPaymentsInner` + """ + model = PostCustomItemRequestPaymentsInner() + if include_optional: + return PostCustomItemRequestPaymentsInner( + payment_type = '', + card_type = '', + amount = 1.337, + notes = '' + ) + else: + return PostCustomItemRequestPaymentsInner( + ) + """ + + def testPostCustomItemRequestPaymentsInner(self): + """Test PostCustomItemRequestPaymentsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_custom_item_response.py b/cloudbeds_pms_v1_3/test/test_post_custom_item_response.py new file mode 100644 index 0000000..b749720 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_custom_item_response.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_custom_item_response import PostCustomItemResponse + +class TestPostCustomItemResponse(unittest.TestCase): + """PostCustomItemResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCustomItemResponse: + """Test PostCustomItemResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCustomItemResponse` + """ + model = PostCustomItemResponse() + if include_optional: + return PostCustomItemResponse( + success = True, + data = cloudbeds_pms_v1_3.models.post_custom_item_response_data.PostCustomItemResponse_data( + sold_product_id = '', + transaction_id = '', + notice = '', ) + ) + else: + return PostCustomItemResponse( + ) + """ + + def testPostCustomItemResponse(self): + """Test PostCustomItemResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_custom_item_response_data.py b/cloudbeds_pms_v1_3/test/test_post_custom_item_response_data.py new file mode 100644 index 0000000..c867d42 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_custom_item_response_data.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_custom_item_response_data import PostCustomItemResponseData + +class TestPostCustomItemResponseData(unittest.TestCase): + """PostCustomItemResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCustomItemResponseData: + """Test PostCustomItemResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCustomItemResponseData` + """ + model = PostCustomItemResponseData() + if include_optional: + return PostCustomItemResponseData( + sold_product_id = '', + transaction_id = '', + notice = '' + ) + else: + return PostCustomItemResponseData( + ) + """ + + def testPostCustomItemResponseData(self): + """Test PostCustomItemResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_custom_payment_method_response.py b/cloudbeds_pms_v1_3/test/test_post_custom_payment_method_response.py new file mode 100644 index 0000000..d3c31b0 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_custom_payment_method_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_custom_payment_method_response import PostCustomPaymentMethodResponse + +class TestPostCustomPaymentMethodResponse(unittest.TestCase): + """PostCustomPaymentMethodResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostCustomPaymentMethodResponse: + """Test PostCustomPaymentMethodResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostCustomPaymentMethodResponse` + """ + model = PostCustomPaymentMethodResponse() + if include_optional: + return PostCustomPaymentMethodResponse( + success = True, + message = '' + ) + else: + return PostCustomPaymentMethodResponse( + ) + """ + + def testPostCustomPaymentMethodResponse(self): + """Test PostCustomPaymentMethodResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_delete_allotment_block_response.py b/cloudbeds_pms_v1_3/test/test_post_delete_allotment_block_response.py new file mode 100644 index 0000000..09d58c1 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_delete_allotment_block_response.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_delete_allotment_block_response import PostDeleteAllotmentBlockResponse + +class TestPostDeleteAllotmentBlockResponse(unittest.TestCase): + """PostDeleteAllotmentBlockResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostDeleteAllotmentBlockResponse: + """Test PostDeleteAllotmentBlockResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostDeleteAllotmentBlockResponse` + """ + model = PostDeleteAllotmentBlockResponse() + if include_optional: + return PostDeleteAllotmentBlockResponse( + success = True + ) + else: + return PostDeleteAllotmentBlockResponse( + ) + """ + + def testPostDeleteAllotmentBlockResponse(self): + """Test PostDeleteAllotmentBlockResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_delete_app_property_settings_response.py b/cloudbeds_pms_v1_3/test/test_post_delete_app_property_settings_response.py new file mode 100644 index 0000000..50a31f7 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_delete_app_property_settings_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_delete_app_property_settings_response import PostDeleteAppPropertySettingsResponse + +class TestPostDeleteAppPropertySettingsResponse(unittest.TestCase): + """PostDeleteAppPropertySettingsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostDeleteAppPropertySettingsResponse: + """Test PostDeleteAppPropertySettingsResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostDeleteAppPropertySettingsResponse` + """ + model = PostDeleteAppPropertySettingsResponse() + if include_optional: + return PostDeleteAppPropertySettingsResponse( + success = True, + message = '' + ) + else: + return PostDeleteAppPropertySettingsResponse( + ) + """ + + def testPostDeleteAppPropertySettingsResponse(self): + """Test PostDeleteAppPropertySettingsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_email_schedule_request_schedule.py b/cloudbeds_pms_v1_3/test/test_post_email_schedule_request_schedule.py new file mode 100644 index 0000000..7f91751 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_email_schedule_request_schedule.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule import PostEmailScheduleRequestSchedule + +class TestPostEmailScheduleRequestSchedule(unittest.TestCase): + """PostEmailScheduleRequestSchedule unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostEmailScheduleRequestSchedule: + """Test PostEmailScheduleRequestSchedule + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostEmailScheduleRequestSchedule` + """ + model = PostEmailScheduleRequestSchedule() + if include_optional: + return PostEmailScheduleRequestSchedule( + reservation_status_change = cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule_reservation_status_change.PostEmailScheduleRequest_schedule_reservationStatusChange( + status = 'confirmed', ), + reservation_event = cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule_reservation_event.PostEmailScheduleRequest_schedule_reservationEvent( + event = 'after_booking', + days = 56, + time = '', ) + ) + else: + return PostEmailScheduleRequestSchedule( + ) + """ + + def testPostEmailScheduleRequestSchedule(self): + """Test PostEmailScheduleRequestSchedule""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_email_schedule_request_schedule_reservation_event.py b/cloudbeds_pms_v1_3/test/test_post_email_schedule_request_schedule_reservation_event.py new file mode 100644 index 0000000..77546a3 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_email_schedule_request_schedule_reservation_event.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule_reservation_event import PostEmailScheduleRequestScheduleReservationEvent + +class TestPostEmailScheduleRequestScheduleReservationEvent(unittest.TestCase): + """PostEmailScheduleRequestScheduleReservationEvent unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostEmailScheduleRequestScheduleReservationEvent: + """Test PostEmailScheduleRequestScheduleReservationEvent + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostEmailScheduleRequestScheduleReservationEvent` + """ + model = PostEmailScheduleRequestScheduleReservationEvent() + if include_optional: + return PostEmailScheduleRequestScheduleReservationEvent( + event = 'after_booking', + days = 56, + time = '' + ) + else: + return PostEmailScheduleRequestScheduleReservationEvent( + ) + """ + + def testPostEmailScheduleRequestScheduleReservationEvent(self): + """Test PostEmailScheduleRequestScheduleReservationEvent""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_email_schedule_request_schedule_reservation_status_change.py b/cloudbeds_pms_v1_3/test/test_post_email_schedule_request_schedule_reservation_status_change.py new file mode 100644 index 0000000..2ed7d24 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_email_schedule_request_schedule_reservation_status_change.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_email_schedule_request_schedule_reservation_status_change import PostEmailScheduleRequestScheduleReservationStatusChange + +class TestPostEmailScheduleRequestScheduleReservationStatusChange(unittest.TestCase): + """PostEmailScheduleRequestScheduleReservationStatusChange unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostEmailScheduleRequestScheduleReservationStatusChange: + """Test PostEmailScheduleRequestScheduleReservationStatusChange + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostEmailScheduleRequestScheduleReservationStatusChange` + """ + model = PostEmailScheduleRequestScheduleReservationStatusChange() + if include_optional: + return PostEmailScheduleRequestScheduleReservationStatusChange( + status = 'confirmed' + ) + else: + return PostEmailScheduleRequestScheduleReservationStatusChange( + ) + """ + + def testPostEmailScheduleRequestScheduleReservationStatusChange(self): + """Test PostEmailScheduleRequestScheduleReservationStatusChange""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_email_schedule_response.py b/cloudbeds_pms_v1_3/test/test_post_email_schedule_response.py new file mode 100644 index 0000000..7de7d68 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_email_schedule_response.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_email_schedule_response import PostEmailScheduleResponse + +class TestPostEmailScheduleResponse(unittest.TestCase): + """PostEmailScheduleResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostEmailScheduleResponse: + """Test PostEmailScheduleResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostEmailScheduleResponse` + """ + model = PostEmailScheduleResponse() + if include_optional: + return PostEmailScheduleResponse( + success = True, + email_schedule_id = '', + message = '' + ) + else: + return PostEmailScheduleResponse( + ) + """ + + def testPostEmailScheduleResponse(self): + """Test PostEmailScheduleResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_email_template_request_body.py b/cloudbeds_pms_v1_3/test/test_post_email_template_request_body.py new file mode 100644 index 0000000..bede51f --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_email_template_request_body.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_email_template_request_body import PostEmailTemplateRequestBody + +class TestPostEmailTemplateRequestBody(unittest.TestCase): + """PostEmailTemplateRequestBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostEmailTemplateRequestBody: + """Test PostEmailTemplateRequestBody + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostEmailTemplateRequestBody` + """ + model = PostEmailTemplateRequestBody() + if include_optional: + return PostEmailTemplateRequestBody( + en = '', + es = '', + ru = '', + pt_br = '' + ) + else: + return PostEmailTemplateRequestBody( + ) + """ + + def testPostEmailTemplateRequestBody(self): + """Test PostEmailTemplateRequestBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_email_template_request_subject.py b/cloudbeds_pms_v1_3/test/test_post_email_template_request_subject.py new file mode 100644 index 0000000..5ae01ac --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_email_template_request_subject.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_email_template_request_subject import PostEmailTemplateRequestSubject + +class TestPostEmailTemplateRequestSubject(unittest.TestCase): + """PostEmailTemplateRequestSubject unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostEmailTemplateRequestSubject: + """Test PostEmailTemplateRequestSubject + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostEmailTemplateRequestSubject` + """ + model = PostEmailTemplateRequestSubject() + if include_optional: + return PostEmailTemplateRequestSubject( + en = '', + es = '', + ru = '', + pt_br = '' + ) + else: + return PostEmailTemplateRequestSubject( + ) + """ + + def testPostEmailTemplateRequestSubject(self): + """Test PostEmailTemplateRequestSubject""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_email_template_response.py b/cloudbeds_pms_v1_3/test/test_post_email_template_response.py new file mode 100644 index 0000000..465cc17 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_email_template_response.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_email_template_response import PostEmailTemplateResponse + +class TestPostEmailTemplateResponse(unittest.TestCase): + """PostEmailTemplateResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostEmailTemplateResponse: + """Test PostEmailTemplateResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostEmailTemplateResponse` + """ + model = PostEmailTemplateResponse() + if include_optional: + return PostEmailTemplateResponse( + success = True, + email_template_id = '', + message = '' + ) + else: + return PostEmailTemplateResponse( + ) + """ + + def testPostEmailTemplateResponse(self): + """Test PostEmailTemplateResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_file_response.py b/cloudbeds_pms_v1_3/test/test_post_file_response.py new file mode 100644 index 0000000..10aaaa0 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_file_response.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_file_response import PostFileResponse + +class TestPostFileResponse(unittest.TestCase): + """PostFileResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostFileResponse: + """Test PostFileResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostFileResponse` + """ + model = PostFileResponse() + if include_optional: + return PostFileResponse( + success = True, + message = '', + data = cloudbeds_pms_v1_3.models.post_guest_document_response_data.PostGuestDocumentResponse_data( + file_id = '', ) + ) + else: + return PostFileResponse( + ) + """ + + def testPostFileResponse(self): + """Test PostFileResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_government_receipt_response.py b/cloudbeds_pms_v1_3/test/test_post_government_receipt_response.py new file mode 100644 index 0000000..ff892a4 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_government_receipt_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_government_receipt_response import PostGovernmentReceiptResponse + +class TestPostGovernmentReceiptResponse(unittest.TestCase): + """PostGovernmentReceiptResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostGovernmentReceiptResponse: + """Test PostGovernmentReceiptResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostGovernmentReceiptResponse` + """ + model = PostGovernmentReceiptResponse() + if include_optional: + return PostGovernmentReceiptResponse( + success = True, + message = '' + ) + else: + return PostGovernmentReceiptResponse( + ) + """ + + def testPostGovernmentReceiptResponse(self): + """Test PostGovernmentReceiptResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_group_note_response.py b/cloudbeds_pms_v1_3/test/test_post_group_note_response.py new file mode 100644 index 0000000..e36edf9 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_group_note_response.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_group_note_response import PostGroupNoteResponse + +class TestPostGroupNoteResponse(unittest.TestCase): + """PostGroupNoteResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostGroupNoteResponse: + """Test PostGroupNoteResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostGroupNoteResponse` + """ + model = PostGroupNoteResponse() + if include_optional: + return PostGroupNoteResponse( + success = True, + code = 56, + data = [ + cloudbeds_pms_v1_3.models.post_group_note_response_data_inner.PostGroupNoteResponse_data_inner( + id = '', + group_profile_id = '', + text = '', + created_by = '', + created_at = '', + updated_at = '', + archived = '', + archived_at = '', ) + ] + ) + else: + return PostGroupNoteResponse( + ) + """ + + def testPostGroupNoteResponse(self): + """Test PostGroupNoteResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_group_note_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_post_group_note_response_data_inner.py new file mode 100644 index 0000000..0786edd --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_group_note_response_data_inner.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_group_note_response_data_inner import PostGroupNoteResponseDataInner + +class TestPostGroupNoteResponseDataInner(unittest.TestCase): + """PostGroupNoteResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostGroupNoteResponseDataInner: + """Test PostGroupNoteResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostGroupNoteResponseDataInner` + """ + model = PostGroupNoteResponseDataInner() + if include_optional: + return PostGroupNoteResponseDataInner( + id = '', + group_profile_id = '', + text = '', + created_by = '', + created_at = '', + updated_at = '', + archived = '', + archived_at = '' + ) + else: + return PostGroupNoteResponseDataInner( + ) + """ + + def testPostGroupNoteResponseDataInner(self): + """Test PostGroupNoteResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_guest_document_response.py b/cloudbeds_pms_v1_3/test/test_post_guest_document_response.py new file mode 100644 index 0000000..a539a0e --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_guest_document_response.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_guest_document_response import PostGuestDocumentResponse + +class TestPostGuestDocumentResponse(unittest.TestCase): + """PostGuestDocumentResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostGuestDocumentResponse: + """Test PostGuestDocumentResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostGuestDocumentResponse` + """ + model = PostGuestDocumentResponse() + if include_optional: + return PostGuestDocumentResponse( + success = True, + message = '', + data = cloudbeds_pms_v1_3.models.post_guest_document_response_data.PostGuestDocumentResponse_data( + file_id = '', ) + ) + else: + return PostGuestDocumentResponse( + ) + """ + + def testPostGuestDocumentResponse(self): + """Test PostGuestDocumentResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_guest_document_response_data.py b/cloudbeds_pms_v1_3/test/test_post_guest_document_response_data.py new file mode 100644 index 0000000..0e731a7 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_guest_document_response_data.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_guest_document_response_data import PostGuestDocumentResponseData + +class TestPostGuestDocumentResponseData(unittest.TestCase): + """PostGuestDocumentResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostGuestDocumentResponseData: + """Test PostGuestDocumentResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostGuestDocumentResponseData` + """ + model = PostGuestDocumentResponseData() + if include_optional: + return PostGuestDocumentResponseData( + file_id = '' + ) + else: + return PostGuestDocumentResponseData( + ) + """ + + def testPostGuestDocumentResponseData(self): + """Test PostGuestDocumentResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_guest_note_response.py b/cloudbeds_pms_v1_3/test/test_post_guest_note_response.py new file mode 100644 index 0000000..d5c6d9f --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_guest_note_response.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_guest_note_response import PostGuestNoteResponse + +class TestPostGuestNoteResponse(unittest.TestCase): + """PostGuestNoteResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostGuestNoteResponse: + """Test PostGuestNoteResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostGuestNoteResponse` + """ + model = PostGuestNoteResponse() + if include_optional: + return PostGuestNoteResponse( + success = True, + guest_note_id = '', + message = '' + ) + else: + return PostGuestNoteResponse( + ) + """ + + def testPostGuestNoteResponse(self): + """Test PostGuestNoteResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_guest_photo_response.py b/cloudbeds_pms_v1_3/test/test_post_guest_photo_response.py new file mode 100644 index 0000000..2c5a6b4 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_guest_photo_response.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_guest_photo_response import PostGuestPhotoResponse + +class TestPostGuestPhotoResponse(unittest.TestCase): + """PostGuestPhotoResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostGuestPhotoResponse: + """Test PostGuestPhotoResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostGuestPhotoResponse` + """ + model = PostGuestPhotoResponse() + if include_optional: + return PostGuestPhotoResponse( + success = True, + message = '', + data = cloudbeds_pms_v1_3.models.post_guest_document_response_data.PostGuestDocumentResponse_data( + file_id = '', ) + ) + else: + return PostGuestPhotoResponse( + ) + """ + + def testPostGuestPhotoResponse(self): + """Test PostGuestPhotoResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_guest_request_custom_fields_inner.py b/cloudbeds_pms_v1_3/test/test_post_guest_request_custom_fields_inner.py new file mode 100644 index 0000000..35064ca --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_guest_request_custom_fields_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_guest_request_custom_fields_inner import PostGuestRequestCustomFieldsInner + +class TestPostGuestRequestCustomFieldsInner(unittest.TestCase): + """PostGuestRequestCustomFieldsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostGuestRequestCustomFieldsInner: + """Test PostGuestRequestCustomFieldsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostGuestRequestCustomFieldsInner` + """ + model = PostGuestRequestCustomFieldsInner() + if include_optional: + return PostGuestRequestCustomFieldsInner( + custom_field_name = '', + custom_field_value = '' + ) + else: + return PostGuestRequestCustomFieldsInner( + ) + """ + + def testPostGuestRequestCustomFieldsInner(self): + """Test PostGuestRequestCustomFieldsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_guest_response.py b/cloudbeds_pms_v1_3/test/test_post_guest_response.py new file mode 100644 index 0000000..ced270b --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_guest_response.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_guest_response import PostGuestResponse + +class TestPostGuestResponse(unittest.TestCase): + """PostGuestResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostGuestResponse: + """Test PostGuestResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostGuestResponse` + """ + model = PostGuestResponse() + if include_optional: + return PostGuestResponse( + success = True, + guest_id = '', + message = '' + ) + else: + return PostGuestResponse( + ) + """ + + def testPostGuestResponse(self): + """Test PostGuestResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_guests_to_room_response.py b/cloudbeds_pms_v1_3/test/test_post_guests_to_room_response.py new file mode 100644 index 0000000..61751d9 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_guests_to_room_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_guests_to_room_response import PostGuestsToRoomResponse + +class TestPostGuestsToRoomResponse(unittest.TestCase): + """PostGuestsToRoomResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostGuestsToRoomResponse: + """Test PostGuestsToRoomResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostGuestsToRoomResponse` + """ + model = PostGuestsToRoomResponse() + if include_optional: + return PostGuestsToRoomResponse( + success = True, + message = '' + ) + else: + return PostGuestsToRoomResponse( + ) + """ + + def testPostGuestsToRoomResponse(self): + """Test PostGuestsToRoomResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_housekeeper_response.py b/cloudbeds_pms_v1_3/test/test_post_housekeeper_response.py new file mode 100644 index 0000000..6580213 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_housekeeper_response.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_housekeeper_response import PostHousekeeperResponse + +class TestPostHousekeeperResponse(unittest.TestCase): + """PostHousekeeperResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostHousekeeperResponse: + """Test PostHousekeeperResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostHousekeeperResponse` + """ + model = PostHousekeeperResponse() + if include_optional: + return PostHousekeeperResponse( + success = True, + housekeeper_id = '', + message = '' + ) + else: + return PostHousekeeperResponse( + ) + """ + + def testPostHousekeeperResponse(self): + """Test PostHousekeeperResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_housekeeping_assignment_response.py b/cloudbeds_pms_v1_3/test/test_post_housekeeping_assignment_response.py new file mode 100644 index 0000000..1067c14 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_housekeeping_assignment_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_housekeeping_assignment_response import PostHousekeepingAssignmentResponse + +class TestPostHousekeepingAssignmentResponse(unittest.TestCase): + """PostHousekeepingAssignmentResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostHousekeepingAssignmentResponse: + """Test PostHousekeepingAssignmentResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostHousekeepingAssignmentResponse` + """ + model = PostHousekeepingAssignmentResponse() + if include_optional: + return PostHousekeepingAssignmentResponse( + success = True, + message = '' + ) + else: + return PostHousekeepingAssignmentResponse( + ) + """ + + def testPostHousekeepingAssignmentResponse(self): + """Test PostHousekeepingAssignmentResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_housekeeping_status_response.py b/cloudbeds_pms_v1_3/test/test_post_housekeeping_status_response.py new file mode 100644 index 0000000..360aab6 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_housekeeping_status_response.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_housekeeping_status_response import PostHousekeepingStatusResponse + +class TestPostHousekeepingStatusResponse(unittest.TestCase): + """PostHousekeepingStatusResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostHousekeepingStatusResponse: + """Test PostHousekeepingStatusResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostHousekeepingStatusResponse` + """ + model = PostHousekeepingStatusResponse() + if include_optional: + return PostHousekeepingStatusResponse( + success = True, + data = cloudbeds_pms_v1_3.models.post_housekeeping_status_response_data.PostHousekeepingStatusResponse_data( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + room_id = '', + room_condition = 'dirty', + room_comments = '', + do_not_disturb = True, + refused_service = True, + vacant_pickup = True, ), + message = '' + ) + else: + return PostHousekeepingStatusResponse( + ) + """ + + def testPostHousekeepingStatusResponse(self): + """Test PostHousekeepingStatusResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_housekeeping_status_response_data.py b/cloudbeds_pms_v1_3/test/test_post_housekeeping_status_response_data.py new file mode 100644 index 0000000..acd7b90 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_housekeeping_status_response_data.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_housekeeping_status_response_data import PostHousekeepingStatusResponseData + +class TestPostHousekeepingStatusResponseData(unittest.TestCase): + """PostHousekeepingStatusResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostHousekeepingStatusResponseData: + """Test PostHousekeepingStatusResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostHousekeepingStatusResponseData` + """ + model = PostHousekeepingStatusResponseData() + if include_optional: + return PostHousekeepingStatusResponseData( + var_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + room_id = '', + room_condition = 'dirty', + room_comments = '', + do_not_disturb = True, + refused_service = True, + vacant_pickup = True + ) + else: + return PostHousekeepingStatusResponseData( + ) + """ + + def testPostHousekeepingStatusResponseData(self): + """Test PostHousekeepingStatusResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_item_category_response.py b/cloudbeds_pms_v1_3/test/test_post_item_category_response.py new file mode 100644 index 0000000..d7f59fe --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_item_category_response.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_item_category_response import PostItemCategoryResponse + +class TestPostItemCategoryResponse(unittest.TestCase): + """PostItemCategoryResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostItemCategoryResponse: + """Test PostItemCategoryResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostItemCategoryResponse` + """ + model = PostItemCategoryResponse() + if include_optional: + return PostItemCategoryResponse( + success = True, + category_id = '', + message = '' + ) + else: + return PostItemCategoryResponse( + ) + """ + + def testPostItemCategoryResponse(self): + """Test PostItemCategoryResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_item_request_payments_inner.py b/cloudbeds_pms_v1_3/test/test_post_item_request_payments_inner.py new file mode 100644 index 0000000..fb69ddd --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_item_request_payments_inner.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_item_request_payments_inner import PostItemRequestPaymentsInner + +class TestPostItemRequestPaymentsInner(unittest.TestCase): + """PostItemRequestPaymentsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostItemRequestPaymentsInner: + """Test PostItemRequestPaymentsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostItemRequestPaymentsInner` + """ + model = PostItemRequestPaymentsInner() + if include_optional: + return PostItemRequestPaymentsInner( + payment_type = '', + amount = 1.337, + notes = '' + ) + else: + return PostItemRequestPaymentsInner( + ) + """ + + def testPostItemRequestPaymentsInner(self): + """Test PostItemRequestPaymentsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_item_response.py b/cloudbeds_pms_v1_3/test/test_post_item_response.py new file mode 100644 index 0000000..71dfab2 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_item_response.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_item_response import PostItemResponse + +class TestPostItemResponse(unittest.TestCase): + """PostItemResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostItemResponse: + """Test PostItemResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostItemResponse` + """ + model = PostItemResponse() + if include_optional: + return PostItemResponse( + success = True, + data = cloudbeds_pms_v1_3.models.post_item_response_data.PostItemResponse_data( + sold_product_id = '', + transaction_id = '', + transaction_status = '', + remaining_item_quantity = 56, + reorder_needed = True, + stop_sell_met = True, ), + message = '' + ) + else: + return PostItemResponse( + ) + """ + + def testPostItemResponse(self): + """Test PostItemResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_item_response_data.py b/cloudbeds_pms_v1_3/test/test_post_item_response_data.py new file mode 100644 index 0000000..83ab3c5 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_item_response_data.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_item_response_data import PostItemResponseData + +class TestPostItemResponseData(unittest.TestCase): + """PostItemResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostItemResponseData: + """Test PostItemResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostItemResponseData` + """ + model = PostItemResponseData() + if include_optional: + return PostItemResponseData( + sold_product_id = '', + transaction_id = '', + transaction_status = '', + remaining_item_quantity = 56, + reorder_needed = True, + stop_sell_met = True + ) + else: + return PostItemResponseData( + ) + """ + + def testPostItemResponseData(self): + """Test PostItemResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_items_to_inventory_request_item.py b/cloudbeds_pms_v1_3/test/test_post_items_to_inventory_request_item.py new file mode 100644 index 0000000..e08e106 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_items_to_inventory_request_item.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_items_to_inventory_request_item import PostItemsToInventoryRequestItem + +class TestPostItemsToInventoryRequestItem(unittest.TestCase): + """PostItemsToInventoryRequestItem unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostItemsToInventoryRequestItem: + """Test PostItemsToInventoryRequestItem + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostItemsToInventoryRequestItem` + """ + model = PostItemsToInventoryRequestItem() + if include_optional: + return PostItemsToInventoryRequestItem( + property_id = '', + item_name = '', + category_id = '', + item_type = 'product', + item_sku = '', + item_code = '', + item_description = '', + item_price = 1.337, + stock_inventory = True, + item_quantity = 56, + reorder_threshold = 56, + stop_sell_met = True, + stop_sell = 56 + ) + else: + return PostItemsToInventoryRequestItem( + ) + """ + + def testPostItemsToInventoryRequestItem(self): + """Test PostItemsToInventoryRequestItem""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_items_to_inventory_response.py b/cloudbeds_pms_v1_3/test/test_post_items_to_inventory_response.py new file mode 100644 index 0000000..27c5ffd --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_items_to_inventory_response.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_items_to_inventory_response import PostItemsToInventoryResponse + +class TestPostItemsToInventoryResponse(unittest.TestCase): + """PostItemsToInventoryResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostItemsToInventoryResponse: + """Test PostItemsToInventoryResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostItemsToInventoryResponse` + """ + model = PostItemsToInventoryResponse() + if include_optional: + return PostItemsToInventoryResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.post_items_to_inventory_response_data_inner.PostItemsToInventoryResponse_data_inner( + item_id = '', + item_sku = '', + item_name = '', ) + ], + message = '' + ) + else: + return PostItemsToInventoryResponse( + ) + """ + + def testPostItemsToInventoryResponse(self): + """Test PostItemsToInventoryResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_items_to_inventory_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_post_items_to_inventory_response_data_inner.py new file mode 100644 index 0000000..6b4a8ef --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_items_to_inventory_response_data_inner.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_items_to_inventory_response_data_inner import PostItemsToInventoryResponseDataInner + +class TestPostItemsToInventoryResponseDataInner(unittest.TestCase): + """PostItemsToInventoryResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostItemsToInventoryResponseDataInner: + """Test PostItemsToInventoryResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostItemsToInventoryResponseDataInner` + """ + model = PostItemsToInventoryResponseDataInner() + if include_optional: + return PostItemsToInventoryResponseDataInner( + item_id = '', + item_sku = '', + item_name = '' + ) + else: + return PostItemsToInventoryResponseDataInner( + ) + """ + + def testPostItemsToInventoryResponseDataInner(self): + """Test PostItemsToInventoryResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_new_house_account_response.py b/cloudbeds_pms_v1_3/test/test_post_new_house_account_response.py new file mode 100644 index 0000000..04a946a --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_new_house_account_response.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_new_house_account_response import PostNewHouseAccountResponse + +class TestPostNewHouseAccountResponse(unittest.TestCase): + """PostNewHouseAccountResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostNewHouseAccountResponse: + """Test PostNewHouseAccountResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostNewHouseAccountResponse` + """ + model = PostNewHouseAccountResponse() + if include_optional: + return PostNewHouseAccountResponse( + success = True, + data = cloudbeds_pms_v1_3.models.post_new_house_account_response_data.PostNewHouseAccountResponse_data( + house_account_id = '', ), + message = '' + ) + else: + return PostNewHouseAccountResponse( + ) + """ + + def testPostNewHouseAccountResponse(self): + """Test PostNewHouseAccountResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_new_house_account_response_data.py b/cloudbeds_pms_v1_3/test/test_post_new_house_account_response_data.py new file mode 100644 index 0000000..0e6fa67 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_new_house_account_response_data.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_new_house_account_response_data import PostNewHouseAccountResponseData + +class TestPostNewHouseAccountResponseData(unittest.TestCase): + """PostNewHouseAccountResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostNewHouseAccountResponseData: + """Test PostNewHouseAccountResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostNewHouseAccountResponseData` + """ + model = PostNewHouseAccountResponseData() + if include_optional: + return PostNewHouseAccountResponseData( + house_account_id = '' + ) + else: + return PostNewHouseAccountResponseData( + ) + """ + + def testPostNewHouseAccountResponseData(self): + """Test PostNewHouseAccountResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_patch_group_response.py b/cloudbeds_pms_v1_3/test/test_post_patch_group_response.py new file mode 100644 index 0000000..c97124d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_patch_group_response.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_patch_group_response import PostPatchGroupResponse + +class TestPostPatchGroupResponse(unittest.TestCase): + """PostPatchGroupResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostPatchGroupResponse: + """Test PostPatchGroupResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostPatchGroupResponse` + """ + model = PostPatchGroupResponse() + if include_optional: + return PostPatchGroupResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.post_patch_group_response_data_inner.PostPatchGroupResponse_data_inner( + group_code = '', + name = '', + type = 'group', + status = 'open', + created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + source_id = '', + address1 = '', + address2 = '', + city = '', + zip = '', + state = '', + id = '', + property_id = '', ) + ] + ) + else: + return PostPatchGroupResponse( + ) + """ + + def testPostPatchGroupResponse(self): + """Test PostPatchGroupResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_patch_group_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_post_patch_group_response_data_inner.py new file mode 100644 index 0000000..0cbcefe --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_patch_group_response_data_inner.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_patch_group_response_data_inner import PostPatchGroupResponseDataInner + +class TestPostPatchGroupResponseDataInner(unittest.TestCase): + """PostPatchGroupResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostPatchGroupResponseDataInner: + """Test PostPatchGroupResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostPatchGroupResponseDataInner` + """ + model = PostPatchGroupResponseDataInner() + if include_optional: + return PostPatchGroupResponseDataInner( + group_code = '', + name = '', + type = 'group', + status = 'open', + created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + source_id = '', + address1 = '', + address2 = '', + city = '', + zip = '', + state = '', + id = '', + property_id = '' + ) + else: + return PostPatchGroupResponseDataInner( + ) + """ + + def testPostPatchGroupResponseDataInner(self): + """Test PostPatchGroupResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_patch_rate_request_rates_inner.py b/cloudbeds_pms_v1_3/test/test_post_patch_rate_request_rates_inner.py new file mode 100644 index 0000000..9bd7186 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_patch_rate_request_rates_inner.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_patch_rate_request_rates_inner import PostPatchRateRequestRatesInner + +class TestPostPatchRateRequestRatesInner(unittest.TestCase): + """PostPatchRateRequestRatesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostPatchRateRequestRatesInner: + """Test PostPatchRateRequestRatesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostPatchRateRequestRatesInner` + """ + model = PostPatchRateRequestRatesInner() + if include_optional: + return PostPatchRateRequestRatesInner( + rate_id = '', + interval = cloudbeds_pms_v1_3.models.post_patch_rate_request_rates_inner_interval.PostPatchRateRequest_rates_inner_interval( + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, + max_los = 56, + min_los = 56, + closed_to_arrival = True, + closed_to_departure = True, + cut_off = 56, + last_minute_booking = 56, + blocked = True, + guest_pricing = cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.PostCreateAllotmentBlockRequest_allotmentIntervals_inner_availability_inner_guestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '', ), ) + ) + else: + return PostPatchRateRequestRatesInner( + ) + """ + + def testPostPatchRateRequestRatesInner(self): + """Test PostPatchRateRequestRatesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_patch_rate_request_rates_inner_interval.py b/cloudbeds_pms_v1_3/test/test_post_patch_rate_request_rates_inner_interval.py new file mode 100644 index 0000000..08c7416 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_patch_rate_request_rates_inner_interval.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_patch_rate_request_rates_inner_interval import PostPatchRateRequestRatesInnerInterval + +class TestPostPatchRateRequestRatesInnerInterval(unittest.TestCase): + """PostPatchRateRequestRatesInnerInterval unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostPatchRateRequestRatesInnerInterval: + """Test PostPatchRateRequestRatesInnerInterval + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostPatchRateRequestRatesInnerInterval` + """ + model = PostPatchRateRequestRatesInnerInterval() + if include_optional: + return PostPatchRateRequestRatesInnerInterval( + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, + max_los = 56, + min_los = 56, + closed_to_arrival = True, + closed_to_departure = True, + cut_off = 56, + last_minute_booking = 56, + blocked = True, + guest_pricing = cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.PostCreateAllotmentBlockRequest_allotmentIntervals_inner_availability_inner_guestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '', ) + ) + else: + return PostPatchRateRequestRatesInnerInterval( + ) + """ + + def testPostPatchRateRequestRatesInnerInterval(self): + """Test PostPatchRateRequestRatesInnerInterval""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_patch_rate_response.py b/cloudbeds_pms_v1_3/test/test_post_patch_rate_response.py new file mode 100644 index 0000000..eb9e4cb --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_patch_rate_response.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_patch_rate_response import PostPatchRateResponse + +class TestPostPatchRateResponse(unittest.TestCase): + """PostPatchRateResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostPatchRateResponse: + """Test PostPatchRateResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostPatchRateResponse` + """ + model = PostPatchRateResponse() + if include_optional: + return PostPatchRateResponse( + success = True, + job_reference_id = '', + message = '' + ) + else: + return PostPatchRateResponse( + ) + """ + + def testPostPatchRateResponse(self): + """Test PostPatchRateResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_payment_response.py b/cloudbeds_pms_v1_3/test/test_post_payment_response.py new file mode 100644 index 0000000..a9e9466 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_payment_response.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_payment_response import PostPaymentResponse + +class TestPostPaymentResponse(unittest.TestCase): + """PostPaymentResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostPaymentResponse: + """Test PostPaymentResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostPaymentResponse` + """ + model = PostPaymentResponse() + if include_optional: + return PostPaymentResponse( + success = True, + payment_id = '', + transaction_id = '', + message = '' + ) + else: + return PostPaymentResponse( + ) + """ + + def testPostPaymentResponse(self): + """Test PostPaymentResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_put_app_property_settings_response.py b/cloudbeds_pms_v1_3/test/test_post_put_app_property_settings_response.py new file mode 100644 index 0000000..14b4285 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_put_app_property_settings_response.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_put_app_property_settings_response import PostPutAppPropertySettingsResponse + +class TestPostPutAppPropertySettingsResponse(unittest.TestCase): + """PostPutAppPropertySettingsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostPutAppPropertySettingsResponse: + """Test PostPutAppPropertySettingsResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostPutAppPropertySettingsResponse` + """ + model = PostPutAppPropertySettingsResponse() + if include_optional: + return PostPutAppPropertySettingsResponse( + success = True, + data = cloudbeds_pms_v1_3.models.post_app_property_setting_response_data.PostAppPropertySettingResponse_data( + id = '', + key = '', + value = '', ) + ) + else: + return PostPutAppPropertySettingsResponse( + ) + """ + + def testPostPutAppPropertySettingsResponse(self): + """Test PostPutAppPropertySettingsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_put_group_response.py b/cloudbeds_pms_v1_3/test/test_post_put_group_response.py new file mode 100644 index 0000000..5ca7cc5 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_put_group_response.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_put_group_response import PostPutGroupResponse + +class TestPostPutGroupResponse(unittest.TestCase): + """PostPutGroupResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostPutGroupResponse: + """Test PostPutGroupResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostPutGroupResponse` + """ + model = PostPutGroupResponse() + if include_optional: + return PostPutGroupResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.post_patch_group_response_data_inner.PostPatchGroupResponse_data_inner( + group_code = '', + name = '', + type = 'group', + status = 'open', + created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + source_id = '', + address1 = '', + address2 = '', + city = '', + zip = '', + state = '', + id = '', + property_id = '', ) + ] + ) + else: + return PostPutGroupResponse( + ) + """ + + def testPostPutGroupResponse(self): + """Test PostPutGroupResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_put_rate_request_rates_inner.py b/cloudbeds_pms_v1_3/test/test_post_put_rate_request_rates_inner.py new file mode 100644 index 0000000..c25ad65 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_put_rate_request_rates_inner.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_put_rate_request_rates_inner import PostPutRateRequestRatesInner + +class TestPostPutRateRequestRatesInner(unittest.TestCase): + """PostPutRateRequestRatesInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostPutRateRequestRatesInner: + """Test PostPutRateRequestRatesInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostPutRateRequestRatesInner` + """ + model = PostPutRateRequestRatesInner() + if include_optional: + return PostPutRateRequestRatesInner( + rate_id = '', + interval = [ + cloudbeds_pms_v1_3.models.post_put_rate_request_rates_inner_interval_inner.PostPutRateRequest_rates_inner_interval_inner( + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, ) + ] + ) + else: + return PostPutRateRequestRatesInner( + ) + """ + + def testPostPutRateRequestRatesInner(self): + """Test PostPutRateRequestRatesInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_put_rate_request_rates_inner_interval_inner.py b/cloudbeds_pms_v1_3/test/test_post_put_rate_request_rates_inner_interval_inner.py new file mode 100644 index 0000000..4002e3c --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_put_rate_request_rates_inner_interval_inner.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_put_rate_request_rates_inner_interval_inner import PostPutRateRequestRatesInnerIntervalInner + +class TestPostPutRateRequestRatesInnerIntervalInner(unittest.TestCase): + """PostPutRateRequestRatesInnerIntervalInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostPutRateRequestRatesInnerIntervalInner: + """Test PostPutRateRequestRatesInnerIntervalInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostPutRateRequestRatesInnerIntervalInner` + """ + model = PostPutRateRequestRatesInnerIntervalInner() + if include_optional: + return PostPutRateRequestRatesInnerIntervalInner( + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337 + ) + else: + return PostPutRateRequestRatesInnerIntervalInner( + ) + """ + + def testPostPutRateRequestRatesInnerIntervalInner(self): + """Test PostPutRateRequestRatesInnerIntervalInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_put_rate_response.py b/cloudbeds_pms_v1_3/test/test_post_put_rate_response.py new file mode 100644 index 0000000..c3c157b --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_put_rate_response.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_put_rate_response import PostPutRateResponse + +class TestPostPutRateResponse(unittest.TestCase): + """PostPutRateResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostPutRateResponse: + """Test PostPutRateResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostPutRateResponse` + """ + model = PostPutRateResponse() + if include_optional: + return PostPutRateResponse( + success = True, + job_reference_id = '', + message = '' + ) + else: + return PostPutRateResponse( + ) + """ + + def testPostPutRateResponse(self): + """Test PostPutRateResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_reservation_document_response.py b/cloudbeds_pms_v1_3/test/test_post_reservation_document_response.py new file mode 100644 index 0000000..bff4252 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_reservation_document_response.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_reservation_document_response import PostReservationDocumentResponse + +class TestPostReservationDocumentResponse(unittest.TestCase): + """PostReservationDocumentResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostReservationDocumentResponse: + """Test PostReservationDocumentResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostReservationDocumentResponse` + """ + model = PostReservationDocumentResponse() + if include_optional: + return PostReservationDocumentResponse( + success = True, + message = '', + data = cloudbeds_pms_v1_3.models.post_guest_document_response_data.PostGuestDocumentResponse_data( + file_id = '', ) + ) + else: + return PostReservationDocumentResponse( + ) + """ + + def testPostReservationDocumentResponse(self): + """Test PostReservationDocumentResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_reservation_note_response.py b/cloudbeds_pms_v1_3/test/test_post_reservation_note_response.py new file mode 100644 index 0000000..6bfa5c6 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_reservation_note_response.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_reservation_note_response import PostReservationNoteResponse + +class TestPostReservationNoteResponse(unittest.TestCase): + """PostReservationNoteResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostReservationNoteResponse: + """Test PostReservationNoteResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostReservationNoteResponse` + """ + model = PostReservationNoteResponse() + if include_optional: + return PostReservationNoteResponse( + success = True, + reservation_note_id = '', + message = '' + ) + else: + return PostReservationNoteResponse( + ) + """ + + def testPostReservationNoteResponse(self): + """Test PostReservationNoteResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_reservation_request_adults_inner.py b/cloudbeds_pms_v1_3/test/test_post_reservation_request_adults_inner.py new file mode 100644 index 0000000..4d9abc8 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_reservation_request_adults_inner.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_reservation_request_adults_inner import PostReservationRequestAdultsInner + +class TestPostReservationRequestAdultsInner(unittest.TestCase): + """PostReservationRequestAdultsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostReservationRequestAdultsInner: + """Test PostReservationRequestAdultsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostReservationRequestAdultsInner` + """ + model = PostReservationRequestAdultsInner() + if include_optional: + return PostReservationRequestAdultsInner( + room_type_id = '', + quantity = 56, + room_id = '' + ) + else: + return PostReservationRequestAdultsInner( + ) + """ + + def testPostReservationRequestAdultsInner(self): + """Test PostReservationRequestAdultsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_reservation_request_children_inner.py b/cloudbeds_pms_v1_3/test/test_post_reservation_request_children_inner.py new file mode 100644 index 0000000..0c5438a --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_reservation_request_children_inner.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_reservation_request_children_inner import PostReservationRequestChildrenInner + +class TestPostReservationRequestChildrenInner(unittest.TestCase): + """PostReservationRequestChildrenInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostReservationRequestChildrenInner: + """Test PostReservationRequestChildrenInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostReservationRequestChildrenInner` + """ + model = PostReservationRequestChildrenInner() + if include_optional: + return PostReservationRequestChildrenInner( + room_type_id = '', + quantity = 56, + room_id = '' + ) + else: + return PostReservationRequestChildrenInner( + ) + """ + + def testPostReservationRequestChildrenInner(self): + """Test PostReservationRequestChildrenInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_reservation_request_custom_fields_inner.py b/cloudbeds_pms_v1_3/test/test_post_reservation_request_custom_fields_inner.py new file mode 100644 index 0000000..fb82f7b --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_reservation_request_custom_fields_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_reservation_request_custom_fields_inner import PostReservationRequestCustomFieldsInner + +class TestPostReservationRequestCustomFieldsInner(unittest.TestCase): + """PostReservationRequestCustomFieldsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostReservationRequestCustomFieldsInner: + """Test PostReservationRequestCustomFieldsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostReservationRequestCustomFieldsInner` + """ + model = PostReservationRequestCustomFieldsInner() + if include_optional: + return PostReservationRequestCustomFieldsInner( + field_name = '', + field_value = '' + ) + else: + return PostReservationRequestCustomFieldsInner( + ) + """ + + def testPostReservationRequestCustomFieldsInner(self): + """Test PostReservationRequestCustomFieldsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_reservation_request_rooms_inner.py b/cloudbeds_pms_v1_3/test/test_post_reservation_request_rooms_inner.py new file mode 100644 index 0000000..5c82266 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_reservation_request_rooms_inner.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_reservation_request_rooms_inner import PostReservationRequestRoomsInner + +class TestPostReservationRequestRoomsInner(unittest.TestCase): + """PostReservationRequestRoomsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostReservationRequestRoomsInner: + """Test PostReservationRequestRoomsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostReservationRequestRoomsInner` + """ + model = PostReservationRequestRoomsInner() + if include_optional: + return PostReservationRequestRoomsInner( + room_type_id = '', + quantity = 56, + room_id = '', + room_rate_id = '' + ) + else: + return PostReservationRequestRoomsInner( + ) + """ + + def testPostReservationRequestRoomsInner(self): + """Test PostReservationRequestRoomsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_reservation_response.py b/cloudbeds_pms_v1_3/test/test_post_reservation_response.py new file mode 100644 index 0000000..84f753e --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_reservation_response.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_reservation_response import PostReservationResponse + +class TestPostReservationResponse(unittest.TestCase): + """PostReservationResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostReservationResponse: + """Test PostReservationResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostReservationResponse` + """ + model = PostReservationResponse() + if include_optional: + return PostReservationResponse( + success = True, + reservation_id = '', + status = 'not_confirmed', + guest_id = '', + guest_first_name = '', + guest_last_name = '', + guest_gender = 'M', + guest_email = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + date_created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + grand_total = 1.337, + unassigned = [ + cloudbeds_pms_v1_3.models.post_reservation_response_unassigned_inner.PostReservationResponse_unassigned_inner( + sub_reservation_id = '', + room_type_name = '', + room_type_id = '', + adults = 56, + children = 56, + daily_rates = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner_daily_rates_inner.GetReservationResponse_data_assigned_inner_dailyRates_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, ) + ], + room_total = 1.337, ) + ], + message = '' + ) + else: + return PostReservationResponse( + ) + """ + + def testPostReservationResponse(self): + """Test PostReservationResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_reservation_response_unassigned_inner.py b/cloudbeds_pms_v1_3/test/test_post_reservation_response_unassigned_inner.py new file mode 100644 index 0000000..064ca63 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_reservation_response_unassigned_inner.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_reservation_response_unassigned_inner import PostReservationResponseUnassignedInner + +class TestPostReservationResponseUnassignedInner(unittest.TestCase): + """PostReservationResponseUnassignedInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostReservationResponseUnassignedInner: + """Test PostReservationResponseUnassignedInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostReservationResponseUnassignedInner` + """ + model = PostReservationResponseUnassignedInner() + if include_optional: + return PostReservationResponseUnassignedInner( + sub_reservation_id = '', + room_type_name = '', + room_type_id = '', + adults = 56, + children = 56, + daily_rates = [ + cloudbeds_pms_v1_3.models.get_reservation_response_data_assigned_inner_daily_rates_inner.GetReservationResponse_data_assigned_inner_dailyRates_inner( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = 1.337, ) + ], + room_total = 1.337 + ) + else: + return PostReservationResponseUnassignedInner( + ) + """ + + def testPostReservationResponseUnassignedInner(self): + """Test PostReservationResponseUnassignedInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_room_assign_response.py b/cloudbeds_pms_v1_3/test/test_post_room_assign_response.py new file mode 100644 index 0000000..3e0a57a --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_room_assign_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_room_assign_response import PostRoomAssignResponse + +class TestPostRoomAssignResponse(unittest.TestCase): + """PostRoomAssignResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostRoomAssignResponse: + """Test PostRoomAssignResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostRoomAssignResponse` + """ + model = PostRoomAssignResponse() + if include_optional: + return PostRoomAssignResponse( + success = True, + message = '' + ) + else: + return PostRoomAssignResponse( + ) + """ + + def testPostRoomAssignResponse(self): + """Test PostRoomAssignResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_room_block_request_rooms_inner.py b/cloudbeds_pms_v1_3/test/test_post_room_block_request_rooms_inner.py new file mode 100644 index 0000000..e2e378d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_room_block_request_rooms_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_room_block_request_rooms_inner import PostRoomBlockRequestRoomsInner + +class TestPostRoomBlockRequestRoomsInner(unittest.TestCase): + """PostRoomBlockRequestRoomsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostRoomBlockRequestRoomsInner: + """Test PostRoomBlockRequestRoomsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostRoomBlockRequestRoomsInner` + """ + model = PostRoomBlockRequestRoomsInner() + if include_optional: + return PostRoomBlockRequestRoomsInner( + room_id = '', + room_type_id = '' + ) + else: + return PostRoomBlockRequestRoomsInner( + ) + """ + + def testPostRoomBlockRequestRoomsInner(self): + """Test PostRoomBlockRequestRoomsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_room_block_response.py b/cloudbeds_pms_v1_3/test/test_post_room_block_response.py new file mode 100644 index 0000000..63c687b --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_room_block_response.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_room_block_response import PostRoomBlockResponse + +class TestPostRoomBlockResponse(unittest.TestCase): + """PostRoomBlockResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostRoomBlockResponse: + """Test PostRoomBlockResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostRoomBlockResponse` + """ + model = PostRoomBlockResponse() + if include_optional: + return PostRoomBlockResponse( + success = True, + property_id = '', + room_block_id = '', + room_block_type = 'blocked', + room_block_reason = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rooms = [ + cloudbeds_pms_v1_3.models.post_room_block_response_rooms_inner.PostRoomBlockResponse_rooms_inner( + event_id = '', + room_id = '', + room_type_id = '', + is_source = True, ) + ], + message = '' + ) + else: + return PostRoomBlockResponse( + ) + """ + + def testPostRoomBlockResponse(self): + """Test PostRoomBlockResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_room_block_response_rooms_inner.py b/cloudbeds_pms_v1_3/test/test_post_room_block_response_rooms_inner.py new file mode 100644 index 0000000..98e34c4 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_room_block_response_rooms_inner.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_room_block_response_rooms_inner import PostRoomBlockResponseRoomsInner + +class TestPostRoomBlockResponseRoomsInner(unittest.TestCase): + """PostRoomBlockResponseRoomsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostRoomBlockResponseRoomsInner: + """Test PostRoomBlockResponseRoomsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostRoomBlockResponseRoomsInner` + """ + model = PostRoomBlockResponseRoomsInner() + if include_optional: + return PostRoomBlockResponseRoomsInner( + event_id = '', + room_id = '', + room_type_id = '', + is_source = True + ) + else: + return PostRoomBlockResponseRoomsInner( + ) + """ + + def testPostRoomBlockResponseRoomsInner(self): + """Test PostRoomBlockResponseRoomsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_room_check_in_response.py b/cloudbeds_pms_v1_3/test/test_post_room_check_in_response.py new file mode 100644 index 0000000..d2d7729 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_room_check_in_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_room_check_in_response import PostRoomCheckInResponse + +class TestPostRoomCheckInResponse(unittest.TestCase): + """PostRoomCheckInResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostRoomCheckInResponse: + """Test PostRoomCheckInResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostRoomCheckInResponse` + """ + model = PostRoomCheckInResponse() + if include_optional: + return PostRoomCheckInResponse( + success = True, + message = '' + ) + else: + return PostRoomCheckInResponse( + ) + """ + + def testPostRoomCheckInResponse(self): + """Test PostRoomCheckInResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_room_check_out_response.py b/cloudbeds_pms_v1_3/test/test_post_room_check_out_response.py new file mode 100644 index 0000000..dff2803 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_room_check_out_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_room_check_out_response import PostRoomCheckOutResponse + +class TestPostRoomCheckOutResponse(unittest.TestCase): + """PostRoomCheckOutResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostRoomCheckOutResponse: + """Test PostRoomCheckOutResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostRoomCheckOutResponse` + """ + model = PostRoomCheckOutResponse() + if include_optional: + return PostRoomCheckOutResponse( + success = True, + message = '' + ) + else: + return PostRoomCheckOutResponse( + ) + """ + + def testPostRoomCheckOutResponse(self): + """Test PostRoomCheckOutResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_notes_response.py b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_notes_response.py new file mode 100644 index 0000000..9b0fd60 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_notes_response.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_update_allotment_block_notes_response import PostUpdateAllotmentBlockNotesResponse + +class TestPostUpdateAllotmentBlockNotesResponse(unittest.TestCase): + """PostUpdateAllotmentBlockNotesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostUpdateAllotmentBlockNotesResponse: + """Test PostUpdateAllotmentBlockNotesResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostUpdateAllotmentBlockNotesResponse` + """ + model = PostUpdateAllotmentBlockNotesResponse() + if include_optional: + return PostUpdateAllotmentBlockNotesResponse( + success = True, + data = cloudbeds_pms_v1_3.models.post_update_allotment_block_notes_response_data.PostUpdateAllotmentBlockNotesResponse_data( + id = '', + text = '', + created_by = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + archived_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = True, ) + ) + else: + return PostUpdateAllotmentBlockNotesResponse( + ) + """ + + def testPostUpdateAllotmentBlockNotesResponse(self): + """Test PostUpdateAllotmentBlockNotesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_notes_response_data.py b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_notes_response_data.py new file mode 100644 index 0000000..13f0846 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_notes_response_data.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_update_allotment_block_notes_response_data import PostUpdateAllotmentBlockNotesResponseData + +class TestPostUpdateAllotmentBlockNotesResponseData(unittest.TestCase): + """PostUpdateAllotmentBlockNotesResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostUpdateAllotmentBlockNotesResponseData: + """Test PostUpdateAllotmentBlockNotesResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostUpdateAllotmentBlockNotesResponseData` + """ + model = PostUpdateAllotmentBlockNotesResponseData() + if include_optional: + return PostUpdateAllotmentBlockNotesResponseData( + id = '', + text = '', + created_by = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + archived_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = True + ) + else: + return PostUpdateAllotmentBlockNotesResponseData( + ) + """ + + def testPostUpdateAllotmentBlockNotesResponseData(self): + """Test PostUpdateAllotmentBlockNotesResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_request_allotment_intervals_inner.py b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_request_allotment_intervals_inner.py new file mode 100644 index 0000000..ed2b552 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_request_allotment_intervals_inner.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner import PostUpdateAllotmentBlockRequestAllotmentIntervalsInner + +class TestPostUpdateAllotmentBlockRequestAllotmentIntervalsInner(unittest.TestCase): + """PostUpdateAllotmentBlockRequestAllotmentIntervalsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostUpdateAllotmentBlockRequestAllotmentIntervalsInner: + """Test PostUpdateAllotmentBlockRequestAllotmentIntervalsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostUpdateAllotmentBlockRequestAllotmentIntervalsInner` + """ + model = PostUpdateAllotmentBlockRequestAllotmentIntervalsInner() + if include_optional: + return PostUpdateAllotmentBlockRequestAllotmentIntervalsInner( + policy_id = '', + room_type_id = '', + availability = [ + cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner_availability_inner.PostUpdateAllotmentBlockRequest_allotmentIntervals_inner_availability_inner( + block_allotted = 56, + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = '', + guest_pricing = cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.PostUpdateAllotmentBlockRequest_allotmentIntervals_inner_availability_inner_guestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '', ), + restrictions = cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions.PostCreateAllotmentBlockRequest_allotmentIntervals_inner_availability_inner_restrictions( + min_los = 56, + max_los = 56, + cut_off_days = 56, + last_minute_booking_days = 56, + closed_to_arrival = 56, + closed_to_departure = 56, ), + rooms = [ + '' + ], ) + ] + ) + else: + return PostUpdateAllotmentBlockRequestAllotmentIntervalsInner( + ) + """ + + def testPostUpdateAllotmentBlockRequestAllotmentIntervalsInner(self): + """Test PostUpdateAllotmentBlockRequestAllotmentIntervalsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_request_allotment_intervals_inner_availability_inner.py b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_request_allotment_intervals_inner_availability_inner.py new file mode 100644 index 0000000..27e7cff --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_request_allotment_intervals_inner_availability_inner.py @@ -0,0 +1,70 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner_availability_inner import PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner + +class TestPostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner(unittest.TestCase): + """PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner: + """Test PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner` + """ + model = PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner() + if include_optional: + return PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner( + block_allotted = 56, + var_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rate = '', + guest_pricing = cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.PostUpdateAllotmentBlockRequest_allotmentIntervals_inner_availability_inner_guestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '', ), + restrictions = cloudbeds_pms_v1_3.models.post_create_allotment_block_request_allotment_intervals_inner_availability_inner_restrictions.PostCreateAllotmentBlockRequest_allotmentIntervals_inner_availability_inner_restrictions( + min_los = 56, + max_los = 56, + cut_off_days = 56, + last_minute_booking_days = 56, + closed_to_arrival = 56, + closed_to_departure = 56, ), + rooms = [ + '' + ] + ) + else: + return PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner( + ) + """ + + def testPostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner(self): + """Test PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.py b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.py new file mode 100644 index 0000000..db9d339 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_allotment_intervals_inner_availability_inner_guest_pricing import PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing + +class TestPostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing(unittest.TestCase): + """PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing: + """Test PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing` + """ + model = PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing() + if include_optional: + return PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '' + ) + else: + return PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing( + ) + """ + + def testPostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing(self): + """Test PostUpdateAllotmentBlockRequestAllotmentIntervalsInnerAvailabilityInnerGuestPricing""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_request_auto_release.py b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_request_auto_release.py new file mode 100644 index 0000000..a9471ba --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_request_auto_release.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_update_allotment_block_request_auto_release import PostUpdateAllotmentBlockRequestAutoRelease + +class TestPostUpdateAllotmentBlockRequestAutoRelease(unittest.TestCase): + """PostUpdateAllotmentBlockRequestAutoRelease unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostUpdateAllotmentBlockRequestAutoRelease: + """Test PostUpdateAllotmentBlockRequestAutoRelease + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostUpdateAllotmentBlockRequestAutoRelease` + """ + model = PostUpdateAllotmentBlockRequestAutoRelease() + if include_optional: + return PostUpdateAllotmentBlockRequestAutoRelease( + release_type = 'all_dates', + days = 56, + release_time = '' + ) + else: + return PostUpdateAllotmentBlockRequestAutoRelease( + ) + """ + + def testPostUpdateAllotmentBlockRequestAutoRelease(self): + """Test PostUpdateAllotmentBlockRequestAutoRelease""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_response.py b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_response.py new file mode 100644 index 0000000..571baad --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_response.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response import PostUpdateAllotmentBlockResponse + +class TestPostUpdateAllotmentBlockResponse(unittest.TestCase): + """PostUpdateAllotmentBlockResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostUpdateAllotmentBlockResponse: + """Test PostUpdateAllotmentBlockResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostUpdateAllotmentBlockResponse` + """ + model = PostUpdateAllotmentBlockResponse() + if include_optional: + return PostUpdateAllotmentBlockResponse( + success = True, + data = [ + cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner.PostUpdateAllotmentBlockResponse_data_inner( + property_id = '', + allotment_block_code = '', + allotment_block_status = '', + allotment_block_name = '', + allotment_block_id = '', + rate_type = '', + rate_plan_id = '', + allotment_type = '', + group_id = '', + group_code = '', + event_id = '', + event_code = '', + is_auto_release = True, + auto_release = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_auto_release.PostCreateAllotmentBlockResponse_data_inner_autoRelease( + release_type = 'all_dates', + days = 56, + release_time = '', ), + allotment_intervals = [ + cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner_allotment_intervals_inner.PostUpdateAllotmentBlockResponse_data_inner_allotmentIntervals_inner( + policy_id = '', + room_type_id = '', + availability = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_availability( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + block_remaining = 56, + block_allotted = 56, + block_confirmed = 56, + rate = '', + guest_pricing = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_availability_guestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '', ), + rooms = [ + '' + ], ), + restrictions = cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.PostUpdateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_restrictions( + min_los = 56, + max_los = 56, + cut_off_days = 56, + last_minute_booking_days = 56, + closed_to_arrival = 56, + closed_to_departure = 56, ), ) + ], ) + ] + ) + else: + return PostUpdateAllotmentBlockResponse( + ) + """ + + def testPostUpdateAllotmentBlockResponse(self): + """Test PostUpdateAllotmentBlockResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_response_data_inner.py b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_response_data_inner.py new file mode 100644 index 0000000..3efc61e --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_response_data_inner.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner import PostUpdateAllotmentBlockResponseDataInner + +class TestPostUpdateAllotmentBlockResponseDataInner(unittest.TestCase): + """PostUpdateAllotmentBlockResponseDataInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostUpdateAllotmentBlockResponseDataInner: + """Test PostUpdateAllotmentBlockResponseDataInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostUpdateAllotmentBlockResponseDataInner` + """ + model = PostUpdateAllotmentBlockResponseDataInner() + if include_optional: + return PostUpdateAllotmentBlockResponseDataInner( + property_id = '', + allotment_block_code = '', + allotment_block_status = '', + allotment_block_name = '', + allotment_block_id = '', + rate_type = '', + rate_plan_id = '', + allotment_type = '', + group_id = '', + group_code = '', + event_id = '', + event_code = '', + is_auto_release = True, + auto_release = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_auto_release.PostCreateAllotmentBlockResponse_data_inner_autoRelease( + release_type = 'all_dates', + days = 56, + release_time = '', ), + allotment_intervals = [ + cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner_allotment_intervals_inner.PostUpdateAllotmentBlockResponse_data_inner_allotmentIntervals_inner( + policy_id = '', + room_type_id = '', + availability = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_availability( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + block_remaining = 56, + block_allotted = 56, + block_confirmed = 56, + rate = '', + guest_pricing = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_availability_guestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '', ), + rooms = [ + '' + ], ), + restrictions = cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.PostUpdateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_restrictions( + min_los = 56, + max_los = 56, + cut_off_days = 56, + last_minute_booking_days = 56, + closed_to_arrival = 56, + closed_to_departure = 56, ), ) + ] + ) + else: + return PostUpdateAllotmentBlockResponseDataInner( + ) + """ + + def testPostUpdateAllotmentBlockResponseDataInner(self): + """Test PostUpdateAllotmentBlockResponseDataInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_response_data_inner_allotment_intervals_inner.py b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_response_data_inner_allotment_intervals_inner.py new file mode 100644 index 0000000..ded65e9 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_response_data_inner_allotment_intervals_inner.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner_allotment_intervals_inner import PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner + +class TestPostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner(unittest.TestCase): + """PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner: + """Test PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner` + """ + model = PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner() + if include_optional: + return PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner( + policy_id = '', + room_type_id = '', + availability = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_availability( + date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + block_remaining = 56, + block_allotted = 56, + block_confirmed = 56, + rate = '', + guest_pricing = cloudbeds_pms_v1_3.models.post_create_allotment_block_response_data_inner_allotment_intervals_inner_availability_guest_pricing.PostCreateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_availability_guestPricing( + adult1 = '', + adult2 = '', + adult3 = '', + child1 = '', + child2 = '', + child3 = '', ), + rooms = [ + '' + ], ), + restrictions = cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.PostUpdateAllotmentBlockResponse_data_inner_allotmentIntervals_inner_restrictions( + min_los = 56, + max_los = 56, + cut_off_days = 56, + last_minute_booking_days = 56, + closed_to_arrival = 56, + closed_to_departure = 56, ) + ) + else: + return PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner( + ) + """ + + def testPostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner(self): + """Test PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.py b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.py new file mode 100644 index 0000000..0b70c5e --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_update_allotment_block_response_data_inner_allotment_intervals_inner_restrictions import PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions + +class TestPostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions(unittest.TestCase): + """PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions: + """Test PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions` + """ + model = PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions() + if include_optional: + return PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions( + min_los = 56, + max_los = 56, + cut_off_days = 56, + last_minute_booking_days = 56, + closed_to_arrival = 56, + closed_to_departure = 56 + ) + else: + return PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions( + ) + """ + + def testPostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions(self): + """Test PostUpdateAllotmentBlockResponseDataInnerAllotmentIntervalsInnerRestrictions""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_void_item_response.py b/cloudbeds_pms_v1_3/test/test_post_void_item_response.py new file mode 100644 index 0000000..c661d6e --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_void_item_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_void_item_response import PostVoidItemResponse + +class TestPostVoidItemResponse(unittest.TestCase): + """PostVoidItemResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostVoidItemResponse: + """Test PostVoidItemResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostVoidItemResponse` + """ + model = PostVoidItemResponse() + if include_optional: + return PostVoidItemResponse( + success = True, + message = '' + ) + else: + return PostVoidItemResponse( + ) + """ + + def testPostVoidItemResponse(self): + """Test PostVoidItemResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_void_payment_response.py b/cloudbeds_pms_v1_3/test/test_post_void_payment_response.py new file mode 100644 index 0000000..c8e7735 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_void_payment_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_void_payment_response import PostVoidPaymentResponse + +class TestPostVoidPaymentResponse(unittest.TestCase): + """PostVoidPaymentResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostVoidPaymentResponse: + """Test PostVoidPaymentResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostVoidPaymentResponse` + """ + model = PostVoidPaymentResponse() + if include_optional: + return PostVoidPaymentResponse( + success = True, + message = '' + ) + else: + return PostVoidPaymentResponse( + ) + """ + + def testPostVoidPaymentResponse(self): + """Test PostVoidPaymentResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_webhook_response.py b/cloudbeds_pms_v1_3/test/test_post_webhook_response.py new file mode 100644 index 0000000..4b5713d --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_webhook_response.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_webhook_response import PostWebhookResponse + +class TestPostWebhookResponse(unittest.TestCase): + """PostWebhookResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostWebhookResponse: + """Test PostWebhookResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostWebhookResponse` + """ + model = PostWebhookResponse() + if include_optional: + return PostWebhookResponse( + success = True, + data = cloudbeds_pms_v1_3.models.post_webhook_response_data.PostWebhookResponse_data( + subscription_id = '', ) + ) + else: + return PostWebhookResponse( + ) + """ + + def testPostWebhookResponse(self): + """Test PostWebhookResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_post_webhook_response_data.py b/cloudbeds_pms_v1_3/test/test_post_webhook_response_data.py new file mode 100644 index 0000000..7e515a0 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_post_webhook_response_data.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.post_webhook_response_data import PostWebhookResponseData + +class TestPostWebhookResponseData(unittest.TestCase): + """PostWebhookResponseData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PostWebhookResponseData: + """Test PostWebhookResponseData + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PostWebhookResponseData` + """ + model = PostWebhookResponseData() + if include_optional: + return PostWebhookResponseData( + subscription_id = '' + ) + else: + return PostWebhookResponseData( + ) + """ + + def testPostWebhookResponseData(self): + """Test PostWebhookResponseData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_put_guest_note_response.py b/cloudbeds_pms_v1_3/test/test_put_guest_note_response.py new file mode 100644 index 0000000..0474cf5 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_put_guest_note_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.put_guest_note_response import PutGuestNoteResponse + +class TestPutGuestNoteResponse(unittest.TestCase): + """PutGuestNoteResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PutGuestNoteResponse: + """Test PutGuestNoteResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PutGuestNoteResponse` + """ + model = PutGuestNoteResponse() + if include_optional: + return PutGuestNoteResponse( + success = True, + message = '' + ) + else: + return PutGuestNoteResponse( + ) + """ + + def testPutGuestNoteResponse(self): + """Test PutGuestNoteResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_put_guest_request_guest_custom_fields_inner.py b/cloudbeds_pms_v1_3/test/test_put_guest_request_guest_custom_fields_inner.py new file mode 100644 index 0000000..a1416c4 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_put_guest_request_guest_custom_fields_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.put_guest_request_guest_custom_fields_inner import PutGuestRequestGuestCustomFieldsInner + +class TestPutGuestRequestGuestCustomFieldsInner(unittest.TestCase): + """PutGuestRequestGuestCustomFieldsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PutGuestRequestGuestCustomFieldsInner: + """Test PutGuestRequestGuestCustomFieldsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PutGuestRequestGuestCustomFieldsInner` + """ + model = PutGuestRequestGuestCustomFieldsInner() + if include_optional: + return PutGuestRequestGuestCustomFieldsInner( + custom_field_name = '', + custom_field_value = '' + ) + else: + return PutGuestRequestGuestCustomFieldsInner( + ) + """ + + def testPutGuestRequestGuestCustomFieldsInner(self): + """Test PutGuestRequestGuestCustomFieldsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_put_guest_response.py b/cloudbeds_pms_v1_3/test/test_put_guest_response.py new file mode 100644 index 0000000..531c8fc --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_put_guest_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.put_guest_response import PutGuestResponse + +class TestPutGuestResponse(unittest.TestCase): + """PutGuestResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PutGuestResponse: + """Test PutGuestResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PutGuestResponse` + """ + model = PutGuestResponse() + if include_optional: + return PutGuestResponse( + success = True, + message = '' + ) + else: + return PutGuestResponse( + ) + """ + + def testPutGuestResponse(self): + """Test PutGuestResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_put_house_account_status_response.py b/cloudbeds_pms_v1_3/test/test_put_house_account_status_response.py new file mode 100644 index 0000000..60e09f1 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_put_house_account_status_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.put_house_account_status_response import PutHouseAccountStatusResponse + +class TestPutHouseAccountStatusResponse(unittest.TestCase): + """PutHouseAccountStatusResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PutHouseAccountStatusResponse: + """Test PutHouseAccountStatusResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PutHouseAccountStatusResponse` + """ + model = PutHouseAccountStatusResponse() + if include_optional: + return PutHouseAccountStatusResponse( + success = True, + message = '' + ) + else: + return PutHouseAccountStatusResponse( + ) + """ + + def testPutHouseAccountStatusResponse(self): + """Test PutHouseAccountStatusResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_put_housekeeper_response.py b/cloudbeds_pms_v1_3/test/test_put_housekeeper_response.py new file mode 100644 index 0000000..1d53958 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_put_housekeeper_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.put_housekeeper_response import PutHousekeeperResponse + +class TestPutHousekeeperResponse(unittest.TestCase): + """PutHousekeeperResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PutHousekeeperResponse: + """Test PutHousekeeperResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PutHousekeeperResponse` + """ + model = PutHousekeeperResponse() + if include_optional: + return PutHousekeeperResponse( + success = True, + message = '' + ) + else: + return PutHousekeeperResponse( + ) + """ + + def testPutHousekeeperResponse(self): + """Test PutHousekeeperResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_put_item_to_inventory_response.py b/cloudbeds_pms_v1_3/test/test_put_item_to_inventory_response.py new file mode 100644 index 0000000..d0033fc --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_put_item_to_inventory_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.put_item_to_inventory_response import PutItemToInventoryResponse + +class TestPutItemToInventoryResponse(unittest.TestCase): + """PutItemToInventoryResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PutItemToInventoryResponse: + """Test PutItemToInventoryResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PutItemToInventoryResponse` + """ + model = PutItemToInventoryResponse() + if include_optional: + return PutItemToInventoryResponse( + success = True, + message = '' + ) + else: + return PutItemToInventoryResponse( + ) + """ + + def testPutItemToInventoryResponse(self): + """Test PutItemToInventoryResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_put_reservation_note_response.py b/cloudbeds_pms_v1_3/test/test_put_reservation_note_response.py new file mode 100644 index 0000000..51741a8 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_put_reservation_note_response.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.put_reservation_note_response import PutReservationNoteResponse + +class TestPutReservationNoteResponse(unittest.TestCase): + """PutReservationNoteResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PutReservationNoteResponse: + """Test PutReservationNoteResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PutReservationNoteResponse` + """ + model = PutReservationNoteResponse() + if include_optional: + return PutReservationNoteResponse( + success = True, + message = '' + ) + else: + return PutReservationNoteResponse( + ) + """ + + def testPutReservationNoteResponse(self): + """Test PutReservationNoteResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_put_reservation_request_custom_fields_inner.py b/cloudbeds_pms_v1_3/test/test_put_reservation_request_custom_fields_inner.py new file mode 100644 index 0000000..c806ded --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_put_reservation_request_custom_fields_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.put_reservation_request_custom_fields_inner import PutReservationRequestCustomFieldsInner + +class TestPutReservationRequestCustomFieldsInner(unittest.TestCase): + """PutReservationRequestCustomFieldsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PutReservationRequestCustomFieldsInner: + """Test PutReservationRequestCustomFieldsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PutReservationRequestCustomFieldsInner` + """ + model = PutReservationRequestCustomFieldsInner() + if include_optional: + return PutReservationRequestCustomFieldsInner( + custom_field_name = '', + custom_field_value = '' + ) + else: + return PutReservationRequestCustomFieldsInner( + ) + """ + + def testPutReservationRequestCustomFieldsInner(self): + """Test PutReservationRequestCustomFieldsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_put_reservation_request_rooms_inner.py b/cloudbeds_pms_v1_3/test/test_put_reservation_request_rooms_inner.py new file mode 100644 index 0000000..60e0c38 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_put_reservation_request_rooms_inner.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.put_reservation_request_rooms_inner import PutReservationRequestRoomsInner + +class TestPutReservationRequestRoomsInner(unittest.TestCase): + """PutReservationRequestRoomsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PutReservationRequestRoomsInner: + """Test PutReservationRequestRoomsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PutReservationRequestRoomsInner` + """ + model = PutReservationRequestRoomsInner() + if include_optional: + return PutReservationRequestRoomsInner( + sub_reservation_id = '', + room_type_id = '', + checkin_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + checkout_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + adults = 56, + children = 56, + rate_id = '', + adjust_price = True + ) + else: + return PutReservationRequestRoomsInner( + ) + """ + + def testPutReservationRequestRoomsInner(self): + """Test PutReservationRequestRoomsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_put_reservation_response.py b/cloudbeds_pms_v1_3/test/test_put_reservation_response.py new file mode 100644 index 0000000..3afdab4 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_put_reservation_response.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.put_reservation_response import PutReservationResponse + +class TestPutReservationResponse(unittest.TestCase): + """PutReservationResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PutReservationResponse: + """Test PutReservationResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PutReservationResponse` + """ + model = PutReservationResponse() + if include_optional: + return PutReservationResponse( + success = True, + message = '', + data = None + ) + else: + return PutReservationResponse( + ) + """ + + def testPutReservationResponse(self): + """Test PutReservationResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_put_room_block_request_rooms_inner.py b/cloudbeds_pms_v1_3/test/test_put_room_block_request_rooms_inner.py new file mode 100644 index 0000000..06b5e88 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_put_room_block_request_rooms_inner.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.put_room_block_request_rooms_inner import PutRoomBlockRequestRoomsInner + +class TestPutRoomBlockRequestRoomsInner(unittest.TestCase): + """PutRoomBlockRequestRoomsInner unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PutRoomBlockRequestRoomsInner: + """Test PutRoomBlockRequestRoomsInner + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PutRoomBlockRequestRoomsInner` + """ + model = PutRoomBlockRequestRoomsInner() + if include_optional: + return PutRoomBlockRequestRoomsInner( + room_id = '', + room_type_id = '' + ) + else: + return PutRoomBlockRequestRoomsInner( + ) + """ + + def testPutRoomBlockRequestRoomsInner(self): + """Test PutRoomBlockRequestRoomsInner""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_put_room_block_response.py b/cloudbeds_pms_v1_3/test/test_put_room_block_response.py new file mode 100644 index 0000000..df9b0cb --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_put_room_block_response.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.models.put_room_block_response import PutRoomBlockResponse + +class TestPutRoomBlockResponse(unittest.TestCase): + """PutRoomBlockResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PutRoomBlockResponse: + """Test PutRoomBlockResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PutRoomBlockResponse` + """ + model = PutRoomBlockResponse() + if include_optional: + return PutRoomBlockResponse( + success = True, + property_id = '', + room_block_id = '', + room_block_type = 'blocked', + room_block_reason = '', + start_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + end_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), + rooms = [ + cloudbeds_pms_v1_3.models.post_room_block_response_rooms_inner.PostRoomBlockResponse_rooms_inner( + event_id = '', + room_id = '', + room_type_id = '', + is_source = True, ) + ], + message = '' + ) + else: + return PutRoomBlockResponse( + ) + """ + + def testPutRoomBlockResponse(self): + """Test PutRoomBlockResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_rate_api.py b/cloudbeds_pms_v1_3/test/test_rate_api.py new file mode 100644 index 0000000..594fcdc --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_rate_api.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.rate_api import RateApi + + +class TestRateApi(unittest.TestCase): + """RateApi unit test stubs""" + + def setUp(self) -> None: + self.api = RateApi() + + def tearDown(self) -> None: + pass + + def test_get_rate_get(self) -> None: + """Test case for get_rate_get + + getRate + """ + pass + + def test_get_rate_jobs_get(self) -> None: + """Test case for get_rate_jobs_get + + getRateJobs + """ + pass + + def test_get_rate_plans_get(self) -> None: + """Test case for get_rate_plans_get + + getRatePlans + """ + pass + + def test_patch_rate_post(self) -> None: + """Test case for patch_rate_post + + patchRate + """ + pass + + def test_put_rate_post(self) -> None: + """Test case for put_rate_post + + putRate + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_reservation_api.py b/cloudbeds_pms_v1_3/test/test_reservation_api.py new file mode 100644 index 0000000..3c00226 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_reservation_api.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.reservation_api import ReservationApi + + +class TestReservationApi(unittest.TestCase): + """ReservationApi unit test stubs""" + + def setUp(self) -> None: + self.api = ReservationApi() + + def tearDown(self) -> None: + pass + + def test_delete_reservation_note_delete(self) -> None: + """Test case for delete_reservation_note_delete + + deleteReservationNote + """ + pass + + def test_get_reservation_assignments_get(self) -> None: + """Test case for get_reservation_assignments_get + + getReservationAssignments + """ + pass + + def test_get_reservation_get(self) -> None: + """Test case for get_reservation_get + + getReservation + """ + pass + + def test_get_reservation_notes_get(self) -> None: + """Test case for get_reservation_notes_get + + getReservationNotes + """ + pass + + def test_get_reservations_get(self) -> None: + """Test case for get_reservations_get + + getReservations + """ + pass + + def test_get_reservations_with_rate_details_get(self) -> None: + """Test case for get_reservations_with_rate_details_get + + getReservationsWithRateDetails + """ + pass + + def test_get_sources_get(self) -> None: + """Test case for get_sources_get + + getSources + """ + pass + + def test_post_reservation_document_post(self) -> None: + """Test case for post_reservation_document_post + + postReservationDocument + """ + pass + + def test_post_reservation_note_post(self) -> None: + """Test case for post_reservation_note_post + + postReservationNote + """ + pass + + def test_post_reservation_post(self) -> None: + """Test case for post_reservation_post + + postReservation + """ + pass + + def test_put_reservation_note_put(self) -> None: + """Test case for put_reservation_note_put + + putReservationNote + """ + pass + + def test_put_reservation_put(self) -> None: + """Test case for put_reservation_put + + putReservation + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_room_api.py b/cloudbeds_pms_v1_3/test/test_room_api.py new file mode 100644 index 0000000..b14e6ca --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_room_api.py @@ -0,0 +1,122 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.room_api import RoomApi + + +class TestRoomApi(unittest.TestCase): + """RoomApi unit test stubs""" + + def setUp(self) -> None: + self.api = RoomApi() + + def tearDown(self) -> None: + pass + + def test_delete_room_block_delete(self) -> None: + """Test case for delete_room_block_delete + + deleteRoomBlock + """ + pass + + def test_get_available_room_types_get(self) -> None: + """Test case for get_available_room_types_get + + getAvailableRoomTypes + """ + pass + + def test_get_reservation_room_details_get(self) -> None: + """Test case for get_reservation_room_details_get + + getReservationRoomDetails + """ + pass + + def test_get_room_blocks_get(self) -> None: + """Test case for get_room_blocks_get + + getRoomBlocks + """ + pass + + def test_get_room_types_get(self) -> None: + """Test case for get_room_types_get + + getRoomTypes + """ + pass + + def test_get_rooms_fees_and_taxes_get(self) -> None: + """Test case for get_rooms_fees_and_taxes_get + + getRoomsFeesAndTaxes + """ + pass + + def test_get_rooms_get(self) -> None: + """Test case for get_rooms_get + + getRooms + """ + pass + + def test_get_rooms_unassigned_get(self) -> None: + """Test case for get_rooms_unassigned_get + + getRoomsUnassigned + """ + pass + + def test_post_room_assign_post(self) -> None: + """Test case for post_room_assign_post + + postRoomAssign + """ + pass + + def test_post_room_block_post(self) -> None: + """Test case for post_room_block_post + + postRoomBlock + """ + pass + + def test_post_room_check_in_post(self) -> None: + """Test case for post_room_check_in_post + + postRoomCheckIn + """ + pass + + def test_post_room_check_out_post(self) -> None: + """Test case for post_room_check_out_post + + postRoomCheckOut + """ + pass + + def test_put_room_block_put(self) -> None: + """Test case for put_room_block_put + + putRoomBlock + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_taxes_and_fees_api.py b/cloudbeds_pms_v1_3/test/test_taxes_and_fees_api.py new file mode 100644 index 0000000..e95dac3 --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_taxes_and_fees_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.taxes_and_fees_api import TaxesAndFeesApi + + +class TestTaxesAndFeesApi(unittest.TestCase): + """TaxesAndFeesApi unit test stubs""" + + def setUp(self) -> None: + self.api = TaxesAndFeesApi() + + def tearDown(self) -> None: + pass + + def test_get_taxes_and_fees_get(self) -> None: + """Test case for get_taxes_and_fees_get + + getTaxesAndFees + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/cloudbeds_pms_v1_3/test/test_user_api.py b/cloudbeds_pms_v1_3/test/test_user_api.py new file mode 100644 index 0000000..381268f --- /dev/null +++ b/cloudbeds_pms_v1_3/test/test_user_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Cloudbeds API + +

Welcome to the documentation for Cloudbeds API Version v1.3! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.3/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

\"Run use this link to access our Public collection in Postman.

+ + The version of the OpenAPI document: v1.3 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cloudbeds_pms_v1_3.api.user_api import UserApi + + +class TestUserApi(unittest.TestCase): + """UserApi unit test stubs""" + + def setUp(self) -> None: + self.api = UserApi() + + def tearDown(self) -> None: + pass + + def test_get_users_get(self) -> None: + """Test case for get_users_get + + getUsers + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/openapitools.json b/openapitools.json new file mode 100644 index 0000000..21e50ff --- /dev/null +++ b/openapitools.json @@ -0,0 +1,24 @@ +{ + "generator-cli": { + "version": "7.11.0" + }, + "generatorName": "python", + "inputSpec": "public_accessa/api/v1.3/docs/cb-v1.3-openapi-3.0.1.yaml", + "outputDir": ".", + "validateSpec": false, + "templateDir": "templates", + "additionalProperties": { + "packageName": "cloudbeds_pms_v1_3", + "projectName": "Cloudbeds PMS V1.3", + "packageVersion": "1.13.0", + "packageDescription": "OpenAPI client for Cloudbeds PMS v1.3 API.", + "generateSourceCodeOnly": true, + "packageUrl": "https://github.com/cloudbeds/cloudbeds-api-python/tree/release/v1", + "enumUnknownDefaultCase": true + }, + "files": { + "README_onlypackage.mustache": { + "destinationFilename": "README.md" + } + } +} diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..3072314 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,62 @@ +[build-system] +requires = ["setuptools>=61.0.0"] +build-backend = "setuptools.build_meta" + +[project] +dynamic = ["version"] +name = "cloudbeds_pms_v1_3" +description = "OpenAPI client for Cloudbeds PMS v1.3 API." +readme = "README.md" +authors = [ + { name = "Cloudbeds"} +] +license = { file = "LICENSE" } +dependencies = [ + "urllib3 >= 2.6.3, < 3.0.0", + "python-dateutil >= 2.8.2, < 3.0.0", + "pydantic >= 2", + "typing-extensions >= 4.7.1", +] + +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + + "Topic :: Software Development :: Libraries :: Python Modules", +] + +requires-python = ">=3.9" + +[project.urls] +Documentation = "https://github.com/cloudbeds/cloudbeds-api-python/tree/release/v1#README" +Repository = "https://github.com/cloudbeds/cloudbeds-api-python/tree/release/v1" + +[project.optional-dependencies] +testing = [ + "pytest", + "coverage" +] + +[dependency-groups] +dev = [ + "pytest", + "coverage" +] + +[tool.setuptools.packages.find] +where = ["."] + +[tool.setuptools.dynamic] +version = { file = "VERSION" } + +[tool.setuptools.package-data] +"cloudbeds_pms_v1_3" = ["py.typed"] diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..2b448c3 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,29 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile pyproject.toml --all-extras -o requirements.txt +annotated-types==0.7.0 + # via pydantic +coverage==7.6.10 + # via cloudbeds-pms-v1-3 (pyproject.toml) +iniconfig==2.0.0 + # via pytest +packaging==24.2 + # via pytest +pluggy==1.5.0 + # via pytest +pydantic==2.10.5 + # via cloudbeds-pms-v1-3 (pyproject.toml) +pydantic-core==2.27.2 + # via pydantic +pytest==8.3.4 + # via cloudbeds-pms-v1-3 (pyproject.toml) +python-dateutil==2.9.0.post0 + # via cloudbeds-pms-v1-3 (pyproject.toml) +six==1.17.0 + # via python-dateutil +typing-extensions==4.12.2 + # via + # cloudbeds-pms-v1-3 (pyproject.toml) + # pydantic + # pydantic-core +urllib3==2.6.3 + # via cloudbeds-pms-v1-3 (pyproject.toml) diff --git a/templates/model_enum.mustache b/templates/model_enum.mustache new file mode 100644 index 0000000..b393851 --- /dev/null +++ b/templates/model_enum.mustache @@ -0,0 +1,34 @@ +from __future__ import annotations +import json +from enum import Enum +{{#vendorExtensions.x-py-other-imports}} +{{{.}}} +{{/vendorExtensions.x-py-other-imports}} +from typing_extensions import Self + + +class {{classname}}({{vendorExtensions.x-py-enum-type}}, Enum): + """ + {{{description}}}{{^description}}{{{classname}}}{{/description}} + """ + + """ + allowed enum values + """ +{{#allowableValues}} + {{#enumVars}} + {{{name}}} = {{{value}}} + {{/enumVars}} + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of {{classname}} from a JSON string""" + return cls(json.loads(json_str)) + +{{#enumUnknownDefaultCase}} + @classmethod + def _missing_(cls, value): + """Handle unknown enum values by returning the unknown default case.""" + return cls.UNKNOWN_DEFAULT_OPEN_API +{{/enumUnknownDefaultCase}} +{{/allowableValues}} \ No newline at end of file diff --git a/templates/model_generic.mustache b/templates/model_generic.mustache new file mode 100644 index 0000000..c3bcb0d --- /dev/null +++ b/templates/model_generic.mustache @@ -0,0 +1,402 @@ +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +{{#vendorExtensions.x-py-other-imports}} +{{{.}}} +{{/vendorExtensions.x-py-other-imports}} +{{#vendorExtensions.x-py-model-imports}} +{{{.}}} +{{/vendorExtensions.x-py-model-imports}} +from typing import Optional, Set +from typing_extensions import Self + +{{#hasChildren}} +{{#discriminator}} +{{! If this model is a super class, importlib is used. So import the necessary modules for the type here. }} +from typing import TYPE_CHECKING +if TYPE_CHECKING: +{{#mappedModels}} + from {{packageName}}.models.{{model.classFilename}} import {{modelName}} +{{/mappedModels}} + +{{/discriminator}} +{{/hasChildren}} +class {{classname}}({{#parent}}{{{.}}}{{/parent}}{{^parent}}BaseModel{{/parent}}): + """ + {{#description}}{{{description}}}{{/description}}{{^description}}{{{classname}}}{{/description}} + """ # noqa: E501 +{{#vars}} + {{name}}: {{{vendorExtensions.x-py-typing}}} +{{/vars}} +{{#isAdditionalPropertiesTrue}} + additional_properties: Dict[str, Any] = {} +{{/isAdditionalPropertiesTrue}} + __properties: ClassVar[List[str]] = [{{#allVars}}"{{baseName}}"{{^-last}}, {{/-last}}{{/allVars}}] +{{#vars}} + {{#vendorExtensions.x-regex}} + + @field_validator('{{{name}}}') + def {{{name}}}_validate_regular_expression(cls, value): + """Validates the regular expression""" + {{^required}} + if value is None: + return value + + {{/required}} + {{#required}} + {{#isNullable}} + if value is None: + return value + + {{/isNullable}} + {{/required}} + if not re.match(r"{{{.}}}", value{{#vendorExtensions.x-modifiers}} ,re.{{{.}}}{{/vendorExtensions.x-modifiers}}): + raise ValueError(r"must validate the regular expression {{{vendorExtensions.x-pattern}}}") + return value + {{/vendorExtensions.x-regex}} + {{#isEnum}} + + @field_validator('{{{name}}}') + def {{{name}}}_validate_enum(cls, value): + """Validates the enum, returning unknown_default_open_api for unrecognized values""" + {{^required}} + if value is None: + return value + + {{/required}} + {{#required}} + {{#isNullable}} + if value is None: + return value + + {{/isNullable}} + {{/required}} + _allowed_values = set([{{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}}]) + {{#isContainer}} + {{#isArray}} + # Map unknown values to the fallback + return [i if i in _allowed_values else 'unknown_default_open_api' for i in value] + {{/isArray}} + {{#isMap}} + # Map unknown values to the fallback + return {k: (v if v in _allowed_values else 'unknown_default_open_api') for k, v in value.items()} + {{/isMap}} + {{/isContainer}} + {{^isContainer}} + if value not in _allowed_values: + return 'unknown_default_open_api' + {{/isContainer}} + return value + {{/isEnum}} +{{/vars}} + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + +{{#hasChildren}} +{{#discriminator}} + # JSON field name that stores the object type + __discriminator_property_name: ClassVar[str] = '{{discriminator.propertyBaseName}}' + + # discriminator mappings + __discriminator_value_class_map: ClassVar[Dict[str, str]] = { + {{#mappedModels}}'{{{mappingName}}}': '{{{modelName}}}'{{^-last}},{{/-last}}{{/mappedModels}} + } + + @classmethod + def get_discriminator_value(cls, obj: Dict[str, Any]) -> Optional[str]: + """Returns the discriminator value (object type) of the data""" + discriminator_value = obj[cls.__discriminator_property_name] + if discriminator_value: + return cls.__discriminator_value_class_map.get(discriminator_value) + else: + return None + +{{/discriminator}} +{{/hasChildren}} + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[{{^hasChildren}}Self{{/hasChildren}}{{#hasChildren}}{{#discriminator}}Union[{{#mappedModels}}{{{modelName}}}{{^-last}}, {{/-last}}{{/mappedModels}}]{{/discriminator}}{{^discriminator}}Self{{/discriminator}}{{/hasChildren}}]: + """Create an instance of {{{classname}}} from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + {{#vendorExtensions.x-py-readonly}} + * OpenAPI `readOnly` fields are excluded. + {{/vendorExtensions.x-py-readonly}} + {{#isAdditionalPropertiesTrue}} + * Fields in `self.additional_properties` are added to the output dict. + {{/isAdditionalPropertiesTrue}} + """ + excluded_fields: Set[str] = set([ + {{#vendorExtensions.x-py-readonly}} + "{{{.}}}", + {{/vendorExtensions.x-py-readonly}} + {{#isAdditionalPropertiesTrue}} + "additional_properties", + {{/isAdditionalPropertiesTrue}} + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + {{#allVars}} + {{#isContainer}} + {{#isArray}} + {{#items.isArray}} + {{^items.items.isPrimitiveType}} + # override the default output from pydantic by calling `to_dict()` of each item in {{{name}}} (list of list) + _items = [] + if self.{{{name}}}: + for _item_{{{name}}} in self.{{{name}}}: + if _item_{{{name}}}: + _items.append( + [_inner_item.to_dict() for _inner_item in _item_{{{name}}} if _inner_item is not None] + ) + _dict['{{{baseName}}}'] = _items + {{/items.items.isPrimitiveType}} + {{/items.isArray}} + {{^items.isArray}} + {{^items.isPrimitiveType}} + {{^items.isEnumOrRef}} + # override the default output from pydantic by calling `to_dict()` of each item in {{{name}}} (list) + _items = [] + if self.{{{name}}}: + for _item_{{{name}}} in self.{{{name}}}: + if _item_{{{name}}}: + _items.append(_item_{{{name}}}.to_dict()) + _dict['{{{baseName}}}'] = _items + {{/items.isEnumOrRef}} + {{/items.isPrimitiveType}} + {{/items.isArray}} + {{/isArray}} + {{#isMap}} + {{#items.isArray}} + {{^items.items.isPrimitiveType}} + # override the default output from pydantic by calling `to_dict()` of each value in {{{name}}} (dict of array) + _field_dict_of_array = {} + if self.{{{name}}}: + for _key_{{{name}}} in self.{{{name}}}: + if self.{{{name}}}[_key_{{{name}}}] is not None: + _field_dict_of_array[_key_{{{name}}}] = [ + _item.to_dict() for _item in self.{{{name}}}[_key_{{{name}}}] + ] + _dict['{{{baseName}}}'] = _field_dict_of_array + {{/items.items.isPrimitiveType}} + {{/items.isArray}} + {{^items.isArray}} + {{^items.isPrimitiveType}} + {{^items.isEnumOrRef}} + # override the default output from pydantic by calling `to_dict()` of each value in {{{name}}} (dict) + _field_dict = {} + if self.{{{name}}}: + for _key_{{{name}}} in self.{{{name}}}: + if self.{{{name}}}[_key_{{{name}}}]: + _field_dict[_key_{{{name}}}] = self.{{{name}}}[_key_{{{name}}}].to_dict() + _dict['{{{baseName}}}'] = _field_dict + {{/items.isEnumOrRef}} + {{/items.isPrimitiveType}} + {{/items.isArray}} + {{/isMap}} + {{/isContainer}} + {{^isContainer}} + {{^isPrimitiveType}} + {{^isEnumOrRef}} + # override the default output from pydantic by calling `to_dict()` of {{{name}}} + if self.{{{name}}}: + _dict['{{{baseName}}}'] = self.{{{name}}}.to_dict() + {{/isEnumOrRef}} + {{/isPrimitiveType}} + {{/isContainer}} + {{/allVars}} + {{#isAdditionalPropertiesTrue}} + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + {{/isAdditionalPropertiesTrue}} + {{#allVars}} + {{#isNullable}} + # set to None if {{{name}}} (nullable) is None + # and model_fields_set contains the field + if self.{{name}} is None and "{{{name}}}" in self.model_fields_set: + _dict['{{{baseName}}}'] = None + + {{/isNullable}} + {{/allVars}} + return _dict + + {{#hasChildren}} + @classmethod + def from_dict(cls, obj: Dict[str, Any]) -> Optional[{{#discriminator}}Union[{{#mappedModels}}{{{modelName}}}{{^-last}}, {{/-last}}{{/mappedModels}}]{{/discriminator}}{{^discriminator}}Self{{/discriminator}}]: + """Create an instance of {{{classname}}} from a dict""" + {{#discriminator}} + # look up the object type based on discriminator mapping + object_type = cls.get_discriminator_value(obj) + {{#mappedModels}} + if object_type == '{{{modelName}}}': + return import_module("{{packageName}}.models.{{model.classFilename}}").{{modelName}}.from_dict(obj) + {{/mappedModels}} + + raise ValueError("{{{classname}}} failed to lookup discriminator value from " + + json.dumps(obj) + ". Discriminator property name: " + cls.__discriminator_property_name + + ", mapping: " + json.dumps(cls.__discriminator_value_class_map)) + {{/discriminator}} + {{/hasChildren}} + {{^hasChildren}} + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of {{{classname}}} from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + {{#disallowAdditionalPropertiesIfNotPresent}} + {{^isAdditionalPropertiesTrue}} + # raise errors for additional fields in the input + for _key in obj.keys(): + if _key not in cls.__properties: + raise ValueError("Error due to additional fields (not defined in {{classname}}) in the input: " + _key) + + {{/isAdditionalPropertiesTrue}} + {{/disallowAdditionalPropertiesIfNotPresent}} + _obj = cls.model_validate({ + {{#allVars}} + {{#isContainer}} + {{#isArray}} + {{#items.isArray}} + {{#items.items.isPrimitiveType}} + "{{{baseName}}}": obj.get("{{{baseName}}}"){{^-last}},{{/-last}} + {{/items.items.isPrimitiveType}} + {{^items.items.isPrimitiveType}} + "{{{baseName}}}": [ + [{{{items.items.dataType}}}.from_dict(_inner_item) for _inner_item in _item] + for _item in obj["{{{baseName}}}"] + ] if obj.get("{{{baseName}}}") is not None else None{{^-last}},{{/-last}} + {{/items.items.isPrimitiveType}} + {{/items.isArray}} + {{^items.isArray}} + {{^items.isPrimitiveType}} + {{#items.isEnumOrRef}} + "{{{baseName}}}": obj.get("{{{baseName}}}"){{^-last}},{{/-last}} + {{/items.isEnumOrRef}} + {{^items.isEnumOrRef}} + "{{{baseName}}}": [{{{items.dataType}}}.from_dict(_item) for _item in obj["{{{baseName}}}"]] if obj.get("{{{baseName}}}") is not None else None{{^-last}},{{/-last}} + {{/items.isEnumOrRef}} + {{/items.isPrimitiveType}} + {{#items.isPrimitiveType}} + "{{{baseName}}}": obj.get("{{{baseName}}}"){{^-last}},{{/-last}} + {{/items.isPrimitiveType}} + {{/items.isArray}} + {{/isArray}} + {{#isMap}} + {{^items.isPrimitiveType}} + {{^items.isEnumOrRef}} + {{#items.isContainer}} + {{#items.isMap}} + "{{{baseName}}}": dict( + (_k, dict( + (_ik, {{{items.items.dataType}}}.from_dict(_iv)) + for _ik, _iv in _v.items() + ) + if _v is not None + else None + ) + for _k, _v in obj.get("{{{baseName}}}").items() + ) + if obj.get("{{{baseName}}}") is not None + else None{{^-last}},{{/-last}} + {{/items.isMap}} + {{#items.isArray}} + "{{{baseName}}}": dict( + (_k, + [{{{items.items.dataType}}}.from_dict(_item) for _item in _v] + if _v is not None + else None + ) + for _k, _v in obj.get("{{{baseName}}}", {}).items() + ){{^-last}},{{/-last}} + {{/items.isArray}} + {{/items.isContainer}} + {{^items.isContainer}} + "{{{baseName}}}": dict( + (_k, {{{items.dataType}}}.from_dict(_v)) + for _k, _v in obj["{{{baseName}}}"].items() + ) + if obj.get("{{{baseName}}}") is not None + else None{{^-last}},{{/-last}} + {{/items.isContainer}} + {{/items.isEnumOrRef}} + {{#items.isEnumOrRef}} + "{{{baseName}}}": dict((_k, _v) for _k, _v in obj.get("{{{baseName}}}").items()) if obj.get("{{{baseName}}}") is not None else None{{^-last}},{{/-last}} + {{/items.isEnumOrRef}} + {{/items.isPrimitiveType}} + {{#items.isPrimitiveType}} + "{{{baseName}}}": obj.get("{{{baseName}}}"){{^-last}},{{/-last}} + {{/items.isPrimitiveType}} + {{/isMap}} + {{/isContainer}} + {{^isContainer}} + {{^isPrimitiveType}} + {{^isEnumOrRef}} + "{{{baseName}}}": {{{dataType}}}.from_dict(obj["{{{baseName}}}"]) if obj.get("{{{baseName}}}") is not None else None{{^-last}},{{/-last}} + {{/isEnumOrRef}} + {{#isEnumOrRef}} + "{{{baseName}}}": obj.get("{{{baseName}}}"){{#defaultValue}} if obj.get("{{baseName}}") is not None else {{defaultValue}}{{/defaultValue}}{{^-last}},{{/-last}} + {{/isEnumOrRef}} + {{/isPrimitiveType}} + {{#isPrimitiveType}} + {{#defaultValue}} + "{{{baseName}}}": obj.get("{{{baseName}}}") if obj.get("{{{baseName}}}") is not None else {{{defaultValue}}}{{^-last}},{{/-last}} + {{/defaultValue}} + {{^defaultValue}} + "{{{baseName}}}": obj.get("{{{baseName}}}"){{^-last}},{{/-last}} + {{/defaultValue}} + {{/isPrimitiveType}} + {{/isContainer}} + {{/allVars}} + }) + {{#isAdditionalPropertiesTrue}} + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + {{/isAdditionalPropertiesTrue}} + return _obj + {{/hasChildren}} + +{{#vendorExtensions.x-py-postponed-model-imports.size}} +{{#vendorExtensions.x-py-postponed-model-imports}} +{{{.}}} +{{/vendorExtensions.x-py-postponed-model-imports}} +# TODO: Rewrite to not use raise_errors +{{classname}}.model_rebuild(raise_errors=False) +{{/vendorExtensions.x-py-postponed-model-imports.size}} diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..2557836 --- /dev/null +++ b/uv.lock @@ -0,0 +1,654 @@ +version = 1 +revision = 3 +requires-python = ">=3.9" +resolution-markers = [ + "python_full_version >= '3.10'", + "python_full_version < '3.10'", +] + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + +[[package]] +name = "cloudbeds-pms-v1-3" +source = { editable = "." } +dependencies = [ + { name = "pydantic" }, + { name = "python-dateutil" }, + { name = "typing-extensions" }, + { name = "urllib3" }, +] + +[package.optional-dependencies] +testing = [ + { name = "coverage", version = "7.10.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "coverage", version = "7.13.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] + +[package.dev-dependencies] +dev = [ + { name = "coverage", version = "7.10.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "coverage", version = "7.13.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] + +[package.metadata] +requires-dist = [ + { name = "coverage", marker = "extra == 'testing'" }, + { name = "pydantic", specifier = ">=2" }, + { name = "pytest", marker = "extra == 'testing'" }, + { name = "python-dateutil", specifier = ">=2.8.2,<3.0.0" }, + { name = "typing-extensions", specifier = ">=4.7.1" }, + { name = "urllib3", specifier = ">=2.6.3,<3.0.0" }, +] +provides-extras = ["testing"] + +[package.metadata.requires-dev] +dev = [ + { name = "coverage" }, + { name = "pytest" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "coverage" +version = "7.10.7" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/51/26/d22c300112504f5f9a9fd2297ce33c35f3d353e4aeb987c8419453b2a7c2/coverage-7.10.7.tar.gz", hash = "sha256:f4ab143ab113be368a3e9b795f9cd7906c5ef407d6173fe9675a902e1fffc239", size = 827704, upload-time = "2025-09-21T20:03:56.815Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/6c/3a3f7a46888e69d18abe3ccc6fe4cb16cccb1e6a2f99698931dafca489e6/coverage-7.10.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fc04cc7a3db33664e0c2d10eb8990ff6b3536f6842c9590ae8da4c614b9ed05a", size = 217987, upload-time = "2025-09-21T20:00:57.218Z" }, + { url = "https://files.pythonhosted.org/packages/03/94/952d30f180b1a916c11a56f5c22d3535e943aa22430e9e3322447e520e1c/coverage-7.10.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e201e015644e207139f7e2351980feb7040e6f4b2c2978892f3e3789d1c125e5", size = 218388, upload-time = "2025-09-21T20:01:00.081Z" }, + { url = "https://files.pythonhosted.org/packages/50/2b/9e0cf8ded1e114bcd8b2fd42792b57f1c4e9e4ea1824cde2af93a67305be/coverage-7.10.7-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:240af60539987ced2c399809bd34f7c78e8abe0736af91c3d7d0e795df633d17", size = 245148, upload-time = "2025-09-21T20:01:01.768Z" }, + { url = "https://files.pythonhosted.org/packages/19/20/d0384ac06a6f908783d9b6aa6135e41b093971499ec488e47279f5b846e6/coverage-7.10.7-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8421e088bc051361b01c4b3a50fd39a4b9133079a2229978d9d30511fd05231b", size = 246958, upload-time = "2025-09-21T20:01:03.355Z" }, + { url = "https://files.pythonhosted.org/packages/60/83/5c283cff3d41285f8eab897651585db908a909c572bdc014bcfaf8a8b6ae/coverage-7.10.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6be8ed3039ae7f7ac5ce058c308484787c86e8437e72b30bf5e88b8ea10f3c87", size = 248819, upload-time = "2025-09-21T20:01:04.968Z" }, + { url = "https://files.pythonhosted.org/packages/60/22/02eb98fdc5ff79f423e990d877693e5310ae1eab6cb20ae0b0b9ac45b23b/coverage-7.10.7-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e28299d9f2e889e6d51b1f043f58d5f997c373cc12e6403b90df95b8b047c13e", size = 245754, upload-time = "2025-09-21T20:01:06.321Z" }, + { url = "https://files.pythonhosted.org/packages/b4/bc/25c83bcf3ad141b32cd7dc45485ef3c01a776ca3aa8ef0a93e77e8b5bc43/coverage-7.10.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c4e16bd7761c5e454f4efd36f345286d6f7c5fa111623c355691e2755cae3b9e", size = 246860, upload-time = "2025-09-21T20:01:07.605Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b7/95574702888b58c0928a6e982038c596f9c34d52c5e5107f1eef729399b5/coverage-7.10.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b1c81d0e5e160651879755c9c675b974276f135558cf4ba79fee7b8413a515df", size = 244877, upload-time = "2025-09-21T20:01:08.829Z" }, + { url = "https://files.pythonhosted.org/packages/47/b6/40095c185f235e085df0e0b158f6bd68cc6e1d80ba6c7721dc81d97ec318/coverage-7.10.7-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:606cc265adc9aaedcc84f1f064f0e8736bc45814f15a357e30fca7ecc01504e0", size = 245108, upload-time = "2025-09-21T20:01:10.527Z" }, + { url = "https://files.pythonhosted.org/packages/c8/50/4aea0556da7a4b93ec9168420d170b55e2eb50ae21b25062513d020c6861/coverage-7.10.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:10b24412692df990dbc34f8fb1b6b13d236ace9dfdd68df5b28c2e39cafbba13", size = 245752, upload-time = "2025-09-21T20:01:11.857Z" }, + { url = "https://files.pythonhosted.org/packages/6a/28/ea1a84a60828177ae3b100cb6723838523369a44ec5742313ed7db3da160/coverage-7.10.7-cp310-cp310-win32.whl", hash = "sha256:b51dcd060f18c19290d9b8a9dd1e0181538df2ce0717f562fff6cf74d9fc0b5b", size = 220497, upload-time = "2025-09-21T20:01:13.459Z" }, + { url = "https://files.pythonhosted.org/packages/fc/1a/a81d46bbeb3c3fd97b9602ebaa411e076219a150489bcc2c025f151bd52d/coverage-7.10.7-cp310-cp310-win_amd64.whl", hash = "sha256:3a622ac801b17198020f09af3eaf45666b344a0d69fc2a6ffe2ea83aeef1d807", size = 221392, upload-time = "2025-09-21T20:01:14.722Z" }, + { url = "https://files.pythonhosted.org/packages/d2/5d/c1a17867b0456f2e9ce2d8d4708a4c3a089947d0bec9c66cdf60c9e7739f/coverage-7.10.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a609f9c93113be646f44c2a0256d6ea375ad047005d7f57a5c15f614dc1b2f59", size = 218102, upload-time = "2025-09-21T20:01:16.089Z" }, + { url = "https://files.pythonhosted.org/packages/54/f0/514dcf4b4e3698b9a9077f084429681bf3aad2b4a72578f89d7f643eb506/coverage-7.10.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:65646bb0359386e07639c367a22cf9b5bf6304e8630b565d0626e2bdf329227a", size = 218505, upload-time = "2025-09-21T20:01:17.788Z" }, + { url = "https://files.pythonhosted.org/packages/20/f6/9626b81d17e2a4b25c63ac1b425ff307ecdeef03d67c9a147673ae40dc36/coverage-7.10.7-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5f33166f0dfcce728191f520bd2692914ec70fac2713f6bf3ce59c3deacb4699", size = 248898, upload-time = "2025-09-21T20:01:19.488Z" }, + { url = "https://files.pythonhosted.org/packages/b0/ef/bd8e719c2f7417ba03239052e099b76ea1130ac0cbb183ee1fcaa58aaff3/coverage-7.10.7-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:35f5e3f9e455bb17831876048355dca0f758b6df22f49258cb5a91da23ef437d", size = 250831, upload-time = "2025-09-21T20:01:20.817Z" }, + { url = "https://files.pythonhosted.org/packages/a5/b6/bf054de41ec948b151ae2b79a55c107f5760979538f5fb80c195f2517718/coverage-7.10.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4da86b6d62a496e908ac2898243920c7992499c1712ff7c2b6d837cc69d9467e", size = 252937, upload-time = "2025-09-21T20:01:22.171Z" }, + { url = "https://files.pythonhosted.org/packages/0f/e5/3860756aa6f9318227443c6ce4ed7bf9e70bb7f1447a0353f45ac5c7974b/coverage-7.10.7-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6b8b09c1fad947c84bbbc95eca841350fad9cbfa5a2d7ca88ac9f8d836c92e23", size = 249021, upload-time = "2025-09-21T20:01:23.907Z" }, + { url = "https://files.pythonhosted.org/packages/26/0f/bd08bd042854f7fd07b45808927ebcce99a7ed0f2f412d11629883517ac2/coverage-7.10.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4376538f36b533b46f8971d3a3e63464f2c7905c9800db97361c43a2b14792ab", size = 250626, upload-time = "2025-09-21T20:01:25.721Z" }, + { url = "https://files.pythonhosted.org/packages/8e/a7/4777b14de4abcc2e80c6b1d430f5d51eb18ed1d75fca56cbce5f2db9b36e/coverage-7.10.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:121da30abb574f6ce6ae09840dae322bef734480ceafe410117627aa54f76d82", size = 248682, upload-time = "2025-09-21T20:01:27.105Z" }, + { url = "https://files.pythonhosted.org/packages/34/72/17d082b00b53cd45679bad682fac058b87f011fd8b9fe31d77f5f8d3a4e4/coverage-7.10.7-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:88127d40df529336a9836870436fc2751c339fbaed3a836d42c93f3e4bd1d0a2", size = 248402, upload-time = "2025-09-21T20:01:28.629Z" }, + { url = "https://files.pythonhosted.org/packages/81/7a/92367572eb5bdd6a84bfa278cc7e97db192f9f45b28c94a9ca1a921c3577/coverage-7.10.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ba58bbcd1b72f136080c0bccc2400d66cc6115f3f906c499013d065ac33a4b61", size = 249320, upload-time = "2025-09-21T20:01:30.004Z" }, + { url = "https://files.pythonhosted.org/packages/2f/88/a23cc185f6a805dfc4fdf14a94016835eeb85e22ac3a0e66d5e89acd6462/coverage-7.10.7-cp311-cp311-win32.whl", hash = "sha256:972b9e3a4094b053a4e46832b4bc829fc8a8d347160eb39d03f1690316a99c14", size = 220536, upload-time = "2025-09-21T20:01:32.184Z" }, + { url = "https://files.pythonhosted.org/packages/fe/ef/0b510a399dfca17cec7bc2f05ad8bd78cf55f15c8bc9a73ab20c5c913c2e/coverage-7.10.7-cp311-cp311-win_amd64.whl", hash = "sha256:a7b55a944a7f43892e28ad4bc0561dfd5f0d73e605d1aa5c3c976b52aea121d2", size = 221425, upload-time = "2025-09-21T20:01:33.557Z" }, + { url = "https://files.pythonhosted.org/packages/51/7f/023657f301a276e4ba1850f82749bc136f5a7e8768060c2e5d9744a22951/coverage-7.10.7-cp311-cp311-win_arm64.whl", hash = "sha256:736f227fb490f03c6488f9b6d45855f8e0fd749c007f9303ad30efab0e73c05a", size = 220103, upload-time = "2025-09-21T20:01:34.929Z" }, + { url = "https://files.pythonhosted.org/packages/13/e4/eb12450f71b542a53972d19117ea5a5cea1cab3ac9e31b0b5d498df1bd5a/coverage-7.10.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7bb3b9ddb87ef7725056572368040c32775036472d5a033679d1fa6c8dc08417", size = 218290, upload-time = "2025-09-21T20:01:36.455Z" }, + { url = "https://files.pythonhosted.org/packages/37/66/593f9be12fc19fb36711f19a5371af79a718537204d16ea1d36f16bd78d2/coverage-7.10.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:18afb24843cbc175687225cab1138c95d262337f5473512010e46831aa0c2973", size = 218515, upload-time = "2025-09-21T20:01:37.982Z" }, + { url = "https://files.pythonhosted.org/packages/66/80/4c49f7ae09cafdacc73fbc30949ffe77359635c168f4e9ff33c9ebb07838/coverage-7.10.7-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:399a0b6347bcd3822be369392932884b8216d0944049ae22925631a9b3d4ba4c", size = 250020, upload-time = "2025-09-21T20:01:39.617Z" }, + { url = "https://files.pythonhosted.org/packages/a6/90/a64aaacab3b37a17aaedd83e8000142561a29eb262cede42d94a67f7556b/coverage-7.10.7-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:314f2c326ded3f4b09be11bc282eb2fc861184bc95748ae67b360ac962770be7", size = 252769, upload-time = "2025-09-21T20:01:41.341Z" }, + { url = "https://files.pythonhosted.org/packages/98/2e/2dda59afd6103b342e096f246ebc5f87a3363b5412609946c120f4e7750d/coverage-7.10.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c41e71c9cfb854789dee6fc51e46743a6d138b1803fab6cb860af43265b42ea6", size = 253901, upload-time = "2025-09-21T20:01:43.042Z" }, + { url = "https://files.pythonhosted.org/packages/53/dc/8d8119c9051d50f3119bb4a75f29f1e4a6ab9415cd1fa8bf22fcc3fb3b5f/coverage-7.10.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc01f57ca26269c2c706e838f6422e2a8788e41b3e3c65e2f41148212e57cd59", size = 250413, upload-time = "2025-09-21T20:01:44.469Z" }, + { url = "https://files.pythonhosted.org/packages/98/b3/edaff9c5d79ee4d4b6d3fe046f2b1d799850425695b789d491a64225d493/coverage-7.10.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a6442c59a8ac8b85812ce33bc4d05bde3fb22321fa8294e2a5b487c3505f611b", size = 251820, upload-time = "2025-09-21T20:01:45.915Z" }, + { url = "https://files.pythonhosted.org/packages/11/25/9a0728564bb05863f7e513e5a594fe5ffef091b325437f5430e8cfb0d530/coverage-7.10.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:78a384e49f46b80fb4c901d52d92abe098e78768ed829c673fbb53c498bef73a", size = 249941, upload-time = "2025-09-21T20:01:47.296Z" }, + { url = "https://files.pythonhosted.org/packages/e0/fd/ca2650443bfbef5b0e74373aac4df67b08180d2f184b482c41499668e258/coverage-7.10.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:5e1e9802121405ede4b0133aa4340ad8186a1d2526de5b7c3eca519db7bb89fb", size = 249519, upload-time = "2025-09-21T20:01:48.73Z" }, + { url = "https://files.pythonhosted.org/packages/24/79/f692f125fb4299b6f963b0745124998ebb8e73ecdfce4ceceb06a8c6bec5/coverage-7.10.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d41213ea25a86f69efd1575073d34ea11aabe075604ddf3d148ecfec9e1e96a1", size = 251375, upload-time = "2025-09-21T20:01:50.529Z" }, + { url = "https://files.pythonhosted.org/packages/5e/75/61b9bbd6c7d24d896bfeec57acba78e0f8deac68e6baf2d4804f7aae1f88/coverage-7.10.7-cp312-cp312-win32.whl", hash = "sha256:77eb4c747061a6af8d0f7bdb31f1e108d172762ef579166ec84542f711d90256", size = 220699, upload-time = "2025-09-21T20:01:51.941Z" }, + { url = "https://files.pythonhosted.org/packages/ca/f3/3bf7905288b45b075918d372498f1cf845b5b579b723c8fd17168018d5f5/coverage-7.10.7-cp312-cp312-win_amd64.whl", hash = "sha256:f51328ffe987aecf6d09f3cd9d979face89a617eacdaea43e7b3080777f647ba", size = 221512, upload-time = "2025-09-21T20:01:53.481Z" }, + { url = "https://files.pythonhosted.org/packages/5c/44/3e32dbe933979d05cf2dac5e697c8599cfe038aaf51223ab901e208d5a62/coverage-7.10.7-cp312-cp312-win_arm64.whl", hash = "sha256:bda5e34f8a75721c96085903c6f2197dc398c20ffd98df33f866a9c8fd95f4bf", size = 220147, upload-time = "2025-09-21T20:01:55.2Z" }, + { url = "https://files.pythonhosted.org/packages/9a/94/b765c1abcb613d103b64fcf10395f54d69b0ef8be6a0dd9c524384892cc7/coverage-7.10.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:981a651f543f2854abd3b5fcb3263aac581b18209be49863ba575de6edf4c14d", size = 218320, upload-time = "2025-09-21T20:01:56.629Z" }, + { url = "https://files.pythonhosted.org/packages/72/4f/732fff31c119bb73b35236dd333030f32c4bfe909f445b423e6c7594f9a2/coverage-7.10.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:73ab1601f84dc804f7812dc297e93cd99381162da39c47040a827d4e8dafe63b", size = 218575, upload-time = "2025-09-21T20:01:58.203Z" }, + { url = "https://files.pythonhosted.org/packages/87/02/ae7e0af4b674be47566707777db1aa375474f02a1d64b9323e5813a6cdd5/coverage-7.10.7-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a8b6f03672aa6734e700bbcd65ff050fd19cddfec4b031cc8cf1c6967de5a68e", size = 249568, upload-time = "2025-09-21T20:01:59.748Z" }, + { url = "https://files.pythonhosted.org/packages/a2/77/8c6d22bf61921a59bce5471c2f1f7ac30cd4ac50aadde72b8c48d5727902/coverage-7.10.7-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:10b6ba00ab1132a0ce4428ff68cf50a25efd6840a42cdf4239c9b99aad83be8b", size = 252174, upload-time = "2025-09-21T20:02:01.192Z" }, + { url = "https://files.pythonhosted.org/packages/b1/20/b6ea4f69bbb52dac0aebd62157ba6a9dddbfe664f5af8122dac296c3ee15/coverage-7.10.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c79124f70465a150e89340de5963f936ee97097d2ef76c869708c4248c63ca49", size = 253447, upload-time = "2025-09-21T20:02:02.701Z" }, + { url = "https://files.pythonhosted.org/packages/f9/28/4831523ba483a7f90f7b259d2018fef02cb4d5b90bc7c1505d6e5a84883c/coverage-7.10.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:69212fbccdbd5b0e39eac4067e20a4a5256609e209547d86f740d68ad4f04911", size = 249779, upload-time = "2025-09-21T20:02:04.185Z" }, + { url = "https://files.pythonhosted.org/packages/a7/9f/4331142bc98c10ca6436d2d620c3e165f31e6c58d43479985afce6f3191c/coverage-7.10.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7ea7c6c9d0d286d04ed3541747e6597cbe4971f22648b68248f7ddcd329207f0", size = 251604, upload-time = "2025-09-21T20:02:06.034Z" }, + { url = "https://files.pythonhosted.org/packages/ce/60/bda83b96602036b77ecf34e6393a3836365481b69f7ed7079ab85048202b/coverage-7.10.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b9be91986841a75042b3e3243d0b3cb0b2434252b977baaf0cd56e960fe1e46f", size = 249497, upload-time = "2025-09-21T20:02:07.619Z" }, + { url = "https://files.pythonhosted.org/packages/5f/af/152633ff35b2af63977edd835d8e6430f0caef27d171edf2fc76c270ef31/coverage-7.10.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:b281d5eca50189325cfe1f365fafade89b14b4a78d9b40b05ddd1fc7d2a10a9c", size = 249350, upload-time = "2025-09-21T20:02:10.34Z" }, + { url = "https://files.pythonhosted.org/packages/9d/71/d92105d122bd21cebba877228990e1646d862e34a98bb3374d3fece5a794/coverage-7.10.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:99e4aa63097ab1118e75a848a28e40d68b08a5e19ce587891ab7fd04475e780f", size = 251111, upload-time = "2025-09-21T20:02:12.122Z" }, + { url = "https://files.pythonhosted.org/packages/a2/9e/9fdb08f4bf476c912f0c3ca292e019aab6712c93c9344a1653986c3fd305/coverage-7.10.7-cp313-cp313-win32.whl", hash = "sha256:dc7c389dce432500273eaf48f410b37886be9208b2dd5710aaf7c57fd442c698", size = 220746, upload-time = "2025-09-21T20:02:13.919Z" }, + { url = "https://files.pythonhosted.org/packages/b1/b1/a75fd25df44eab52d1931e89980d1ada46824c7a3210be0d3c88a44aaa99/coverage-7.10.7-cp313-cp313-win_amd64.whl", hash = "sha256:cac0fdca17b036af3881a9d2729a850b76553f3f716ccb0360ad4dbc06b3b843", size = 221541, upload-time = "2025-09-21T20:02:15.57Z" }, + { url = "https://files.pythonhosted.org/packages/14/3a/d720d7c989562a6e9a14b2c9f5f2876bdb38e9367126d118495b89c99c37/coverage-7.10.7-cp313-cp313-win_arm64.whl", hash = "sha256:4b6f236edf6e2f9ae8fcd1332da4e791c1b6ba0dc16a2dc94590ceccb482e546", size = 220170, upload-time = "2025-09-21T20:02:17.395Z" }, + { url = "https://files.pythonhosted.org/packages/bb/22/e04514bf2a735d8b0add31d2b4ab636fc02370730787c576bb995390d2d5/coverage-7.10.7-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a0ec07fd264d0745ee396b666d47cef20875f4ff2375d7c4f58235886cc1ef0c", size = 219029, upload-time = "2025-09-21T20:02:18.936Z" }, + { url = "https://files.pythonhosted.org/packages/11/0b/91128e099035ece15da3445d9015e4b4153a6059403452d324cbb0a575fa/coverage-7.10.7-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:dd5e856ebb7bfb7672b0086846db5afb4567a7b9714b8a0ebafd211ec7ce6a15", size = 219259, upload-time = "2025-09-21T20:02:20.44Z" }, + { url = "https://files.pythonhosted.org/packages/8b/51/66420081e72801536a091a0c8f8c1f88a5c4bf7b9b1bdc6222c7afe6dc9b/coverage-7.10.7-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f57b2a3c8353d3e04acf75b3fed57ba41f5c0646bbf1d10c7c282291c97936b4", size = 260592, upload-time = "2025-09-21T20:02:22.313Z" }, + { url = "https://files.pythonhosted.org/packages/5d/22/9b8d458c2881b22df3db5bb3e7369e63d527d986decb6c11a591ba2364f7/coverage-7.10.7-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1ef2319dd15a0b009667301a3f84452a4dc6fddfd06b0c5c53ea472d3989fbf0", size = 262768, upload-time = "2025-09-21T20:02:24.287Z" }, + { url = "https://files.pythonhosted.org/packages/f7/08/16bee2c433e60913c610ea200b276e8eeef084b0d200bdcff69920bd5828/coverage-7.10.7-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:83082a57783239717ceb0ad584de3c69cf581b2a95ed6bf81ea66034f00401c0", size = 264995, upload-time = "2025-09-21T20:02:26.133Z" }, + { url = "https://files.pythonhosted.org/packages/20/9d/e53eb9771d154859b084b90201e5221bca7674ba449a17c101a5031d4054/coverage-7.10.7-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:50aa94fb1fb9a397eaa19c0d5ec15a5edd03a47bf1a3a6111a16b36e190cff65", size = 259546, upload-time = "2025-09-21T20:02:27.716Z" }, + { url = "https://files.pythonhosted.org/packages/ad/b0/69bc7050f8d4e56a89fb550a1577d5d0d1db2278106f6f626464067b3817/coverage-7.10.7-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2120043f147bebb41c85b97ac45dd173595ff14f2a584f2963891cbcc3091541", size = 262544, upload-time = "2025-09-21T20:02:29.216Z" }, + { url = "https://files.pythonhosted.org/packages/ef/4b/2514b060dbd1bc0aaf23b852c14bb5818f244c664cb16517feff6bb3a5ab/coverage-7.10.7-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2fafd773231dd0378fdba66d339f84904a8e57a262f583530f4f156ab83863e6", size = 260308, upload-time = "2025-09-21T20:02:31.226Z" }, + { url = "https://files.pythonhosted.org/packages/54/78/7ba2175007c246d75e496f64c06e94122bdb914790a1285d627a918bd271/coverage-7.10.7-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:0b944ee8459f515f28b851728ad224fa2d068f1513ef6b7ff1efafeb2185f999", size = 258920, upload-time = "2025-09-21T20:02:32.823Z" }, + { url = "https://files.pythonhosted.org/packages/c0/b3/fac9f7abbc841409b9a410309d73bfa6cfb2e51c3fada738cb607ce174f8/coverage-7.10.7-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4b583b97ab2e3efe1b3e75248a9b333bd3f8b0b1b8e5b45578e05e5850dfb2c2", size = 261434, upload-time = "2025-09-21T20:02:34.86Z" }, + { url = "https://files.pythonhosted.org/packages/ee/51/a03bec00d37faaa891b3ff7387192cef20f01604e5283a5fabc95346befa/coverage-7.10.7-cp313-cp313t-win32.whl", hash = "sha256:2a78cd46550081a7909b3329e2266204d584866e8d97b898cd7fb5ac8d888b1a", size = 221403, upload-time = "2025-09-21T20:02:37.034Z" }, + { url = "https://files.pythonhosted.org/packages/53/22/3cf25d614e64bf6d8e59c7c669b20d6d940bb337bdee5900b9ca41c820bb/coverage-7.10.7-cp313-cp313t-win_amd64.whl", hash = "sha256:33a5e6396ab684cb43dc7befa386258acb2d7fae7f67330ebb85ba4ea27938eb", size = 222469, upload-time = "2025-09-21T20:02:39.011Z" }, + { url = "https://files.pythonhosted.org/packages/49/a1/00164f6d30d8a01c3c9c48418a7a5be394de5349b421b9ee019f380df2a0/coverage-7.10.7-cp313-cp313t-win_arm64.whl", hash = "sha256:86b0e7308289ddde73d863b7683f596d8d21c7d8664ce1dee061d0bcf3fbb4bb", size = 220731, upload-time = "2025-09-21T20:02:40.939Z" }, + { url = "https://files.pythonhosted.org/packages/23/9c/5844ab4ca6a4dd97a1850e030a15ec7d292b5c5cb93082979225126e35dd/coverage-7.10.7-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b06f260b16ead11643a5a9f955bd4b5fd76c1a4c6796aeade8520095b75de520", size = 218302, upload-time = "2025-09-21T20:02:42.527Z" }, + { url = "https://files.pythonhosted.org/packages/f0/89/673f6514b0961d1f0e20ddc242e9342f6da21eaba3489901b565c0689f34/coverage-7.10.7-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:212f8f2e0612778f09c55dd4872cb1f64a1f2b074393d139278ce902064d5b32", size = 218578, upload-time = "2025-09-21T20:02:44.468Z" }, + { url = "https://files.pythonhosted.org/packages/05/e8/261cae479e85232828fb17ad536765c88dd818c8470aca690b0ac6feeaa3/coverage-7.10.7-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3445258bcded7d4aa630ab8296dea4d3f15a255588dd535f980c193ab6b95f3f", size = 249629, upload-time = "2025-09-21T20:02:46.503Z" }, + { url = "https://files.pythonhosted.org/packages/82/62/14ed6546d0207e6eda876434e3e8475a3e9adbe32110ce896c9e0c06bb9a/coverage-7.10.7-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bb45474711ba385c46a0bfe696c695a929ae69ac636cda8f532be9e8c93d720a", size = 252162, upload-time = "2025-09-21T20:02:48.689Z" }, + { url = "https://files.pythonhosted.org/packages/ff/49/07f00db9ac6478e4358165a08fb41b469a1b053212e8a00cb02f0d27a05f/coverage-7.10.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:813922f35bd800dca9994c5971883cbc0d291128a5de6b167c7aa697fcf59360", size = 253517, upload-time = "2025-09-21T20:02:50.31Z" }, + { url = "https://files.pythonhosted.org/packages/a2/59/c5201c62dbf165dfbc91460f6dbbaa85a8b82cfa6131ac45d6c1bfb52deb/coverage-7.10.7-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:93c1b03552081b2a4423091d6fb3787265b8f86af404cff98d1b5342713bdd69", size = 249632, upload-time = "2025-09-21T20:02:51.971Z" }, + { url = "https://files.pythonhosted.org/packages/07/ae/5920097195291a51fb00b3a70b9bbd2edbfe3c84876a1762bd1ef1565ebc/coverage-7.10.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:cc87dd1b6eaf0b848eebb1c86469b9f72a1891cb42ac7adcfbce75eadb13dd14", size = 251520, upload-time = "2025-09-21T20:02:53.858Z" }, + { url = "https://files.pythonhosted.org/packages/b9/3c/a815dde77a2981f5743a60b63df31cb322c944843e57dbd579326625a413/coverage-7.10.7-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:39508ffda4f343c35f3236fe8d1a6634a51f4581226a1262769d7f970e73bffe", size = 249455, upload-time = "2025-09-21T20:02:55.807Z" }, + { url = "https://files.pythonhosted.org/packages/aa/99/f5cdd8421ea656abefb6c0ce92556709db2265c41e8f9fc6c8ae0f7824c9/coverage-7.10.7-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:925a1edf3d810537c5a3abe78ec5530160c5f9a26b1f4270b40e62cc79304a1e", size = 249287, upload-time = "2025-09-21T20:02:57.784Z" }, + { url = "https://files.pythonhosted.org/packages/c3/7a/e9a2da6a1fc5d007dd51fca083a663ab930a8c4d149c087732a5dbaa0029/coverage-7.10.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2c8b9a0636f94c43cd3576811e05b89aa9bc2d0a85137affc544ae5cb0e4bfbd", size = 250946, upload-time = "2025-09-21T20:02:59.431Z" }, + { url = "https://files.pythonhosted.org/packages/ef/5b/0b5799aa30380a949005a353715095d6d1da81927d6dbed5def2200a4e25/coverage-7.10.7-cp314-cp314-win32.whl", hash = "sha256:b7b8288eb7cdd268b0304632da8cb0bb93fadcfec2fe5712f7b9cc8f4d487be2", size = 221009, upload-time = "2025-09-21T20:03:01.324Z" }, + { url = "https://files.pythonhosted.org/packages/da/b0/e802fbb6eb746de006490abc9bb554b708918b6774b722bb3a0e6aa1b7de/coverage-7.10.7-cp314-cp314-win_amd64.whl", hash = "sha256:1ca6db7c8807fb9e755d0379ccc39017ce0a84dcd26d14b5a03b78563776f681", size = 221804, upload-time = "2025-09-21T20:03:03.4Z" }, + { url = "https://files.pythonhosted.org/packages/9e/e8/71d0c8e374e31f39e3389bb0bd19e527d46f00ea8571ec7ec8fd261d8b44/coverage-7.10.7-cp314-cp314-win_arm64.whl", hash = "sha256:097c1591f5af4496226d5783d036bf6fd6cd0cbc132e071b33861de756efb880", size = 220384, upload-time = "2025-09-21T20:03:05.111Z" }, + { url = "https://files.pythonhosted.org/packages/62/09/9a5608d319fa3eba7a2019addeacb8c746fb50872b57a724c9f79f146969/coverage-7.10.7-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:a62c6ef0d50e6de320c270ff91d9dd0a05e7250cac2a800b7784bae474506e63", size = 219047, upload-time = "2025-09-21T20:03:06.795Z" }, + { url = "https://files.pythonhosted.org/packages/f5/6f/f58d46f33db9f2e3647b2d0764704548c184e6f5e014bef528b7f979ef84/coverage-7.10.7-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:9fa6e4dd51fe15d8738708a973470f67a855ca50002294852e9571cdbd9433f2", size = 219266, upload-time = "2025-09-21T20:03:08.495Z" }, + { url = "https://files.pythonhosted.org/packages/74/5c/183ffc817ba68e0b443b8c934c8795553eb0c14573813415bd59941ee165/coverage-7.10.7-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8fb190658865565c549b6b4706856d6a7b09302c797eb2cf8e7fe9dabb043f0d", size = 260767, upload-time = "2025-09-21T20:03:10.172Z" }, + { url = "https://files.pythonhosted.org/packages/0f/48/71a8abe9c1ad7e97548835e3cc1adbf361e743e9d60310c5f75c9e7bf847/coverage-7.10.7-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:affef7c76a9ef259187ef31599a9260330e0335a3011732c4b9effa01e1cd6e0", size = 262931, upload-time = "2025-09-21T20:03:11.861Z" }, + { url = "https://files.pythonhosted.org/packages/84/fd/193a8fb132acfc0a901f72020e54be5e48021e1575bb327d8ee1097a28fd/coverage-7.10.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e16e07d85ca0cf8bafe5f5d23a0b850064e8e945d5677492b06bbe6f09cc699", size = 265186, upload-time = "2025-09-21T20:03:13.539Z" }, + { url = "https://files.pythonhosted.org/packages/b1/8f/74ecc30607dd95ad50e3034221113ccb1c6d4e8085cc761134782995daae/coverage-7.10.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:03ffc58aacdf65d2a82bbeb1ffe4d01ead4017a21bfd0454983b88ca73af94b9", size = 259470, upload-time = "2025-09-21T20:03:15.584Z" }, + { url = "https://files.pythonhosted.org/packages/0f/55/79ff53a769f20d71b07023ea115c9167c0bb56f281320520cf64c5298a96/coverage-7.10.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1b4fd784344d4e52647fd7857b2af5b3fbe6c239b0b5fa63e94eb67320770e0f", size = 262626, upload-time = "2025-09-21T20:03:17.673Z" }, + { url = "https://files.pythonhosted.org/packages/88/e2/dac66c140009b61ac3fc13af673a574b00c16efdf04f9b5c740703e953c0/coverage-7.10.7-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:0ebbaddb2c19b71912c6f2518e791aa8b9f054985a0769bdb3a53ebbc765c6a1", size = 260386, upload-time = "2025-09-21T20:03:19.36Z" }, + { url = "https://files.pythonhosted.org/packages/a2/f1/f48f645e3f33bb9ca8a496bc4a9671b52f2f353146233ebd7c1df6160440/coverage-7.10.7-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:a2d9a3b260cc1d1dbdb1c582e63ddcf5363426a1a68faa0f5da28d8ee3c722a0", size = 258852, upload-time = "2025-09-21T20:03:21.007Z" }, + { url = "https://files.pythonhosted.org/packages/bb/3b/8442618972c51a7affeead957995cfa8323c0c9bcf8fa5a027421f720ff4/coverage-7.10.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a3cc8638b2480865eaa3926d192e64ce6c51e3d29c849e09d5b4ad95efae5399", size = 261534, upload-time = "2025-09-21T20:03:23.12Z" }, + { url = "https://files.pythonhosted.org/packages/b2/dc/101f3fa3a45146db0cb03f5b4376e24c0aac818309da23e2de0c75295a91/coverage-7.10.7-cp314-cp314t-win32.whl", hash = "sha256:67f8c5cbcd3deb7a60b3345dffc89a961a484ed0af1f6f73de91705cc6e31235", size = 221784, upload-time = "2025-09-21T20:03:24.769Z" }, + { url = "https://files.pythonhosted.org/packages/4c/a1/74c51803fc70a8a40d7346660379e144be772bab4ac7bb6e6b905152345c/coverage-7.10.7-cp314-cp314t-win_amd64.whl", hash = "sha256:e1ed71194ef6dea7ed2d5cb5f7243d4bcd334bfb63e59878519be558078f848d", size = 222905, upload-time = "2025-09-21T20:03:26.93Z" }, + { url = "https://files.pythonhosted.org/packages/12/65/f116a6d2127df30bcafbceef0302d8a64ba87488bf6f73a6d8eebf060873/coverage-7.10.7-cp314-cp314t-win_arm64.whl", hash = "sha256:7fe650342addd8524ca63d77b2362b02345e5f1a093266787d210c70a50b471a", size = 220922, upload-time = "2025-09-21T20:03:28.672Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ad/d1c25053764b4c42eb294aae92ab617d2e4f803397f9c7c8295caa77a260/coverage-7.10.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fff7b9c3f19957020cac546c70025331113d2e61537f6e2441bc7657913de7d3", size = 217978, upload-time = "2025-09-21T20:03:30.362Z" }, + { url = "https://files.pythonhosted.org/packages/52/2f/b9f9daa39b80ece0b9548bbb723381e29bc664822d9a12c2135f8922c22b/coverage-7.10.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bc91b314cef27742da486d6839b677b3f2793dfe52b51bbbb7cf736d5c29281c", size = 218370, upload-time = "2025-09-21T20:03:32.147Z" }, + { url = "https://files.pythonhosted.org/packages/dd/6e/30d006c3b469e58449650642383dddf1c8fb63d44fdf92994bfd46570695/coverage-7.10.7-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:567f5c155eda8df1d3d439d40a45a6a5f029b429b06648235f1e7e51b522b396", size = 244802, upload-time = "2025-09-21T20:03:33.919Z" }, + { url = "https://files.pythonhosted.org/packages/b0/49/8a070782ce7e6b94ff6a0b6d7c65ba6bc3091d92a92cef4cd4eb0767965c/coverage-7.10.7-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2af88deffcc8a4d5974cf2d502251bc3b2db8461f0b66d80a449c33757aa9f40", size = 246625, upload-time = "2025-09-21T20:03:36.09Z" }, + { url = "https://files.pythonhosted.org/packages/6a/92/1c1c5a9e8677ce56d42b97bdaca337b2d4d9ebe703d8c174ede52dbabd5f/coverage-7.10.7-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7315339eae3b24c2d2fa1ed7d7a38654cba34a13ef19fbcb9425da46d3dc594", size = 248399, upload-time = "2025-09-21T20:03:38.342Z" }, + { url = "https://files.pythonhosted.org/packages/c0/54/b140edee7257e815de7426d5d9846b58505dffc29795fff2dfb7f8a1c5a0/coverage-7.10.7-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:912e6ebc7a6e4adfdbb1aec371ad04c68854cd3bf3608b3514e7ff9062931d8a", size = 245142, upload-time = "2025-09-21T20:03:40.591Z" }, + { url = "https://files.pythonhosted.org/packages/e4/9e/6d6b8295940b118e8b7083b29226c71f6154f7ff41e9ca431f03de2eac0d/coverage-7.10.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f49a05acd3dfe1ce9715b657e28d138578bc40126760efb962322c56e9ca344b", size = 246284, upload-time = "2025-09-21T20:03:42.355Z" }, + { url = "https://files.pythonhosted.org/packages/db/e5/5e957ca747d43dbe4d9714358375c7546cb3cb533007b6813fc20fce37ad/coverage-7.10.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cce2109b6219f22ece99db7644b9622f54a4e915dad65660ec435e89a3ea7cc3", size = 244353, upload-time = "2025-09-21T20:03:44.218Z" }, + { url = "https://files.pythonhosted.org/packages/9a/45/540fc5cc92536a1b783b7ef99450bd55a4b3af234aae35a18a339973ce30/coverage-7.10.7-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:f3c887f96407cea3916294046fc7dab611c2552beadbed4ea901cbc6a40cc7a0", size = 244430, upload-time = "2025-09-21T20:03:46.065Z" }, + { url = "https://files.pythonhosted.org/packages/75/0b/8287b2e5b38c8fe15d7e3398849bb58d382aedc0864ea0fa1820e8630491/coverage-7.10.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:635adb9a4507c9fd2ed65f39693fa31c9a3ee3a8e6dc64df033e8fdf52a7003f", size = 245311, upload-time = "2025-09-21T20:03:48.19Z" }, + { url = "https://files.pythonhosted.org/packages/0c/1d/29724999984740f0c86d03e6420b942439bf5bd7f54d4382cae386a9d1e9/coverage-7.10.7-cp39-cp39-win32.whl", hash = "sha256:5a02d5a850e2979b0a014c412573953995174743a3f7fa4ea5a6e9a3c5617431", size = 220500, upload-time = "2025-09-21T20:03:50.024Z" }, + { url = "https://files.pythonhosted.org/packages/43/11/4b1e6b129943f905ca54c339f343877b55b365ae2558806c1be4f7476ed5/coverage-7.10.7-cp39-cp39-win_amd64.whl", hash = "sha256:c134869d5ffe34547d14e174c866fd8fe2254918cc0a95e99052903bc1543e07", size = 221408, upload-time = "2025-09-21T20:03:51.803Z" }, + { url = "https://files.pythonhosted.org/packages/ec/16/114df1c291c22cac3b0c127a73e0af5c12ed7bbb6558d310429a0ae24023/coverage-7.10.7-py3-none-any.whl", hash = "sha256:f7941f6f2fe6dd6807a1208737b8a0cbcf1cc6d7b07d24998ad2d63590868260", size = 209952, upload-time = "2025-09-21T20:03:53.918Z" }, +] + +[[package]] +name = "coverage" +version = "7.13.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/24/56/95b7e30fa389756cb56630faa728da46a27b8c6eb46f9d557c68fff12b65/coverage-7.13.4.tar.gz", hash = "sha256:e5c8f6ed1e61a8b2dcdf31eb0b9bbf0130750ca79c1c49eb898e2ad86f5ccc91", size = 827239, upload-time = "2026-02-09T12:59:03.86Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/44/d4/7827d9ffa34d5d4d752eec907022aa417120936282fc488306f5da08c292/coverage-7.13.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0fc31c787a84f8cd6027eba44010517020e0d18487064cd3d8968941856d1415", size = 219152, upload-time = "2026-02-09T12:56:11.974Z" }, + { url = "https://files.pythonhosted.org/packages/35/b0/d69df26607c64043292644dbb9dc54b0856fabaa2cbb1eeee3331cc9e280/coverage-7.13.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a32ebc02a1805adf637fc8dec324b5cdacd2e493515424f70ee33799573d661b", size = 219667, upload-time = "2026-02-09T12:56:13.33Z" }, + { url = "https://files.pythonhosted.org/packages/82/a4/c1523f7c9e47b2271dbf8c2a097e7a1f89ef0d66f5840bb59b7e8814157b/coverage-7.13.4-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:e24f9156097ff9dc286f2f913df3a7f63c0e333dcafa3c196f2c18b4175ca09a", size = 246425, upload-time = "2026-02-09T12:56:14.552Z" }, + { url = "https://files.pythonhosted.org/packages/f8/02/aa7ec01d1a5023c4b680ab7257f9bfde9defe8fdddfe40be096ac19e8177/coverage-7.13.4-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8041b6c5bfdc03257666e9881d33b1abc88daccaf73f7b6340fb7946655cd10f", size = 248229, upload-time = "2026-02-09T12:56:16.31Z" }, + { url = "https://files.pythonhosted.org/packages/35/98/85aba0aed5126d896162087ef3f0e789a225697245256fc6181b95f47207/coverage-7.13.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2a09cfa6a5862bc2fc6ca7c3def5b2926194a56b8ab78ffcf617d28911123012", size = 250106, upload-time = "2026-02-09T12:56:18.024Z" }, + { url = "https://files.pythonhosted.org/packages/96/72/1db59bd67494bc162e3e4cd5fbc7edba2c7026b22f7c8ef1496d58c2b94c/coverage-7.13.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:296f8b0af861d3970c2a4d8c91d48eb4dd4771bcef9baedec6a9b515d7de3def", size = 252021, upload-time = "2026-02-09T12:56:19.272Z" }, + { url = "https://files.pythonhosted.org/packages/9d/97/72899c59c7066961de6e3daa142d459d47d104956db43e057e034f015c8a/coverage-7.13.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e101609bcbbfb04605ea1027b10dc3735c094d12d40826a60f897b98b1c30256", size = 247114, upload-time = "2026-02-09T12:56:21.051Z" }, + { url = "https://files.pythonhosted.org/packages/39/1f/f1885573b5970235e908da4389176936c8933e86cb316b9620aab1585fa2/coverage-7.13.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:aa3feb8db2e87ff5e6d00d7e1480ae241876286691265657b500886c98f38bda", size = 248143, upload-time = "2026-02-09T12:56:22.585Z" }, + { url = "https://files.pythonhosted.org/packages/a8/cf/e80390c5b7480b722fa3e994f8202807799b85bc562aa4f1dde209fbb7be/coverage-7.13.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:4fc7fa81bbaf5a02801b65346c8b3e657f1d93763e58c0abdf7c992addd81a92", size = 246152, upload-time = "2026-02-09T12:56:23.748Z" }, + { url = "https://files.pythonhosted.org/packages/44/bf/f89a8350d85572f95412debb0fb9bb4795b1d5b5232bd652923c759e787b/coverage-7.13.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:33901f604424145c6e9c2398684b92e176c0b12df77d52db81c20abd48c3794c", size = 249959, upload-time = "2026-02-09T12:56:25.209Z" }, + { url = "https://files.pythonhosted.org/packages/f7/6e/612a02aece8178c818df273e8d1642190c4875402ca2ba74514394b27aba/coverage-7.13.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:bb28c0f2cf2782508a40cec377935829d5fcc3ad9a3681375af4e84eb34b6b58", size = 246416, upload-time = "2026-02-09T12:56:26.475Z" }, + { url = "https://files.pythonhosted.org/packages/cb/98/b5afc39af67c2fa6786b03c3a7091fc300947387ce8914b096db8a73d67a/coverage-7.13.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9d107aff57a83222ddbd8d9ee705ede2af2cc926608b57abed8ef96b50b7e8f9", size = 247025, upload-time = "2026-02-09T12:56:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/51/30/2bba8ef0682d5bd210c38fe497e12a06c9f8d663f7025e9f5c2c31ce847d/coverage-7.13.4-cp310-cp310-win32.whl", hash = "sha256:a6f94a7d00eb18f1b6d403c91a88fd58cfc92d4b16080dfdb774afc8294469bf", size = 221758, upload-time = "2026-02-09T12:56:29.051Z" }, + { url = "https://files.pythonhosted.org/packages/78/13/331f94934cf6c092b8ea59ff868eb587bc8fe0893f02c55bc6c0183a192e/coverage-7.13.4-cp310-cp310-win_amd64.whl", hash = "sha256:2cb0f1e000ebc419632bbe04366a8990b6e32c4e0b51543a6484ffe15eaeda95", size = 222693, upload-time = "2026-02-09T12:56:30.366Z" }, + { url = "https://files.pythonhosted.org/packages/b4/ad/b59e5b451cf7172b8d1043dc0fa718f23aab379bc1521ee13d4bd9bfa960/coverage-7.13.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d490ba50c3f35dd7c17953c68f3270e7ccd1c6642e2d2afe2d8e720b98f5a053", size = 219278, upload-time = "2026-02-09T12:56:31.673Z" }, + { url = "https://files.pythonhosted.org/packages/f1/17/0cb7ca3de72e5f4ef2ec2fa0089beafbcaaaead1844e8b8a63d35173d77d/coverage-7.13.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:19bc3c88078789f8ef36acb014d7241961dbf883fd2533d18cb1e7a5b4e28b11", size = 219783, upload-time = "2026-02-09T12:56:33.104Z" }, + { url = "https://files.pythonhosted.org/packages/ab/63/325d8e5b11e0eaf6d0f6a44fad444ae58820929a9b0de943fa377fe73e85/coverage-7.13.4-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3998e5a32e62fdf410c0dbd3115df86297995d6e3429af80b8798aad894ca7aa", size = 250200, upload-time = "2026-02-09T12:56:34.474Z" }, + { url = "https://files.pythonhosted.org/packages/76/53/c16972708cbb79f2942922571a687c52bd109a7bd51175aeb7558dff2236/coverage-7.13.4-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8e264226ec98e01a8e1054314af91ee6cde0eacac4f465cc93b03dbe0bce2fd7", size = 252114, upload-time = "2026-02-09T12:56:35.749Z" }, + { url = "https://files.pythonhosted.org/packages/eb/c2/7ab36d8b8cc412bec9ea2d07c83c48930eb4ba649634ba00cb7e4e0f9017/coverage-7.13.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a3aa4e7b9e416774b21797365b358a6e827ffadaaca81b69ee02946852449f00", size = 254220, upload-time = "2026-02-09T12:56:37.796Z" }, + { url = "https://files.pythonhosted.org/packages/d6/4d/cf52c9a3322c89a0e6febdfbc83bb45c0ed3c64ad14081b9503adee702e7/coverage-7.13.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:71ca20079dd8f27fcf808817e281e90220475cd75115162218d0e27549f95fef", size = 256164, upload-time = "2026-02-09T12:56:39.016Z" }, + { url = "https://files.pythonhosted.org/packages/78/e9/eb1dd17bd6de8289df3580e967e78294f352a5df8a57ff4671ee5fc3dcd0/coverage-7.13.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e2f25215f1a359ab17320b47bcdaca3e6e6356652e8256f2441e4ef972052903", size = 250325, upload-time = "2026-02-09T12:56:40.668Z" }, + { url = "https://files.pythonhosted.org/packages/71/07/8c1542aa873728f72267c07278c5cc0ec91356daf974df21335ccdb46368/coverage-7.13.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d65b2d373032411e86960604dc4edac91fdfb5dca539461cf2cbe78327d1e64f", size = 251913, upload-time = "2026-02-09T12:56:41.97Z" }, + { url = "https://files.pythonhosted.org/packages/74/d7/c62e2c5e4483a748e27868e4c32ad3daa9bdddbba58e1bc7a15e252baa74/coverage-7.13.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:94eb63f9b363180aff17de3e7c8760c3ba94664ea2695c52f10111244d16a299", size = 249974, upload-time = "2026-02-09T12:56:43.323Z" }, + { url = "https://files.pythonhosted.org/packages/98/9f/4c5c015a6e98ced54efd0f5cf8d31b88e5504ecb6857585fc0161bb1e600/coverage-7.13.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e856bf6616714c3a9fbc270ab54103f4e685ba236fa98c054e8f87f266c93505", size = 253741, upload-time = "2026-02-09T12:56:45.155Z" }, + { url = "https://files.pythonhosted.org/packages/bd/59/0f4eef89b9f0fcd9633b5d350016f54126ab49426a70ff4c4e87446cabdc/coverage-7.13.4-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:65dfcbe305c3dfe658492df2d85259e0d79ead4177f9ae724b6fb245198f55d6", size = 249695, upload-time = "2026-02-09T12:56:46.636Z" }, + { url = "https://files.pythonhosted.org/packages/b5/2c/b7476f938deb07166f3eb281a385c262675d688ff4659ad56c6c6b8e2e70/coverage-7.13.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b507778ae8a4c915436ed5c2e05b4a6cecfa70f734e19c22a005152a11c7b6a9", size = 250599, upload-time = "2026-02-09T12:56:48.13Z" }, + { url = "https://files.pythonhosted.org/packages/b8/34/c3420709d9846ee3785b9f2831b4d94f276f38884032dca1457fa83f7476/coverage-7.13.4-cp311-cp311-win32.whl", hash = "sha256:784fc3cf8be001197b652d51d3fd259b1e2262888693a4636e18879f613a62a9", size = 221780, upload-time = "2026-02-09T12:56:50.479Z" }, + { url = "https://files.pythonhosted.org/packages/61/08/3d9c8613079d2b11c185b865de9a4c1a68850cfda2b357fae365cf609f29/coverage-7.13.4-cp311-cp311-win_amd64.whl", hash = "sha256:2421d591f8ca05b308cf0092807308b2facbefe54af7c02ac22548b88b95c98f", size = 222715, upload-time = "2026-02-09T12:56:51.815Z" }, + { url = "https://files.pythonhosted.org/packages/18/1a/54c3c80b2f056164cc0a6cdcb040733760c7c4be9d780fe655f356f433e4/coverage-7.13.4-cp311-cp311-win_arm64.whl", hash = "sha256:79e73a76b854d9c6088fe5d8b2ebe745f8681c55f7397c3c0a016192d681045f", size = 221385, upload-time = "2026-02-09T12:56:53.194Z" }, + { url = "https://files.pythonhosted.org/packages/d1/81/4ce2fdd909c5a0ed1f6dedb88aa57ab79b6d1fbd9b588c1ac7ef45659566/coverage-7.13.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:02231499b08dabbe2b96612993e5fc34217cdae907a51b906ac7fca8027a4459", size = 219449, upload-time = "2026-02-09T12:56:54.889Z" }, + { url = "https://files.pythonhosted.org/packages/5d/96/5238b1efc5922ddbdc9b0db9243152c09777804fb7c02ad1741eb18a11c0/coverage-7.13.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40aa8808140e55dc022b15d8aa7f651b6b3d68b365ea0398f1441e0b04d859c3", size = 219810, upload-time = "2026-02-09T12:56:56.33Z" }, + { url = "https://files.pythonhosted.org/packages/78/72/2f372b726d433c9c35e56377cf1d513b4c16fe51841060d826b95caacec1/coverage-7.13.4-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5b856a8ccf749480024ff3bd7310adaef57bf31fd17e1bfc404b7940b6986634", size = 251308, upload-time = "2026-02-09T12:56:57.858Z" }, + { url = "https://files.pythonhosted.org/packages/5d/a0/2ea570925524ef4e00bb6c82649f5682a77fac5ab910a65c9284de422600/coverage-7.13.4-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2c048ea43875fbf8b45d476ad79f179809c590ec7b79e2035c662e7afa3192e3", size = 254052, upload-time = "2026-02-09T12:56:59.754Z" }, + { url = "https://files.pythonhosted.org/packages/e8/ac/45dc2e19a1939098d783c846e130b8f862fbb50d09e0af663988f2f21973/coverage-7.13.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b7b38448866e83176e28086674fe7368ab8590e4610fb662b44e345b86d63ffa", size = 255165, upload-time = "2026-02-09T12:57:01.287Z" }, + { url = "https://files.pythonhosted.org/packages/2d/4d/26d236ff35abc3b5e63540d3386e4c3b192168c1d96da5cb2f43c640970f/coverage-7.13.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:de6defc1c9badbf8b9e67ae90fd00519186d6ab64e5cc5f3d21359c2a9b2c1d3", size = 257432, upload-time = "2026-02-09T12:57:02.637Z" }, + { url = "https://files.pythonhosted.org/packages/ec/55/14a966c757d1348b2e19caf699415a2a4c4f7feaa4bbc6326a51f5c7dd1b/coverage-7.13.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7eda778067ad7ffccd23ecffce537dface96212576a07924cbf0d8799d2ded5a", size = 251716, upload-time = "2026-02-09T12:57:04.056Z" }, + { url = "https://files.pythonhosted.org/packages/77/33/50116647905837c66d28b2af1321b845d5f5d19be9655cb84d4a0ea806b4/coverage-7.13.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e87f6c587c3f34356c3759f0420693e35e7eb0e2e41e4c011cb6ec6ecbbf1db7", size = 253089, upload-time = "2026-02-09T12:57:05.503Z" }, + { url = "https://files.pythonhosted.org/packages/c2/b4/8efb11a46e3665d92635a56e4f2d4529de6d33f2cb38afd47d779d15fc99/coverage-7.13.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:8248977c2e33aecb2ced42fef99f2d319e9904a36e55a8a68b69207fb7e43edc", size = 251232, upload-time = "2026-02-09T12:57:06.879Z" }, + { url = "https://files.pythonhosted.org/packages/51/24/8cd73dd399b812cc76bb0ac260e671c4163093441847ffe058ac9fda1e32/coverage-7.13.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:25381386e80ae727608e662474db537d4df1ecd42379b5ba33c84633a2b36d47", size = 255299, upload-time = "2026-02-09T12:57:08.245Z" }, + { url = "https://files.pythonhosted.org/packages/03/94/0a4b12f1d0e029ce1ccc1c800944a9984cbe7d678e470bb6d3c6bc38a0da/coverage-7.13.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:ee756f00726693e5ba94d6df2bdfd64d4852d23b09bb0bc700e3b30e6f333985", size = 250796, upload-time = "2026-02-09T12:57:10.142Z" }, + { url = "https://files.pythonhosted.org/packages/73/44/6002fbf88f6698ca034360ce474c406be6d5a985b3fdb3401128031eef6b/coverage-7.13.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fdfc1e28e7c7cdce44985b3043bc13bbd9c747520f94a4d7164af8260b3d91f0", size = 252673, upload-time = "2026-02-09T12:57:12.197Z" }, + { url = "https://files.pythonhosted.org/packages/de/c6/a0279f7c00e786be75a749a5674e6fa267bcbd8209cd10c9a450c655dfa7/coverage-7.13.4-cp312-cp312-win32.whl", hash = "sha256:01d4cbc3c283a17fc1e42d614a119f7f438eabb593391283adca8dc86eff1246", size = 221990, upload-time = "2026-02-09T12:57:14.085Z" }, + { url = "https://files.pythonhosted.org/packages/77/4e/c0a25a425fcf5557d9abd18419c95b63922e897bc86c1f327f155ef234a9/coverage-7.13.4-cp312-cp312-win_amd64.whl", hash = "sha256:9401ebc7ef522f01d01d45532c68c5ac40fb27113019b6b7d8b208f6e9baa126", size = 222800, upload-time = "2026-02-09T12:57:15.944Z" }, + { url = "https://files.pythonhosted.org/packages/47/ac/92da44ad9a6f4e3a7debd178949d6f3769bedca33830ce9b1dcdab589a37/coverage-7.13.4-cp312-cp312-win_arm64.whl", hash = "sha256:b1ec7b6b6e93255f952e27ab58fbc68dcc468844b16ecbee881aeb29b6ab4d8d", size = 221415, upload-time = "2026-02-09T12:57:17.497Z" }, + { url = "https://files.pythonhosted.org/packages/db/23/aad45061a31677d68e47499197a131eea55da4875d16c1f42021ab963503/coverage-7.13.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b66a2da594b6068b48b2692f043f35d4d3693fb639d5ea8b39533c2ad9ac3ab9", size = 219474, upload-time = "2026-02-09T12:57:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/a5/70/9b8b67a0945f3dfec1fd896c5cefb7c19d5a3a6d74630b99a895170999ae/coverage-7.13.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3599eb3992d814d23b35c536c28df1a882caa950f8f507cef23d1cbf334995ac", size = 219844, upload-time = "2026-02-09T12:57:20.66Z" }, + { url = "https://files.pythonhosted.org/packages/97/fd/7e859f8fab324cef6c4ad7cff156ca7c489fef9179d5749b0c8d321281c2/coverage-7.13.4-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:93550784d9281e374fb5a12bf1324cc8a963fd63b2d2f223503ef0fd4aa339ea", size = 250832, upload-time = "2026-02-09T12:57:22.007Z" }, + { url = "https://files.pythonhosted.org/packages/e4/dc/b2442d10020c2f52617828862d8b6ee337859cd8f3a1f13d607dddda9cf7/coverage-7.13.4-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b720ce6a88a2755f7c697c23268ddc47a571b88052e6b155224347389fdf6a3b", size = 253434, upload-time = "2026-02-09T12:57:23.339Z" }, + { url = "https://files.pythonhosted.org/packages/5a/88/6728a7ad17428b18d836540630487231f5470fb82454871149502f5e5aa2/coverage-7.13.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7b322db1284a2ed3aa28ffd8ebe3db91c929b7a333c0820abec3d838ef5b3525", size = 254676, upload-time = "2026-02-09T12:57:24.774Z" }, + { url = "https://files.pythonhosted.org/packages/7c/bc/21244b1b8cedf0dff0a2b53b208015fe798d5f2a8d5348dbfece04224fff/coverage-7.13.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f4594c67d8a7c89cf922d9df0438c7c7bb022ad506eddb0fdb2863359ff78242", size = 256807, upload-time = "2026-02-09T12:57:26.125Z" }, + { url = "https://files.pythonhosted.org/packages/97/a0/ddba7ed3251cff51006737a727d84e05b61517d1784a9988a846ba508877/coverage-7.13.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:53d133df809c743eb8bce33b24bcababb371f4441340578cd406e084d94a6148", size = 251058, upload-time = "2026-02-09T12:57:27.614Z" }, + { url = "https://files.pythonhosted.org/packages/9b/55/e289addf7ff54d3a540526f33751951bf0878f3809b47f6dfb3def69c6f7/coverage-7.13.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:76451d1978b95ba6507a039090ba076105c87cc76fc3efd5d35d72093964d49a", size = 252805, upload-time = "2026-02-09T12:57:29.066Z" }, + { url = "https://files.pythonhosted.org/packages/13/4e/cc276b1fa4a59be56d96f1dabddbdc30f4ba22e3b1cd42504c37b3313255/coverage-7.13.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7f57b33491e281e962021de110b451ab8a24182589be17e12a22c79047935e23", size = 250766, upload-time = "2026-02-09T12:57:30.522Z" }, + { url = "https://files.pythonhosted.org/packages/94/44/1093b8f93018f8b41a8cf29636c9292502f05e4a113d4d107d14a3acd044/coverage-7.13.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:1731dc33dc276dafc410a885cbf5992f1ff171393e48a21453b78727d090de80", size = 254923, upload-time = "2026-02-09T12:57:31.946Z" }, + { url = "https://files.pythonhosted.org/packages/8b/55/ea2796da2d42257f37dbea1aab239ba9263b31bd91d5527cdd6db5efe174/coverage-7.13.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:bd60d4fe2f6fa7dff9223ca1bbc9f05d2b6697bc5961072e5d3b952d46e1b1ea", size = 250591, upload-time = "2026-02-09T12:57:33.842Z" }, + { url = "https://files.pythonhosted.org/packages/d4/fa/7c4bb72aacf8af5020675aa633e59c1fbe296d22aed191b6a5b711eb2bc7/coverage-7.13.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9181a3ccead280b828fae232df12b16652702b49d41e99d657f46cc7b1f6ec7a", size = 252364, upload-time = "2026-02-09T12:57:35.743Z" }, + { url = "https://files.pythonhosted.org/packages/5c/38/a8d2ec0146479c20bbaa7181b5b455a0c41101eed57f10dd19a78ab44c80/coverage-7.13.4-cp313-cp313-win32.whl", hash = "sha256:f53d492307962561ac7de4cd1de3e363589b000ab69617c6156a16ba7237998d", size = 222010, upload-time = "2026-02-09T12:57:37.25Z" }, + { url = "https://files.pythonhosted.org/packages/e2/0c/dbfafbe90a185943dcfbc766fe0e1909f658811492d79b741523a414a6cc/coverage-7.13.4-cp313-cp313-win_amd64.whl", hash = "sha256:e6f70dec1cc557e52df5306d051ef56003f74d56e9c4dd7ddb07e07ef32a84dd", size = 222818, upload-time = "2026-02-09T12:57:38.734Z" }, + { url = "https://files.pythonhosted.org/packages/04/d1/934918a138c932c90d78301f45f677fb05c39a3112b96fd2c8e60503cdc7/coverage-7.13.4-cp313-cp313-win_arm64.whl", hash = "sha256:fb07dc5da7e849e2ad31a5d74e9bece81f30ecf5a42909d0a695f8bd1874d6af", size = 221438, upload-time = "2026-02-09T12:57:40.223Z" }, + { url = "https://files.pythonhosted.org/packages/52/57/ee93ced533bcb3e6df961c0c6e42da2fc6addae53fb95b94a89b1e33ebd7/coverage-7.13.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:40d74da8e6c4b9ac18b15331c4b5ebc35a17069410cad462ad4f40dcd2d50c0d", size = 220165, upload-time = "2026-02-09T12:57:41.639Z" }, + { url = "https://files.pythonhosted.org/packages/c5/e0/969fc285a6fbdda49d91af278488d904dcd7651b2693872f0ff94e40e84a/coverage-7.13.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4223b4230a376138939a9173f1bdd6521994f2aff8047fae100d6d94d50c5a12", size = 220516, upload-time = "2026-02-09T12:57:44.215Z" }, + { url = "https://files.pythonhosted.org/packages/b1/b8/9531944e16267e2735a30a9641ff49671f07e8138ecf1ca13db9fd2560c7/coverage-7.13.4-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1d4be36a5114c499f9f1f9195e95ebf979460dbe2d88e6816ea202010ba1c34b", size = 261804, upload-time = "2026-02-09T12:57:45.989Z" }, + { url = "https://files.pythonhosted.org/packages/8a/f3/e63df6d500314a2a60390d1989240d5f27318a7a68fa30ad3806e2a9323e/coverage-7.13.4-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:200dea7d1e8095cc6e98cdabe3fd1d21ab17d3cee6dab00cadbb2fe35d9c15b9", size = 263885, upload-time = "2026-02-09T12:57:47.42Z" }, + { url = "https://files.pythonhosted.org/packages/f3/67/7654810de580e14b37670b60a09c599fa348e48312db5b216d730857ffe6/coverage-7.13.4-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b8eb931ee8e6d8243e253e5ed7336deea6904369d2fd8ae6e43f68abbf167092", size = 266308, upload-time = "2026-02-09T12:57:49.345Z" }, + { url = "https://files.pythonhosted.org/packages/37/6f/39d41eca0eab3cc82115953ad41c4e77935286c930e8fad15eaed1389d83/coverage-7.13.4-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:75eab1ebe4f2f64d9509b984f9314d4aa788540368218b858dad56dc8f3e5eb9", size = 267452, upload-time = "2026-02-09T12:57:50.811Z" }, + { url = "https://files.pythonhosted.org/packages/50/6d/39c0fbb8fc5cd4d2090811e553c2108cf5112e882f82505ee7495349a6bf/coverage-7.13.4-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c35eb28c1d085eb7d8c9b3296567a1bebe03ce72962e932431b9a61f28facf26", size = 261057, upload-time = "2026-02-09T12:57:52.447Z" }, + { url = "https://files.pythonhosted.org/packages/a4/a2/60010c669df5fa603bb5a97fb75407e191a846510da70ac657eb696b7fce/coverage-7.13.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:eb88b316ec33760714a4720feb2816a3a59180fd58c1985012054fa7aebee4c2", size = 263875, upload-time = "2026-02-09T12:57:53.938Z" }, + { url = "https://files.pythonhosted.org/packages/3e/d9/63b22a6bdbd17f1f96e9ed58604c2a6b0e72a9133e37d663bef185877cf6/coverage-7.13.4-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7d41eead3cc673cbd38a4417deb7fd0b4ca26954ff7dc6078e33f6ff97bed940", size = 261500, upload-time = "2026-02-09T12:57:56.012Z" }, + { url = "https://files.pythonhosted.org/packages/70/bf/69f86ba1ad85bc3ad240e4c0e57a2e620fbc0e1645a47b5c62f0e941ad7f/coverage-7.13.4-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:fb26a934946a6afe0e326aebe0730cdff393a8bc0bbb65a2f41e30feddca399c", size = 265212, upload-time = "2026-02-09T12:57:57.5Z" }, + { url = "https://files.pythonhosted.org/packages/ae/f2/5f65a278a8c2148731831574c73e42f57204243d33bedaaf18fa79c5958f/coverage-7.13.4-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:dae88bc0fc77edaa65c14be099bd57ee140cf507e6bfdeea7938457ab387efb0", size = 260398, upload-time = "2026-02-09T12:57:59.027Z" }, + { url = "https://files.pythonhosted.org/packages/ef/80/6e8280a350ee9fea92f14b8357448a242dcaa243cb2c72ab0ca591f66c8c/coverage-7.13.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:845f352911777a8e722bfce168958214951e07e47e5d5d9744109fa5fe77f79b", size = 262584, upload-time = "2026-02-09T12:58:01.129Z" }, + { url = "https://files.pythonhosted.org/packages/22/63/01ff182fc95f260b539590fb12c11ad3e21332c15f9799cb5e2386f71d9f/coverage-7.13.4-cp313-cp313t-win32.whl", hash = "sha256:2fa8d5f8de70688a28240de9e139fa16b153cc3cbb01c5f16d88d6505ebdadf9", size = 222688, upload-time = "2026-02-09T12:58:02.736Z" }, + { url = "https://files.pythonhosted.org/packages/a9/43/89de4ef5d3cd53b886afa114065f7e9d3707bdb3e5efae13535b46ae483d/coverage-7.13.4-cp313-cp313t-win_amd64.whl", hash = "sha256:9351229c8c8407645840edcc277f4a2d44814d1bc34a2128c11c2a031d45a5dd", size = 223746, upload-time = "2026-02-09T12:58:05.362Z" }, + { url = "https://files.pythonhosted.org/packages/35/39/7cf0aa9a10d470a5309b38b289b9bb07ddeac5d61af9b664fe9775a4cb3e/coverage-7.13.4-cp313-cp313t-win_arm64.whl", hash = "sha256:30b8d0512f2dc8c8747557e8fb459d6176a2c9e5731e2b74d311c03b78451997", size = 222003, upload-time = "2026-02-09T12:58:06.952Z" }, + { url = "https://files.pythonhosted.org/packages/92/11/a9cf762bb83386467737d32187756a42094927150c3e107df4cb078e8590/coverage-7.13.4-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:300deaee342f90696ed186e3a00c71b5b3d27bffe9e827677954f4ee56969601", size = 219522, upload-time = "2026-02-09T12:58:08.623Z" }, + { url = "https://files.pythonhosted.org/packages/d3/28/56e6d892b7b052236d67c95f1936b6a7cf7c3e2634bf27610b8cbd7f9c60/coverage-7.13.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:29e3220258d682b6226a9b0925bc563ed9a1ebcff3cad30f043eceea7eaf2689", size = 219855, upload-time = "2026-02-09T12:58:10.176Z" }, + { url = "https://files.pythonhosted.org/packages/e5/69/233459ee9eb0c0d10fcc2fe425a029b3fa5ce0f040c966ebce851d030c70/coverage-7.13.4-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:391ee8f19bef69210978363ca930f7328081c6a0152f1166c91f0b5fdd2a773c", size = 250887, upload-time = "2026-02-09T12:58:12.503Z" }, + { url = "https://files.pythonhosted.org/packages/06/90/2cdab0974b9b5bbc1623f7876b73603aecac11b8d95b85b5b86b32de5eab/coverage-7.13.4-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:0dd7ab8278f0d58a0128ba2fca25824321f05d059c1441800e934ff2efa52129", size = 253396, upload-time = "2026-02-09T12:58:14.615Z" }, + { url = "https://files.pythonhosted.org/packages/ac/15/ea4da0f85bf7d7b27635039e649e99deb8173fe551096ea15017f7053537/coverage-7.13.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:78cdf0d578b15148b009ccf18c686aa4f719d887e76e6b40c38ffb61d264a552", size = 254745, upload-time = "2026-02-09T12:58:16.162Z" }, + { url = "https://files.pythonhosted.org/packages/99/11/bb356e86920c655ca4d61daee4e2bbc7258f0a37de0be32d233b561134ff/coverage-7.13.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:48685fee12c2eb3b27c62f2658e7ea21e9c3239cba5a8a242801a0a3f6a8c62a", size = 257055, upload-time = "2026-02-09T12:58:17.892Z" }, + { url = "https://files.pythonhosted.org/packages/c9/0f/9ae1f8cb17029e09da06ca4e28c9e1d5c1c0a511c7074592e37e0836c915/coverage-7.13.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4e83efc079eb39480e6346a15a1bcb3e9b04759c5202d157e1dd4303cd619356", size = 250911, upload-time = "2026-02-09T12:58:19.495Z" }, + { url = "https://files.pythonhosted.org/packages/89/3a/adfb68558fa815cbc29747b553bc833d2150228f251b127f1ce97e48547c/coverage-7.13.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ecae9737b72408d6a950f7e525f30aca12d4bd8dd95e37342e5beb3a2a8c4f71", size = 252754, upload-time = "2026-02-09T12:58:21.064Z" }, + { url = "https://files.pythonhosted.org/packages/32/b1/540d0c27c4e748bd3cd0bd001076ee416eda993c2bae47a73b7cc9357931/coverage-7.13.4-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ae4578f8528569d3cf303fef2ea569c7f4c4059a38c8667ccef15c6e1f118aa5", size = 250720, upload-time = "2026-02-09T12:58:22.622Z" }, + { url = "https://files.pythonhosted.org/packages/c7/95/383609462b3ffb1fe133014a7c84fc0dd01ed55ac6140fa1093b5af7ebb1/coverage-7.13.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:6fdef321fdfbb30a197efa02d48fcd9981f0d8ad2ae8903ac318adc653f5df98", size = 254994, upload-time = "2026-02-09T12:58:24.548Z" }, + { url = "https://files.pythonhosted.org/packages/f7/ba/1761138e86c81680bfc3c49579d66312865457f9fe405b033184e5793cb3/coverage-7.13.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b0f6ccf3dbe577170bebfce1318707d0e8c3650003cb4b3a9dd744575daa8b5", size = 250531, upload-time = "2026-02-09T12:58:26.271Z" }, + { url = "https://files.pythonhosted.org/packages/f8/8e/05900df797a9c11837ab59c4d6fe94094e029582aab75c3309a93e6fb4e3/coverage-7.13.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:75fcd519f2a5765db3f0e391eb3b7d150cce1a771bf4c9f861aeab86c767a3c0", size = 252189, upload-time = "2026-02-09T12:58:27.807Z" }, + { url = "https://files.pythonhosted.org/packages/00/bd/29c9f2db9ea4ed2738b8a9508c35626eb205d51af4ab7bf56a21a2e49926/coverage-7.13.4-cp314-cp314-win32.whl", hash = "sha256:8e798c266c378da2bd819b0677df41ab46d78065fb2a399558f3f6cae78b2fbb", size = 222258, upload-time = "2026-02-09T12:58:29.441Z" }, + { url = "https://files.pythonhosted.org/packages/a7/4d/1f8e723f6829977410efeb88f73673d794075091c8c7c18848d273dc9d73/coverage-7.13.4-cp314-cp314-win_amd64.whl", hash = "sha256:245e37f664d89861cf2329c9afa2c1fe9e6d4e1a09d872c947e70718aeeac505", size = 223073, upload-time = "2026-02-09T12:58:31.026Z" }, + { url = "https://files.pythonhosted.org/packages/51/5b/84100025be913b44e082ea32abcf1afbf4e872f5120b7a1cab1d331b1e13/coverage-7.13.4-cp314-cp314-win_arm64.whl", hash = "sha256:ad27098a189e5838900ce4c2a99f2fe42a0bf0c2093c17c69b45a71579e8d4a2", size = 221638, upload-time = "2026-02-09T12:58:32.599Z" }, + { url = "https://files.pythonhosted.org/packages/a7/e4/c884a405d6ead1370433dad1e3720216b4f9fd8ef5b64bfd984a2a60a11a/coverage-7.13.4-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:85480adfb35ffc32d40918aad81b89c69c9cc5661a9b8a81476d3e645321a056", size = 220246, upload-time = "2026-02-09T12:58:34.181Z" }, + { url = "https://files.pythonhosted.org/packages/81/5c/4d7ed8b23b233b0fffbc9dfec53c232be2e695468523242ea9fd30f97ad2/coverage-7.13.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:79be69cf7f3bf9b0deeeb062eab7ac7f36cd4cc4c4dd694bd28921ba4d8596cc", size = 220514, upload-time = "2026-02-09T12:58:35.704Z" }, + { url = "https://files.pythonhosted.org/packages/2f/6f/3284d4203fd2f28edd73034968398cd2d4cb04ab192abc8cff007ea35679/coverage-7.13.4-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:caa421e2684e382c5d8973ac55e4f36bed6821a9bad5c953494de960c74595c9", size = 261877, upload-time = "2026-02-09T12:58:37.864Z" }, + { url = "https://files.pythonhosted.org/packages/09/aa/b672a647bbe1556a85337dc95bfd40d146e9965ead9cc2fe81bde1e5cbce/coverage-7.13.4-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:14375934243ee05f56c45393fe2ce81fe5cc503c07cee2bdf1725fb8bef3ffaf", size = 264004, upload-time = "2026-02-09T12:58:39.492Z" }, + { url = "https://files.pythonhosted.org/packages/79/a1/aa384dbe9181f98bba87dd23dda436f0c6cf2e148aecbb4e50fc51c1a656/coverage-7.13.4-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:25a41c3104d08edb094d9db0d905ca54d0cd41c928bb6be3c4c799a54753af55", size = 266408, upload-time = "2026-02-09T12:58:41.852Z" }, + { url = "https://files.pythonhosted.org/packages/53/5e/5150bf17b4019bc600799f376bb9606941e55bd5a775dc1e096b6ffea952/coverage-7.13.4-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6f01afcff62bf9a08fb32b2c1d6e924236c0383c02c790732b6537269e466a72", size = 267544, upload-time = "2026-02-09T12:58:44.093Z" }, + { url = "https://files.pythonhosted.org/packages/e0/ed/f1de5c675987a4a7a672250d2c5c9d73d289dbf13410f00ed7181d8017dd/coverage-7.13.4-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:eb9078108fbf0bcdde37c3f4779303673c2fa1fe8f7956e68d447d0dd426d38a", size = 260980, upload-time = "2026-02-09T12:58:45.721Z" }, + { url = "https://files.pythonhosted.org/packages/b3/e3/fe758d01850aa172419a6743fe76ba8b92c29d181d4f676ffe2dae2ba631/coverage-7.13.4-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:0e086334e8537ddd17e5f16a344777c1ab8194986ec533711cbe6c41cde841b6", size = 263871, upload-time = "2026-02-09T12:58:47.334Z" }, + { url = "https://files.pythonhosted.org/packages/b6/76/b829869d464115e22499541def9796b25312b8cf235d3bb00b39f1675395/coverage-7.13.4-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:725d985c5ab621268b2edb8e50dfe57633dc69bda071abc470fed55a14935fd3", size = 261472, upload-time = "2026-02-09T12:58:48.995Z" }, + { url = "https://files.pythonhosted.org/packages/14/9e/caedb1679e73e2f6ad240173f55218488bfe043e38da577c4ec977489915/coverage-7.13.4-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:3c06f0f1337c667b971ca2f975523347e63ec5e500b9aa5882d91931cd3ef750", size = 265210, upload-time = "2026-02-09T12:58:51.178Z" }, + { url = "https://files.pythonhosted.org/packages/3a/10/0dd02cb009b16ede425b49ec344aba13a6ae1dc39600840ea6abcb085ac4/coverage-7.13.4-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:590c0ed4bf8e85f745e6b805b2e1c457b2e33d5255dd9729743165253bc9ad39", size = 260319, upload-time = "2026-02-09T12:58:53.081Z" }, + { url = "https://files.pythonhosted.org/packages/92/8e/234d2c927af27c6d7a5ffad5bd2cf31634c46a477b4c7adfbfa66baf7ebb/coverage-7.13.4-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:eb30bf180de3f632cd043322dad5751390e5385108b2807368997d1a92a509d0", size = 262638, upload-time = "2026-02-09T12:58:55.258Z" }, + { url = "https://files.pythonhosted.org/packages/2f/64/e5547c8ff6964e5965c35a480855911b61509cce544f4d442caa759a0702/coverage-7.13.4-cp314-cp314t-win32.whl", hash = "sha256:c4240e7eded42d131a2d2c4dec70374b781b043ddc79a9de4d55ca71f8e98aea", size = 223040, upload-time = "2026-02-09T12:58:56.936Z" }, + { url = "https://files.pythonhosted.org/packages/c7/96/38086d58a181aac86d503dfa9c47eb20715a79c3e3acbdf786e92e5c09a8/coverage-7.13.4-cp314-cp314t-win_amd64.whl", hash = "sha256:4c7d3cc01e7350f2f0f6f7036caaf5673fb56b6998889ccfe9e1c1fe75a9c932", size = 224148, upload-time = "2026-02-09T12:58:58.645Z" }, + { url = "https://files.pythonhosted.org/packages/ce/72/8d10abd3740a0beb98c305e0c3faf454366221c0f37a8bcf8f60020bb65a/coverage-7.13.4-cp314-cp314t-win_arm64.whl", hash = "sha256:23e3f687cf945070d1c90f85db66d11e3025665d8dafa831301a0e0038f3db9b", size = 222172, upload-time = "2026-02-09T12:59:00.396Z" }, + { url = "https://files.pythonhosted.org/packages/0d/4a/331fe2caf6799d591109bb9c08083080f6de90a823695d412a935622abb2/coverage-7.13.4-py3-none-any.whl", hash = "sha256:1af1641e57cf7ba1bd67d677c9abdbcd6cc2ab7da3bca7fa1e2b7e50e65f2ad0", size = 211242, upload-time = "2026-02-09T12:59:02.032Z" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740, upload-time = "2025-11-21T23:01:53.443Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, +] + +[[package]] +name = "packaging" +version = "26.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", size = 143416, upload-time = "2026-01-21T20:50:39.064Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", size = 74366, upload-time = "2026-01-21T20:50:37.788Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "pydantic" +version = "2.12.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/69/44/36f1a6e523abc58ae5f928898e4aca2e0ea509b5aa6f6f392a5d882be928/pydantic-2.12.5.tar.gz", hash = "sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49", size = 821591, upload-time = "2025-11-26T15:11:46.471Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/87/b70ad306ebb6f9b585f114d0ac2137d792b48be34d732d60e597c2f8465a/pydantic-2.12.5-py3-none-any.whl", hash = "sha256:e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d", size = 463580, upload-time = "2025-11-26T15:11:44.605Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.41.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/70/23b021c950c2addd24ec408e9ab05d59b035b39d97cdc1130e1bce647bb6/pydantic_core-2.41.5.tar.gz", hash = "sha256:08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e", size = 460952, upload-time = "2025-11-04T13:43:49.098Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/90/32c9941e728d564b411d574d8ee0cf09b12ec978cb22b294995bae5549a5/pydantic_core-2.41.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:77b63866ca88d804225eaa4af3e664c5faf3568cea95360d21f4725ab6e07146", size = 2107298, upload-time = "2025-11-04T13:39:04.116Z" }, + { url = "https://files.pythonhosted.org/packages/fb/a8/61c96a77fe28993d9a6fb0f4127e05430a267b235a124545d79fea46dd65/pydantic_core-2.41.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dfa8a0c812ac681395907e71e1274819dec685fec28273a28905df579ef137e2", size = 1901475, upload-time = "2025-11-04T13:39:06.055Z" }, + { url = "https://files.pythonhosted.org/packages/5d/b6/338abf60225acc18cdc08b4faef592d0310923d19a87fba1faf05af5346e/pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5921a4d3ca3aee735d9fd163808f5e8dd6c6972101e4adbda9a4667908849b97", size = 1918815, upload-time = "2025-11-04T13:39:10.41Z" }, + { url = "https://files.pythonhosted.org/packages/d1/1c/2ed0433e682983d8e8cba9c8d8ef274d4791ec6a6f24c58935b90e780e0a/pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e25c479382d26a2a41b7ebea1043564a937db462816ea07afa8a44c0866d52f9", size = 2065567, upload-time = "2025-11-04T13:39:12.244Z" }, + { url = "https://files.pythonhosted.org/packages/b3/24/cf84974ee7d6eae06b9e63289b7b8f6549d416b5c199ca2d7ce13bbcf619/pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f547144f2966e1e16ae626d8ce72b4cfa0caedc7fa28052001c94fb2fcaa1c52", size = 2230442, upload-time = "2025-11-04T13:39:13.962Z" }, + { url = "https://files.pythonhosted.org/packages/fd/21/4e287865504b3edc0136c89c9c09431be326168b1eb7841911cbc877a995/pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f52298fbd394f9ed112d56f3d11aabd0d5bd27beb3084cc3d8ad069483b8941", size = 2350956, upload-time = "2025-11-04T13:39:15.889Z" }, + { url = "https://files.pythonhosted.org/packages/a8/76/7727ef2ffa4b62fcab916686a68a0426b9b790139720e1934e8ba797e238/pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:100baa204bb412b74fe285fb0f3a385256dad1d1879f0a5cb1499ed2e83d132a", size = 2068253, upload-time = "2025-11-04T13:39:17.403Z" }, + { url = "https://files.pythonhosted.org/packages/d5/8c/a4abfc79604bcb4c748e18975c44f94f756f08fb04218d5cb87eb0d3a63e/pydantic_core-2.41.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:05a2c8852530ad2812cb7914dc61a1125dc4e06252ee98e5638a12da6cc6fb6c", size = 2177050, upload-time = "2025-11-04T13:39:19.351Z" }, + { url = "https://files.pythonhosted.org/packages/67/b1/de2e9a9a79b480f9cb0b6e8b6ba4c50b18d4e89852426364c66aa82bb7b3/pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:29452c56df2ed968d18d7e21f4ab0ac55e71dc59524872f6fc57dcf4a3249ed2", size = 2147178, upload-time = "2025-11-04T13:39:21Z" }, + { url = "https://files.pythonhosted.org/packages/16/c1/dfb33f837a47b20417500efaa0378adc6635b3c79e8369ff7a03c494b4ac/pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:d5160812ea7a8a2ffbe233d8da666880cad0cbaf5d4de74ae15c313213d62556", size = 2341833, upload-time = "2025-11-04T13:39:22.606Z" }, + { url = "https://files.pythonhosted.org/packages/47/36/00f398642a0f4b815a9a558c4f1dca1b4020a7d49562807d7bc9ff279a6c/pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:df3959765b553b9440adfd3c795617c352154e497a4eaf3752555cfb5da8fc49", size = 2321156, upload-time = "2025-11-04T13:39:25.843Z" }, + { url = "https://files.pythonhosted.org/packages/7e/70/cad3acd89fde2010807354d978725ae111ddf6d0ea46d1ea1775b5c1bd0c/pydantic_core-2.41.5-cp310-cp310-win32.whl", hash = "sha256:1f8d33a7f4d5a7889e60dc39856d76d09333d8a6ed0f5f1190635cbec70ec4ba", size = 1989378, upload-time = "2025-11-04T13:39:27.92Z" }, + { url = "https://files.pythonhosted.org/packages/76/92/d338652464c6c367e5608e4488201702cd1cbb0f33f7b6a85a60fe5f3720/pydantic_core-2.41.5-cp310-cp310-win_amd64.whl", hash = "sha256:62de39db01b8d593e45871af2af9e497295db8d73b085f6bfd0b18c83c70a8f9", size = 2013622, upload-time = "2025-11-04T13:39:29.848Z" }, + { url = "https://files.pythonhosted.org/packages/e8/72/74a989dd9f2084b3d9530b0915fdda64ac48831c30dbf7c72a41a5232db8/pydantic_core-2.41.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:a3a52f6156e73e7ccb0f8cced536adccb7042be67cb45f9562e12b319c119da6", size = 2105873, upload-time = "2025-11-04T13:39:31.373Z" }, + { url = "https://files.pythonhosted.org/packages/12/44/37e403fd9455708b3b942949e1d7febc02167662bf1a7da5b78ee1ea2842/pydantic_core-2.41.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7f3bf998340c6d4b0c9a2f02d6a400e51f123b59565d74dc60d252ce888c260b", size = 1899826, upload-time = "2025-11-04T13:39:32.897Z" }, + { url = "https://files.pythonhosted.org/packages/33/7f/1d5cab3ccf44c1935a359d51a8a2a9e1a654b744b5e7f80d41b88d501eec/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:378bec5c66998815d224c9ca994f1e14c0c21cb95d2f52b6021cc0b2a58f2a5a", size = 1917869, upload-time = "2025-11-04T13:39:34.469Z" }, + { url = "https://files.pythonhosted.org/packages/6e/6a/30d94a9674a7fe4f4744052ed6c5e083424510be1e93da5bc47569d11810/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e7b576130c69225432866fe2f4a469a85a54ade141d96fd396dffcf607b558f8", size = 2063890, upload-time = "2025-11-04T13:39:36.053Z" }, + { url = "https://files.pythonhosted.org/packages/50/be/76e5d46203fcb2750e542f32e6c371ffa9b8ad17364cf94bb0818dbfb50c/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6cb58b9c66f7e4179a2d5e0f849c48eff5c1fca560994d6eb6543abf955a149e", size = 2229740, upload-time = "2025-11-04T13:39:37.753Z" }, + { url = "https://files.pythonhosted.org/packages/d3/ee/fed784df0144793489f87db310a6bbf8118d7b630ed07aa180d6067e653a/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:88942d3a3dff3afc8288c21e565e476fc278902ae4d6d134f1eeda118cc830b1", size = 2350021, upload-time = "2025-11-04T13:39:40.94Z" }, + { url = "https://files.pythonhosted.org/packages/c8/be/8fed28dd0a180dca19e72c233cbf58efa36df055e5b9d90d64fd1740b828/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f31d95a179f8d64d90f6831d71fa93290893a33148d890ba15de25642c5d075b", size = 2066378, upload-time = "2025-11-04T13:39:42.523Z" }, + { url = "https://files.pythonhosted.org/packages/b0/3b/698cf8ae1d536a010e05121b4958b1257f0b5522085e335360e53a6b1c8b/pydantic_core-2.41.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c1df3d34aced70add6f867a8cf413e299177e0c22660cc767218373d0779487b", size = 2175761, upload-time = "2025-11-04T13:39:44.553Z" }, + { url = "https://files.pythonhosted.org/packages/b8/ba/15d537423939553116dea94ce02f9c31be0fa9d0b806d427e0308ec17145/pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4009935984bd36bd2c774e13f9a09563ce8de4abaa7226f5108262fa3e637284", size = 2146303, upload-time = "2025-11-04T13:39:46.238Z" }, + { url = "https://files.pythonhosted.org/packages/58/7f/0de669bf37d206723795f9c90c82966726a2ab06c336deba4735b55af431/pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:34a64bc3441dc1213096a20fe27e8e128bd3ff89921706e83c0b1ac971276594", size = 2340355, upload-time = "2025-11-04T13:39:48.002Z" }, + { url = "https://files.pythonhosted.org/packages/e5/de/e7482c435b83d7e3c3ee5ee4451f6e8973cff0eb6007d2872ce6383f6398/pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c9e19dd6e28fdcaa5a1de679aec4141f691023916427ef9bae8584f9c2fb3b0e", size = 2319875, upload-time = "2025-11-04T13:39:49.705Z" }, + { url = "https://files.pythonhosted.org/packages/fe/e6/8c9e81bb6dd7560e33b9053351c29f30c8194b72f2d6932888581f503482/pydantic_core-2.41.5-cp311-cp311-win32.whl", hash = "sha256:2c010c6ded393148374c0f6f0bf89d206bf3217f201faa0635dcd56bd1520f6b", size = 1987549, upload-time = "2025-11-04T13:39:51.842Z" }, + { url = "https://files.pythonhosted.org/packages/11/66/f14d1d978ea94d1bc21fc98fcf570f9542fe55bfcc40269d4e1a21c19bf7/pydantic_core-2.41.5-cp311-cp311-win_amd64.whl", hash = "sha256:76ee27c6e9c7f16f47db7a94157112a2f3a00e958bc626e2f4ee8bec5c328fbe", size = 2011305, upload-time = "2025-11-04T13:39:53.485Z" }, + { url = "https://files.pythonhosted.org/packages/56/d8/0e271434e8efd03186c5386671328154ee349ff0354d83c74f5caaf096ed/pydantic_core-2.41.5-cp311-cp311-win_arm64.whl", hash = "sha256:4bc36bbc0b7584de96561184ad7f012478987882ebf9f9c389b23f432ea3d90f", size = 1972902, upload-time = "2025-11-04T13:39:56.488Z" }, + { url = "https://files.pythonhosted.org/packages/5f/5d/5f6c63eebb5afee93bcaae4ce9a898f3373ca23df3ccaef086d0233a35a7/pydantic_core-2.41.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f41a7489d32336dbf2199c8c0a215390a751c5b014c2c1c5366e817202e9cdf7", size = 2110990, upload-time = "2025-11-04T13:39:58.079Z" }, + { url = "https://files.pythonhosted.org/packages/aa/32/9c2e8ccb57c01111e0fd091f236c7b371c1bccea0fa85247ac55b1e2b6b6/pydantic_core-2.41.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:070259a8818988b9a84a449a2a7337c7f430a22acc0859c6b110aa7212a6d9c0", size = 1896003, upload-time = "2025-11-04T13:39:59.956Z" }, + { url = "https://files.pythonhosted.org/packages/68/b8/a01b53cb0e59139fbc9e4fda3e9724ede8de279097179be4ff31f1abb65a/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e96cea19e34778f8d59fe40775a7a574d95816eb150850a85a7a4c8f4b94ac69", size = 1919200, upload-time = "2025-11-04T13:40:02.241Z" }, + { url = "https://files.pythonhosted.org/packages/38/de/8c36b5198a29bdaade07b5985e80a233a5ac27137846f3bc2d3b40a47360/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed2e99c456e3fadd05c991f8f437ef902e00eedf34320ba2b0842bd1c3ca3a75", size = 2052578, upload-time = "2025-11-04T13:40:04.401Z" }, + { url = "https://files.pythonhosted.org/packages/00/b5/0e8e4b5b081eac6cb3dbb7e60a65907549a1ce035a724368c330112adfdd/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:65840751b72fbfd82c3c640cff9284545342a4f1eb1586ad0636955b261b0b05", size = 2208504, upload-time = "2025-11-04T13:40:06.072Z" }, + { url = "https://files.pythonhosted.org/packages/77/56/87a61aad59c7c5b9dc8caad5a41a5545cba3810c3e828708b3d7404f6cef/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e536c98a7626a98feb2d3eaf75944ef6f3dbee447e1f841eae16f2f0a72d8ddc", size = 2335816, upload-time = "2025-11-04T13:40:07.835Z" }, + { url = "https://files.pythonhosted.org/packages/0d/76/941cc9f73529988688a665a5c0ecff1112b3d95ab48f81db5f7606f522d3/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eceb81a8d74f9267ef4081e246ffd6d129da5d87e37a77c9bde550cb04870c1c", size = 2075366, upload-time = "2025-11-04T13:40:09.804Z" }, + { url = "https://files.pythonhosted.org/packages/d3/43/ebef01f69baa07a482844faaa0a591bad1ef129253ffd0cdaa9d8a7f72d3/pydantic_core-2.41.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d38548150c39b74aeeb0ce8ee1d8e82696f4a4e16ddc6de7b1d8823f7de4b9b5", size = 2171698, upload-time = "2025-11-04T13:40:12.004Z" }, + { url = "https://files.pythonhosted.org/packages/b1/87/41f3202e4193e3bacfc2c065fab7706ebe81af46a83d3e27605029c1f5a6/pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c23e27686783f60290e36827f9c626e63154b82b116d7fe9adba1fda36da706c", size = 2132603, upload-time = "2025-11-04T13:40:13.868Z" }, + { url = "https://files.pythonhosted.org/packages/49/7d/4c00df99cb12070b6bccdef4a195255e6020a550d572768d92cc54dba91a/pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:482c982f814460eabe1d3bb0adfdc583387bd4691ef00b90575ca0d2b6fe2294", size = 2329591, upload-time = "2025-11-04T13:40:15.672Z" }, + { url = "https://files.pythonhosted.org/packages/cc/6a/ebf4b1d65d458f3cda6a7335d141305dfa19bdc61140a884d165a8a1bbc7/pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:bfea2a5f0b4d8d43adf9d7b8bf019fb46fdd10a2e5cde477fbcb9d1fa08c68e1", size = 2319068, upload-time = "2025-11-04T13:40:17.532Z" }, + { url = "https://files.pythonhosted.org/packages/49/3b/774f2b5cd4192d5ab75870ce4381fd89cf218af999515baf07e7206753f0/pydantic_core-2.41.5-cp312-cp312-win32.whl", hash = "sha256:b74557b16e390ec12dca509bce9264c3bbd128f8a2c376eaa68003d7f327276d", size = 1985908, upload-time = "2025-11-04T13:40:19.309Z" }, + { url = "https://files.pythonhosted.org/packages/86/45/00173a033c801cacf67c190fef088789394feaf88a98a7035b0e40d53dc9/pydantic_core-2.41.5-cp312-cp312-win_amd64.whl", hash = "sha256:1962293292865bca8e54702b08a4f26da73adc83dd1fcf26fbc875b35d81c815", size = 2020145, upload-time = "2025-11-04T13:40:21.548Z" }, + { url = "https://files.pythonhosted.org/packages/f9/22/91fbc821fa6d261b376a3f73809f907cec5ca6025642c463d3488aad22fb/pydantic_core-2.41.5-cp312-cp312-win_arm64.whl", hash = "sha256:1746d4a3d9a794cacae06a5eaaccb4b8643a131d45fbc9af23e353dc0a5ba5c3", size = 1976179, upload-time = "2025-11-04T13:40:23.393Z" }, + { url = "https://files.pythonhosted.org/packages/87/06/8806241ff1f70d9939f9af039c6c35f2360cf16e93c2ca76f184e76b1564/pydantic_core-2.41.5-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:941103c9be18ac8daf7b7adca8228f8ed6bb7a1849020f643b3a14d15b1924d9", size = 2120403, upload-time = "2025-11-04T13:40:25.248Z" }, + { url = "https://files.pythonhosted.org/packages/94/02/abfa0e0bda67faa65fef1c84971c7e45928e108fe24333c81f3bfe35d5f5/pydantic_core-2.41.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:112e305c3314f40c93998e567879e887a3160bb8689ef3d2c04b6cc62c33ac34", size = 1896206, upload-time = "2025-11-04T13:40:27.099Z" }, + { url = "https://files.pythonhosted.org/packages/15/df/a4c740c0943e93e6500f9eb23f4ca7ec9bf71b19e608ae5b579678c8d02f/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cbaad15cb0c90aa221d43c00e77bb33c93e8d36e0bf74760cd00e732d10a6a0", size = 1919307, upload-time = "2025-11-04T13:40:29.806Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e3/6324802931ae1d123528988e0e86587c2072ac2e5394b4bc2bc34b61ff6e/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:03ca43e12fab6023fc79d28ca6b39b05f794ad08ec2feccc59a339b02f2b3d33", size = 2063258, upload-time = "2025-11-04T13:40:33.544Z" }, + { url = "https://files.pythonhosted.org/packages/c9/d4/2230d7151d4957dd79c3044ea26346c148c98fbf0ee6ebd41056f2d62ab5/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc799088c08fa04e43144b164feb0c13f9a0bc40503f8df3e9fde58a3c0c101e", size = 2214917, upload-time = "2025-11-04T13:40:35.479Z" }, + { url = "https://files.pythonhosted.org/packages/e6/9f/eaac5df17a3672fef0081b6c1bb0b82b33ee89aa5cec0d7b05f52fd4a1fa/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:97aeba56665b4c3235a0e52b2c2f5ae9cd071b8a8310ad27bddb3f7fb30e9aa2", size = 2332186, upload-time = "2025-11-04T13:40:37.436Z" }, + { url = "https://files.pythonhosted.org/packages/cf/4e/35a80cae583a37cf15604b44240e45c05e04e86f9cfd766623149297e971/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:406bf18d345822d6c21366031003612b9c77b3e29ffdb0f612367352aab7d586", size = 2073164, upload-time = "2025-11-04T13:40:40.289Z" }, + { url = "https://files.pythonhosted.org/packages/bf/e3/f6e262673c6140dd3305d144d032f7bd5f7497d3871c1428521f19f9efa2/pydantic_core-2.41.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b93590ae81f7010dbe380cdeab6f515902ebcbefe0b9327cc4804d74e93ae69d", size = 2179146, upload-time = "2025-11-04T13:40:42.809Z" }, + { url = "https://files.pythonhosted.org/packages/75/c7/20bd7fc05f0c6ea2056a4565c6f36f8968c0924f19b7d97bbfea55780e73/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:01a3d0ab748ee531f4ea6c3e48ad9dac84ddba4b0d82291f87248f2f9de8d740", size = 2137788, upload-time = "2025-11-04T13:40:44.752Z" }, + { url = "https://files.pythonhosted.org/packages/3a/8d/34318ef985c45196e004bc46c6eab2eda437e744c124ef0dbe1ff2c9d06b/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:6561e94ba9dacc9c61bce40e2d6bdc3bfaa0259d3ff36ace3b1e6901936d2e3e", size = 2340133, upload-time = "2025-11-04T13:40:46.66Z" }, + { url = "https://files.pythonhosted.org/packages/9c/59/013626bf8c78a5a5d9350d12e7697d3d4de951a75565496abd40ccd46bee/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:915c3d10f81bec3a74fbd4faebe8391013ba61e5a1a8d48c4455b923bdda7858", size = 2324852, upload-time = "2025-11-04T13:40:48.575Z" }, + { url = "https://files.pythonhosted.org/packages/1a/d9/c248c103856f807ef70c18a4f986693a46a8ffe1602e5d361485da502d20/pydantic_core-2.41.5-cp313-cp313-win32.whl", hash = "sha256:650ae77860b45cfa6e2cdafc42618ceafab3a2d9a3811fcfbd3bbf8ac3c40d36", size = 1994679, upload-time = "2025-11-04T13:40:50.619Z" }, + { url = "https://files.pythonhosted.org/packages/9e/8b/341991b158ddab181cff136acd2552c9f35bd30380422a639c0671e99a91/pydantic_core-2.41.5-cp313-cp313-win_amd64.whl", hash = "sha256:79ec52ec461e99e13791ec6508c722742ad745571f234ea6255bed38c6480f11", size = 2019766, upload-time = "2025-11-04T13:40:52.631Z" }, + { url = "https://files.pythonhosted.org/packages/73/7d/f2f9db34af103bea3e09735bb40b021788a5e834c81eedb541991badf8f5/pydantic_core-2.41.5-cp313-cp313-win_arm64.whl", hash = "sha256:3f84d5c1b4ab906093bdc1ff10484838aca54ef08de4afa9de0f5f14d69639cd", size = 1981005, upload-time = "2025-11-04T13:40:54.734Z" }, + { url = "https://files.pythonhosted.org/packages/ea/28/46b7c5c9635ae96ea0fbb779e271a38129df2550f763937659ee6c5dbc65/pydantic_core-2.41.5-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:3f37a19d7ebcdd20b96485056ba9e8b304e27d9904d233d7b1015db320e51f0a", size = 2119622, upload-time = "2025-11-04T13:40:56.68Z" }, + { url = "https://files.pythonhosted.org/packages/74/1a/145646e5687e8d9a1e8d09acb278c8535ebe9e972e1f162ed338a622f193/pydantic_core-2.41.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1d1d9764366c73f996edd17abb6d9d7649a7eb690006ab6adbda117717099b14", size = 1891725, upload-time = "2025-11-04T13:40:58.807Z" }, + { url = "https://files.pythonhosted.org/packages/23/04/e89c29e267b8060b40dca97bfc64a19b2a3cf99018167ea1677d96368273/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25e1c2af0fce638d5f1988b686f3b3ea8cd7de5f244ca147c777769e798a9cd1", size = 1915040, upload-time = "2025-11-04T13:41:00.853Z" }, + { url = "https://files.pythonhosted.org/packages/84/a3/15a82ac7bd97992a82257f777b3583d3e84bdb06ba6858f745daa2ec8a85/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:506d766a8727beef16b7adaeb8ee6217c64fc813646b424d0804d67c16eddb66", size = 2063691, upload-time = "2025-11-04T13:41:03.504Z" }, + { url = "https://files.pythonhosted.org/packages/74/9b/0046701313c6ef08c0c1cf0e028c67c770a4e1275ca73131563c5f2a310a/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4819fa52133c9aa3c387b3328f25c1facc356491e6135b459f1de698ff64d869", size = 2213897, upload-time = "2025-11-04T13:41:05.804Z" }, + { url = "https://files.pythonhosted.org/packages/8a/cd/6bac76ecd1b27e75a95ca3a9a559c643b3afcd2dd62086d4b7a32a18b169/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b761d210c9ea91feda40d25b4efe82a1707da2ef62901466a42492c028553a2", size = 2333302, upload-time = "2025-11-04T13:41:07.809Z" }, + { url = "https://files.pythonhosted.org/packages/4c/d2/ef2074dc020dd6e109611a8be4449b98cd25e1b9b8a303c2f0fca2f2bcf7/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22f0fb8c1c583a3b6f24df2470833b40207e907b90c928cc8d3594b76f874375", size = 2064877, upload-time = "2025-11-04T13:41:09.827Z" }, + { url = "https://files.pythonhosted.org/packages/18/66/e9db17a9a763d72f03de903883c057b2592c09509ccfe468187f2a2eef29/pydantic_core-2.41.5-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2782c870e99878c634505236d81e5443092fba820f0373997ff75f90f68cd553", size = 2180680, upload-time = "2025-11-04T13:41:12.379Z" }, + { url = "https://files.pythonhosted.org/packages/d3/9e/3ce66cebb929f3ced22be85d4c2399b8e85b622db77dad36b73c5387f8f8/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:0177272f88ab8312479336e1d777f6b124537d47f2123f89cb37e0accea97f90", size = 2138960, upload-time = "2025-11-04T13:41:14.627Z" }, + { url = "https://files.pythonhosted.org/packages/a6/62/205a998f4327d2079326b01abee48e502ea739d174f0a89295c481a2272e/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:63510af5e38f8955b8ee5687740d6ebf7c2a0886d15a6d65c32814613681bc07", size = 2339102, upload-time = "2025-11-04T13:41:16.868Z" }, + { url = "https://files.pythonhosted.org/packages/3c/0d/f05e79471e889d74d3d88f5bd20d0ed189ad94c2423d81ff8d0000aab4ff/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:e56ba91f47764cc14f1daacd723e3e82d1a89d783f0f5afe9c364b8bb491ccdb", size = 2326039, upload-time = "2025-11-04T13:41:18.934Z" }, + { url = "https://files.pythonhosted.org/packages/ec/e1/e08a6208bb100da7e0c4b288eed624a703f4d129bde2da475721a80cab32/pydantic_core-2.41.5-cp314-cp314-win32.whl", hash = "sha256:aec5cf2fd867b4ff45b9959f8b20ea3993fc93e63c7363fe6851424c8a7e7c23", size = 1995126, upload-time = "2025-11-04T13:41:21.418Z" }, + { url = "https://files.pythonhosted.org/packages/48/5d/56ba7b24e9557f99c9237e29f5c09913c81eeb2f3217e40e922353668092/pydantic_core-2.41.5-cp314-cp314-win_amd64.whl", hash = "sha256:8e7c86f27c585ef37c35e56a96363ab8de4e549a95512445b85c96d3e2f7c1bf", size = 2015489, upload-time = "2025-11-04T13:41:24.076Z" }, + { url = "https://files.pythonhosted.org/packages/4e/bb/f7a190991ec9e3e0ba22e4993d8755bbc4a32925c0b5b42775c03e8148f9/pydantic_core-2.41.5-cp314-cp314-win_arm64.whl", hash = "sha256:e672ba74fbc2dc8eea59fb6d4aed6845e6905fc2a8afe93175d94a83ba2a01a0", size = 1977288, upload-time = "2025-11-04T13:41:26.33Z" }, + { url = "https://files.pythonhosted.org/packages/92/ed/77542d0c51538e32e15afe7899d79efce4b81eee631d99850edc2f5e9349/pydantic_core-2.41.5-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:8566def80554c3faa0e65ac30ab0932b9e3a5cd7f8323764303d468e5c37595a", size = 2120255, upload-time = "2025-11-04T13:41:28.569Z" }, + { url = "https://files.pythonhosted.org/packages/bb/3d/6913dde84d5be21e284439676168b28d8bbba5600d838b9dca99de0fad71/pydantic_core-2.41.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b80aa5095cd3109962a298ce14110ae16b8c1aece8b72f9dafe81cf597ad80b3", size = 1863760, upload-time = "2025-11-04T13:41:31.055Z" }, + { url = "https://files.pythonhosted.org/packages/5a/f0/e5e6b99d4191da102f2b0eb9687aaa7f5bea5d9964071a84effc3e40f997/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3006c3dd9ba34b0c094c544c6006cc79e87d8612999f1a5d43b769b89181f23c", size = 1878092, upload-time = "2025-11-04T13:41:33.21Z" }, + { url = "https://files.pythonhosted.org/packages/71/48/36fb760642d568925953bcc8116455513d6e34c4beaa37544118c36aba6d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:72f6c8b11857a856bcfa48c86f5368439f74453563f951e473514579d44aa612", size = 2053385, upload-time = "2025-11-04T13:41:35.508Z" }, + { url = "https://files.pythonhosted.org/packages/20/25/92dc684dd8eb75a234bc1c764b4210cf2646479d54b47bf46061657292a8/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cb1b2f9742240e4bb26b652a5aeb840aa4b417c7748b6f8387927bc6e45e40d", size = 2218832, upload-time = "2025-11-04T13:41:37.732Z" }, + { url = "https://files.pythonhosted.org/packages/e2/09/f53e0b05023d3e30357d82eb35835d0f6340ca344720a4599cd663dca599/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bd3d54f38609ff308209bd43acea66061494157703364ae40c951f83ba99a1a9", size = 2327585, upload-time = "2025-11-04T13:41:40Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4e/2ae1aa85d6af35a39b236b1b1641de73f5a6ac4d5a7509f77b814885760c/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ff4321e56e879ee8d2a879501c8e469414d948f4aba74a2d4593184eb326660", size = 2041078, upload-time = "2025-11-04T13:41:42.323Z" }, + { url = "https://files.pythonhosted.org/packages/cd/13/2e215f17f0ef326fc72afe94776edb77525142c693767fc347ed6288728d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0d2568a8c11bf8225044aa94409e21da0cb09dcdafe9ecd10250b2baad531a9", size = 2173914, upload-time = "2025-11-04T13:41:45.221Z" }, + { url = "https://files.pythonhosted.org/packages/02/7a/f999a6dcbcd0e5660bc348a3991c8915ce6599f4f2c6ac22f01d7a10816c/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:a39455728aabd58ceabb03c90e12f71fd30fa69615760a075b9fec596456ccc3", size = 2129560, upload-time = "2025-11-04T13:41:47.474Z" }, + { url = "https://files.pythonhosted.org/packages/3a/b1/6c990ac65e3b4c079a4fb9f5b05f5b013afa0f4ed6780a3dd236d2cbdc64/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:239edca560d05757817c13dc17c50766136d21f7cd0fac50295499ae24f90fdf", size = 2329244, upload-time = "2025-11-04T13:41:49.992Z" }, + { url = "https://files.pythonhosted.org/packages/d9/02/3c562f3a51afd4d88fff8dffb1771b30cfdfd79befd9883ee094f5b6c0d8/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:2a5e06546e19f24c6a96a129142a75cee553cc018ffee48a460059b1185f4470", size = 2331955, upload-time = "2025-11-04T13:41:54.079Z" }, + { url = "https://files.pythonhosted.org/packages/5c/96/5fb7d8c3c17bc8c62fdb031c47d77a1af698f1d7a406b0f79aaa1338f9ad/pydantic_core-2.41.5-cp314-cp314t-win32.whl", hash = "sha256:b4ececa40ac28afa90871c2cc2b9ffd2ff0bf749380fbdf57d165fd23da353aa", size = 1988906, upload-time = "2025-11-04T13:41:56.606Z" }, + { url = "https://files.pythonhosted.org/packages/22/ed/182129d83032702912c2e2d8bbe33c036f342cc735737064668585dac28f/pydantic_core-2.41.5-cp314-cp314t-win_amd64.whl", hash = "sha256:80aa89cad80b32a912a65332f64a4450ed00966111b6615ca6816153d3585a8c", size = 1981607, upload-time = "2025-11-04T13:41:58.889Z" }, + { url = "https://files.pythonhosted.org/packages/9f/ed/068e41660b832bb0b1aa5b58011dea2a3fe0ba7861ff38c4d4904c1c1a99/pydantic_core-2.41.5-cp314-cp314t-win_arm64.whl", hash = "sha256:35b44f37a3199f771c3eaa53051bc8a70cd7b54f333531c59e29fd4db5d15008", size = 1974769, upload-time = "2025-11-04T13:42:01.186Z" }, + { url = "https://files.pythonhosted.org/packages/54/db/160dffb57ed9a3705c4cbcbff0ac03bdae45f1ca7d58ab74645550df3fbd/pydantic_core-2.41.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:8bfeaf8735be79f225f3fefab7f941c712aaca36f1128c9d7e2352ee1aa87bdf", size = 2107999, upload-time = "2025-11-04T13:42:03.885Z" }, + { url = "https://files.pythonhosted.org/packages/a3/7d/88e7de946f60d9263cc84819f32513520b85c0f8322f9b8f6e4afc938383/pydantic_core-2.41.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:346285d28e4c8017da95144c7f3acd42740d637ff41946af5ce6e5e420502dd5", size = 1929745, upload-time = "2025-11-04T13:42:06.075Z" }, + { url = "https://files.pythonhosted.org/packages/d5/c2/aef51e5b283780e85e99ff19db0f05842d2d4a8a8cd15e63b0280029b08f/pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a75dafbf87d6276ddc5b2bf6fae5254e3d0876b626eb24969a574fff9149ee5d", size = 1920220, upload-time = "2025-11-04T13:42:08.457Z" }, + { url = "https://files.pythonhosted.org/packages/c7/97/492ab10f9ac8695cd76b2fdb24e9e61f394051df71594e9bcc891c9f586e/pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7b93a4d08587e2b7e7882de461e82b6ed76d9026ce91ca7915e740ecc7855f60", size = 2067296, upload-time = "2025-11-04T13:42:10.817Z" }, + { url = "https://files.pythonhosted.org/packages/ec/23/984149650e5269c59a2a4c41d234a9570adc68ab29981825cfaf4cfad8f4/pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e8465ab91a4bd96d36dde3263f06caa6a8a6019e4113f24dc753d79a8b3a3f82", size = 2231548, upload-time = "2025-11-04T13:42:13.843Z" }, + { url = "https://files.pythonhosted.org/packages/71/0c/85bcbb885b9732c28bec67a222dbed5ed2d77baee1f8bba2002e8cd00c5c/pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:299e0a22e7ae2b85c1a57f104538b2656e8ab1873511fd718a1c1c6f149b77b5", size = 2362571, upload-time = "2025-11-04T13:42:16.208Z" }, + { url = "https://files.pythonhosted.org/packages/c0/4a/412d2048be12c334003e9b823a3fa3d038e46cc2d64dd8aab50b31b65499/pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:707625ef0983fcfb461acfaf14de2067c5942c6bb0f3b4c99158bed6fedd3cf3", size = 2068175, upload-time = "2025-11-04T13:42:18.911Z" }, + { url = "https://files.pythonhosted.org/packages/73/f4/c58b6a776b502d0a5540ad02e232514285513572060f0d78f7832ca3c98b/pydantic_core-2.41.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f41eb9797986d6ebac5e8edff36d5cef9de40def462311b3eb3eeded1431e425", size = 2177203, upload-time = "2025-11-04T13:42:22.578Z" }, + { url = "https://files.pythonhosted.org/packages/ed/ae/f06ea4c7e7a9eead3d165e7623cd2ea0cb788e277e4f935af63fc98fa4e6/pydantic_core-2.41.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0384e2e1021894b1ff5a786dbf94771e2986ebe2869533874d7e43bc79c6f504", size = 2148191, upload-time = "2025-11-04T13:42:24.89Z" }, + { url = "https://files.pythonhosted.org/packages/c1/57/25a11dcdc656bf5f8b05902c3c2934ac3ea296257cc4a3f79a6319e61856/pydantic_core-2.41.5-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:f0cd744688278965817fd0839c4a4116add48d23890d468bc436f78beb28abf5", size = 2343907, upload-time = "2025-11-04T13:42:27.683Z" }, + { url = "https://files.pythonhosted.org/packages/96/82/e33d5f4933d7a03327c0c43c65d575e5919d4974ffc026bc917a5f7b9f61/pydantic_core-2.41.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:753e230374206729bf0a807954bcc6c150d3743928a73faffee51ac6557a03c3", size = 2322174, upload-time = "2025-11-04T13:42:30.776Z" }, + { url = "https://files.pythonhosted.org/packages/81/45/4091be67ce9f469e81656f880f3506f6a5624121ec5eb3eab37d7581897d/pydantic_core-2.41.5-cp39-cp39-win32.whl", hash = "sha256:873e0d5b4fb9b89ef7c2d2a963ea7d02879d9da0da8d9d4933dee8ee86a8b460", size = 1990353, upload-time = "2025-11-04T13:42:33.111Z" }, + { url = "https://files.pythonhosted.org/packages/44/8a/a98aede18db6e9cd5d66bcacd8a409fcf8134204cdede2e7de35c5a2c5ef/pydantic_core-2.41.5-cp39-cp39-win_amd64.whl", hash = "sha256:e4f4a984405e91527a0d62649ee21138f8e3d0ef103be488c1dc11a80d7f184b", size = 2015698, upload-time = "2025-11-04T13:42:35.484Z" }, + { url = "https://files.pythonhosted.org/packages/11/72/90fda5ee3b97e51c494938a4a44c3a35a9c96c19bba12372fb9c634d6f57/pydantic_core-2.41.5-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:b96d5f26b05d03cc60f11a7761a5ded1741da411e7fe0909e27a5e6a0cb7b034", size = 2115441, upload-time = "2025-11-04T13:42:39.557Z" }, + { url = "https://files.pythonhosted.org/packages/1f/53/8942f884fa33f50794f119012dc6a1a02ac43a56407adaac20463df8e98f/pydantic_core-2.41.5-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:634e8609e89ceecea15e2d61bc9ac3718caaaa71963717bf3c8f38bfde64242c", size = 1930291, upload-time = "2025-11-04T13:42:42.169Z" }, + { url = "https://files.pythonhosted.org/packages/79/c8/ecb9ed9cd942bce09fc888ee960b52654fbdbede4ba6c2d6e0d3b1d8b49c/pydantic_core-2.41.5-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:93e8740d7503eb008aa2df04d3b9735f845d43ae845e6dcd2be0b55a2da43cd2", size = 1948632, upload-time = "2025-11-04T13:42:44.564Z" }, + { url = "https://files.pythonhosted.org/packages/2e/1b/687711069de7efa6af934e74f601e2a4307365e8fdc404703afc453eab26/pydantic_core-2.41.5-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f15489ba13d61f670dcc96772e733aad1a6f9c429cc27574c6cdaed82d0146ad", size = 2138905, upload-time = "2025-11-04T13:42:47.156Z" }, + { url = "https://files.pythonhosted.org/packages/09/32/59b0c7e63e277fa7911c2fc70ccfb45ce4b98991e7ef37110663437005af/pydantic_core-2.41.5-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:7da7087d756b19037bc2c06edc6c170eeef3c3bafcb8f532ff17d64dc427adfd", size = 2110495, upload-time = "2025-11-04T13:42:49.689Z" }, + { url = "https://files.pythonhosted.org/packages/aa/81/05e400037eaf55ad400bcd318c05bb345b57e708887f07ddb2d20e3f0e98/pydantic_core-2.41.5-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:aabf5777b5c8ca26f7824cb4a120a740c9588ed58df9b2d196ce92fba42ff8dc", size = 1915388, upload-time = "2025-11-04T13:42:52.215Z" }, + { url = "https://files.pythonhosted.org/packages/6e/0d/e3549b2399f71d56476b77dbf3cf8937cec5cd70536bdc0e374a421d0599/pydantic_core-2.41.5-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c007fe8a43d43b3969e8469004e9845944f1a80e6acd47c150856bb87f230c56", size = 1942879, upload-time = "2025-11-04T13:42:56.483Z" }, + { url = "https://files.pythonhosted.org/packages/f7/07/34573da085946b6a313d7c42f82f16e8920bfd730665de2d11c0c37a74b5/pydantic_core-2.41.5-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76d0819de158cd855d1cbb8fcafdf6f5cf1eb8e470abe056d5d161106e38062b", size = 2139017, upload-time = "2025-11-04T13:42:59.471Z" }, + { url = "https://files.pythonhosted.org/packages/e6/b0/1a2aa41e3b5a4ba11420aba2d091b2d17959c8d1519ece3627c371951e73/pydantic_core-2.41.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b5819cd790dbf0c5eb9f82c73c16b39a65dd6dd4d1439dcdea7816ec9adddab8", size = 2103351, upload-time = "2025-11-04T13:43:02.058Z" }, + { url = "https://files.pythonhosted.org/packages/a4/ee/31b1f0020baaf6d091c87900ae05c6aeae101fa4e188e1613c80e4f1ea31/pydantic_core-2.41.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5a4e67afbc95fa5c34cf27d9089bca7fcab4e51e57278d710320a70b956d1b9a", size = 1925363, upload-time = "2025-11-04T13:43:05.159Z" }, + { url = "https://files.pythonhosted.org/packages/e1/89/ab8e86208467e467a80deaca4e434adac37b10a9d134cd2f99b28a01e483/pydantic_core-2.41.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ece5c59f0ce7d001e017643d8d24da587ea1f74f6993467d85ae8a5ef9d4f42b", size = 2135615, upload-time = "2025-11-04T13:43:08.116Z" }, + { url = "https://files.pythonhosted.org/packages/99/0a/99a53d06dd0348b2008f2f30884b34719c323f16c3be4e6cc1203b74a91d/pydantic_core-2.41.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:16f80f7abe3351f8ea6858914ddc8c77e02578544a0ebc15b4c2e1a0e813b0b2", size = 2175369, upload-time = "2025-11-04T13:43:12.49Z" }, + { url = "https://files.pythonhosted.org/packages/6d/94/30ca3b73c6d485b9bb0bc66e611cff4a7138ff9736b7e66bcf0852151636/pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:33cb885e759a705b426baada1fe68cbb0a2e68e34c5d0d0289a364cf01709093", size = 2144218, upload-time = "2025-11-04T13:43:15.431Z" }, + { url = "https://files.pythonhosted.org/packages/87/57/31b4f8e12680b739a91f472b5671294236b82586889ef764b5fbc6669238/pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:c8d8b4eb992936023be7dee581270af5c6e0697a8559895f527f5b7105ecd36a", size = 2329951, upload-time = "2025-11-04T13:43:18.062Z" }, + { url = "https://files.pythonhosted.org/packages/7d/73/3c2c8edef77b8f7310e6fb012dbc4b8551386ed575b9eb6fb2506e28a7eb/pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:242a206cd0318f95cd21bdacff3fcc3aab23e79bba5cac3db5a841c9ef9c6963", size = 2318428, upload-time = "2025-11-04T13:43:20.679Z" }, + { url = "https://files.pythonhosted.org/packages/2f/02/8559b1f26ee0d502c74f9cca5c0d2fd97e967e083e006bbbb4e97f3a043a/pydantic_core-2.41.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d3a978c4f57a597908b7e697229d996d77a6d3c94901e9edee593adada95ce1a", size = 2147009, upload-time = "2025-11-04T13:43:23.286Z" }, + { url = "https://files.pythonhosted.org/packages/5f/9b/1b3f0e9f9305839d7e84912f9e8bfbd191ed1b1ef48083609f0dabde978c/pydantic_core-2.41.5-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b2379fa7ed44ddecb5bfe4e48577d752db9fc10be00a6b7446e9663ba143de26", size = 2101980, upload-time = "2025-11-04T13:43:25.97Z" }, + { url = "https://files.pythonhosted.org/packages/a4/ed/d71fefcb4263df0da6a85b5d8a7508360f2f2e9b3bf5814be9c8bccdccc1/pydantic_core-2.41.5-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:266fb4cbf5e3cbd0b53669a6d1b039c45e3ce651fd5442eff4d07c2cc8d66808", size = 1923865, upload-time = "2025-11-04T13:43:28.763Z" }, + { url = "https://files.pythonhosted.org/packages/ce/3a/626b38db460d675f873e4444b4bb030453bbe7b4ba55df821d026a0493c4/pydantic_core-2.41.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58133647260ea01e4d0500089a8c4f07bd7aa6ce109682b1426394988d8aaacc", size = 2134256, upload-time = "2025-11-04T13:43:31.71Z" }, + { url = "https://files.pythonhosted.org/packages/83/d9/8412d7f06f616bbc053d30cb4e5f76786af3221462ad5eee1f202021eb4e/pydantic_core-2.41.5-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:287dad91cfb551c363dc62899a80e9e14da1f0e2b6ebde82c806612ca2a13ef1", size = 2174762, upload-time = "2025-11-04T13:43:34.744Z" }, + { url = "https://files.pythonhosted.org/packages/55/4c/162d906b8e3ba3a99354e20faa1b49a85206c47de97a639510a0e673f5da/pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:03b77d184b9eb40240ae9fd676ca364ce1085f203e1b1256f8ab9984dca80a84", size = 2143141, upload-time = "2025-11-04T13:43:37.701Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f2/f11dd73284122713f5f89fc940f370d035fa8e1e078d446b3313955157fe/pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:a668ce24de96165bb239160b3d854943128f4334822900534f2fe947930e5770", size = 2330317, upload-time = "2025-11-04T13:43:40.406Z" }, + { url = "https://files.pythonhosted.org/packages/88/9d/b06ca6acfe4abb296110fb1273a4d848a0bfb2ff65f3ee92127b3244e16b/pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f14f8f046c14563f8eb3f45f499cc658ab8d10072961e07225e507adb700e93f", size = 2316992, upload-time = "2025-11-04T13:43:43.602Z" }, + { url = "https://files.pythonhosted.org/packages/36/c7/cfc8e811f061c841d7990b0201912c3556bfeb99cdcb7ed24adc8d6f8704/pydantic_core-2.41.5-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:56121965f7a4dc965bff783d70b907ddf3d57f6eba29b6d2e5dabfaf07799c51", size = 2145302, upload-time = "2025-11-04T13:43:46.64Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, +] + +[[package]] +name = "pytest" +version = "8.4.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.10'" }, + { name = "iniconfig", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "packaging", marker = "python_full_version < '3.10'" }, + { name = "pluggy", marker = "python_full_version < '3.10'" }, + { name = "pygments", marker = "python_full_version < '3.10'" }, + { name = "tomli", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", size = 1519618, upload-time = "2025-09-04T14:34:22.711Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79", size = 365750, upload-time = "2025-09-04T14:34:20.226Z" }, +] + +[[package]] +name = "pytest" +version = "9.0.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.10'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version >= '3.10' and sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version == '3.10.*'" }, + { name = "iniconfig", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "packaging", marker = "python_full_version >= '3.10'" }, + { name = "pluggy", marker = "python_full_version >= '3.10'" }, + { name = "pygments", marker = "python_full_version >= '3.10'" }, + { name = "tomli", marker = "python_full_version == '3.10.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d1/db/7ef3487e0fb0049ddb5ce41d3a49c235bf9ad299b6a25d5780a89f19230f/pytest-9.0.2.tar.gz", hash = "sha256:75186651a92bd89611d1d9fc20f0b4345fd827c41ccd5c299a868a05d70edf11", size = 1568901, upload-time = "2025-12-06T21:30:51.014Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl", hash = "sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b", size = 374801, upload-time = "2025-12-06T21:30:49.154Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "tomli" +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/82/30/31573e9457673ab10aa432461bee537ce6cef177667deca369efb79df071/tomli-2.4.0.tar.gz", hash = "sha256:aa89c3f6c277dd275d8e243ad24f3b5e701491a860d5121f2cdd399fbb31fc9c", size = 17477, upload-time = "2026-01-11T11:22:38.165Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/d9/3dc2289e1f3b32eb19b9785b6a006b28ee99acb37d1d47f78d4c10e28bf8/tomli-2.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b5ef256a3fd497d4973c11bf142e9ed78b150d36f5773f1ca6088c230ffc5867", size = 153663, upload-time = "2026-01-11T11:21:45.27Z" }, + { url = "https://files.pythonhosted.org/packages/51/32/ef9f6845e6b9ca392cd3f64f9ec185cc6f09f0a2df3db08cbe8809d1d435/tomli-2.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5572e41282d5268eb09a697c89a7bee84fae66511f87533a6f88bd2f7b652da9", size = 148469, upload-time = "2026-01-11T11:21:46.873Z" }, + { url = "https://files.pythonhosted.org/packages/d6/c2/506e44cce89a8b1b1e047d64bd495c22c9f71f21e05f380f1a950dd9c217/tomli-2.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:551e321c6ba03b55676970b47cb1b73f14a0a4dce6a3e1a9458fd6d921d72e95", size = 236039, upload-time = "2026-01-11T11:21:48.503Z" }, + { url = "https://files.pythonhosted.org/packages/b3/40/e1b65986dbc861b7e986e8ec394598187fa8aee85b1650b01dd925ca0be8/tomli-2.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5e3f639a7a8f10069d0e15408c0b96a2a828cfdec6fca05296ebcdcc28ca7c76", size = 243007, upload-time = "2026-01-11T11:21:49.456Z" }, + { url = "https://files.pythonhosted.org/packages/9c/6f/6e39ce66b58a5b7ae572a0f4352ff40c71e8573633deda43f6a379d56b3e/tomli-2.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1b168f2731796b045128c45982d3a4874057626da0e2ef1fdd722848b741361d", size = 240875, upload-time = "2026-01-11T11:21:50.755Z" }, + { url = "https://files.pythonhosted.org/packages/aa/ad/cb089cb190487caa80204d503c7fd0f4d443f90b95cf4ef5cf5aa0f439b0/tomli-2.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:133e93646ec4300d651839d382d63edff11d8978be23da4cc106f5a18b7d0576", size = 246271, upload-time = "2026-01-11T11:21:51.81Z" }, + { url = "https://files.pythonhosted.org/packages/0b/63/69125220e47fd7a3a27fd0de0c6398c89432fec41bc739823bcc66506af6/tomli-2.4.0-cp311-cp311-win32.whl", hash = "sha256:b6c78bdf37764092d369722d9946cb65b8767bfa4110f902a1b2542d8d173c8a", size = 96770, upload-time = "2026-01-11T11:21:52.647Z" }, + { url = "https://files.pythonhosted.org/packages/1e/0d/a22bb6c83f83386b0008425a6cd1fa1c14b5f3dd4bad05e98cf3dbbf4a64/tomli-2.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:d3d1654e11d724760cdb37a3d7691f0be9db5fbdaef59c9f532aabf87006dbaa", size = 107626, upload-time = "2026-01-11T11:21:53.459Z" }, + { url = "https://files.pythonhosted.org/packages/2f/6d/77be674a3485e75cacbf2ddba2b146911477bd887dda9d8c9dfb2f15e871/tomli-2.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:cae9c19ed12d4e8f3ebf46d1a75090e4c0dc16271c5bce1c833ac168f08fb614", size = 94842, upload-time = "2026-01-11T11:21:54.831Z" }, + { url = "https://files.pythonhosted.org/packages/3c/43/7389a1869f2f26dba52404e1ef13b4784b6b37dac93bac53457e3ff24ca3/tomli-2.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:920b1de295e72887bafa3ad9f7a792f811847d57ea6b1215154030cf131f16b1", size = 154894, upload-time = "2026-01-11T11:21:56.07Z" }, + { url = "https://files.pythonhosted.org/packages/e9/05/2f9bf110b5294132b2edf13fe6ca6ae456204f3d749f623307cbb7a946f2/tomli-2.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7d6d9a4aee98fac3eab4952ad1d73aee87359452d1c086b5ceb43ed02ddb16b8", size = 149053, upload-time = "2026-01-11T11:21:57.467Z" }, + { url = "https://files.pythonhosted.org/packages/e8/41/1eda3ca1abc6f6154a8db4d714a4d35c4ad90adc0bcf700657291593fbf3/tomli-2.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:36b9d05b51e65b254ea6c2585b59d2c4cb91c8a3d91d0ed0f17591a29aaea54a", size = 243481, upload-time = "2026-01-11T11:21:58.661Z" }, + { url = "https://files.pythonhosted.org/packages/d2/6d/02ff5ab6c8868b41e7d4b987ce2b5f6a51d3335a70aa144edd999e055a01/tomli-2.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1c8a885b370751837c029ef9bc014f27d80840e48bac415f3412e6593bbc18c1", size = 251720, upload-time = "2026-01-11T11:22:00.178Z" }, + { url = "https://files.pythonhosted.org/packages/7b/57/0405c59a909c45d5b6f146107c6d997825aa87568b042042f7a9c0afed34/tomli-2.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8768715ffc41f0008abe25d808c20c3d990f42b6e2e58305d5da280ae7d1fa3b", size = 247014, upload-time = "2026-01-11T11:22:01.238Z" }, + { url = "https://files.pythonhosted.org/packages/2c/0e/2e37568edd944b4165735687cbaf2fe3648129e440c26d02223672ee0630/tomli-2.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7b438885858efd5be02a9a133caf5812b8776ee0c969fea02c45e8e3f296ba51", size = 251820, upload-time = "2026-01-11T11:22:02.727Z" }, + { url = "https://files.pythonhosted.org/packages/5a/1c/ee3b707fdac82aeeb92d1a113f803cf6d0f37bdca0849cb489553e1f417a/tomli-2.4.0-cp312-cp312-win32.whl", hash = "sha256:0408e3de5ec77cc7f81960c362543cbbd91ef883e3138e81b729fc3eea5b9729", size = 97712, upload-time = "2026-01-11T11:22:03.777Z" }, + { url = "https://files.pythonhosted.org/packages/69/13/c07a9177d0b3bab7913299b9278845fc6eaaca14a02667c6be0b0a2270c8/tomli-2.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:685306e2cc7da35be4ee914fd34ab801a6acacb061b6a7abca922aaf9ad368da", size = 108296, upload-time = "2026-01-11T11:22:04.86Z" }, + { url = "https://files.pythonhosted.org/packages/18/27/e267a60bbeeee343bcc279bb9e8fbed0cbe224bc7b2a3dc2975f22809a09/tomli-2.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:5aa48d7c2356055feef06a43611fc401a07337d5b006be13a30f6c58f869e3c3", size = 94553, upload-time = "2026-01-11T11:22:05.854Z" }, + { url = "https://files.pythonhosted.org/packages/34/91/7f65f9809f2936e1f4ce6268ae1903074563603b2a2bd969ebbda802744f/tomli-2.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84d081fbc252d1b6a982e1870660e7330fb8f90f676f6e78b052ad4e64714bf0", size = 154915, upload-time = "2026-01-11T11:22:06.703Z" }, + { url = "https://files.pythonhosted.org/packages/20/aa/64dd73a5a849c2e8f216b755599c511badde80e91e9bc2271baa7b2cdbb1/tomli-2.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9a08144fa4cba33db5255f9b74f0b89888622109bd2776148f2597447f92a94e", size = 149038, upload-time = "2026-01-11T11:22:07.56Z" }, + { url = "https://files.pythonhosted.org/packages/9e/8a/6d38870bd3d52c8d1505ce054469a73f73a0fe62c0eaf5dddf61447e32fa/tomli-2.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c73add4bb52a206fd0c0723432db123c0c75c280cbd67174dd9d2db228ebb1b4", size = 242245, upload-time = "2026-01-11T11:22:08.344Z" }, + { url = "https://files.pythonhosted.org/packages/59/bb/8002fadefb64ab2669e5b977df3f5e444febea60e717e755b38bb7c41029/tomli-2.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1fb2945cbe303b1419e2706e711b7113da57b7db31ee378d08712d678a34e51e", size = 250335, upload-time = "2026-01-11T11:22:09.951Z" }, + { url = "https://files.pythonhosted.org/packages/a5/3d/4cdb6f791682b2ea916af2de96121b3cb1284d7c203d97d92d6003e91c8d/tomli-2.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bbb1b10aa643d973366dc2cb1ad94f99c1726a02343d43cbc011edbfac579e7c", size = 245962, upload-time = "2026-01-11T11:22:11.27Z" }, + { url = "https://files.pythonhosted.org/packages/f2/4a/5f25789f9a460bd858ba9756ff52d0830d825b458e13f754952dd15fb7bb/tomli-2.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4cbcb367d44a1f0c2be408758b43e1ffb5308abe0ea222897d6bfc8e8281ef2f", size = 250396, upload-time = "2026-01-11T11:22:12.325Z" }, + { url = "https://files.pythonhosted.org/packages/aa/2f/b73a36fea58dfa08e8b3a268750e6853a6aac2a349241a905ebd86f3047a/tomli-2.4.0-cp313-cp313-win32.whl", hash = "sha256:7d49c66a7d5e56ac959cb6fc583aff0651094ec071ba9ad43df785abc2320d86", size = 97530, upload-time = "2026-01-11T11:22:13.865Z" }, + { url = "https://files.pythonhosted.org/packages/3b/af/ca18c134b5d75de7e8dc551c5234eaba2e8e951f6b30139599b53de9c187/tomli-2.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:3cf226acb51d8f1c394c1b310e0e0e61fecdd7adcb78d01e294ac297dd2e7f87", size = 108227, upload-time = "2026-01-11T11:22:15.224Z" }, + { url = "https://files.pythonhosted.org/packages/22/c3/b386b832f209fee8073c8138ec50f27b4460db2fdae9ffe022df89a57f9b/tomli-2.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:d20b797a5c1ad80c516e41bc1fb0443ddb5006e9aaa7bda2d71978346aeb9132", size = 94748, upload-time = "2026-01-11T11:22:16.009Z" }, + { url = "https://files.pythonhosted.org/packages/f3/c4/84047a97eb1004418bc10bdbcfebda209fca6338002eba2dc27cc6d13563/tomli-2.4.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:26ab906a1eb794cd4e103691daa23d95c6919cc2fa9160000ac02370cc9dd3f6", size = 154725, upload-time = "2026-01-11T11:22:17.269Z" }, + { url = "https://files.pythonhosted.org/packages/a8/5d/d39038e646060b9d76274078cddf146ced86dc2b9e8bbf737ad5983609a0/tomli-2.4.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:20cedb4ee43278bc4f2fee6cb50daec836959aadaf948db5172e776dd3d993fc", size = 148901, upload-time = "2026-01-11T11:22:18.287Z" }, + { url = "https://files.pythonhosted.org/packages/73/e5/383be1724cb30f4ce44983d249645684a48c435e1cd4f8b5cded8a816d3c/tomli-2.4.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:39b0b5d1b6dd03684b3fb276407ebed7090bbec989fa55838c98560c01113b66", size = 243375, upload-time = "2026-01-11T11:22:19.154Z" }, + { url = "https://files.pythonhosted.org/packages/31/f0/bea80c17971c8d16d3cc109dc3585b0f2ce1036b5f4a8a183789023574f2/tomli-2.4.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a26d7ff68dfdb9f87a016ecfd1e1c2bacbe3108f4e0f8bcd2228ef9a766c787d", size = 250639, upload-time = "2026-01-11T11:22:20.168Z" }, + { url = "https://files.pythonhosted.org/packages/2c/8f/2853c36abbb7608e3f945d8a74e32ed3a74ee3a1f468f1ffc7d1cb3abba6/tomli-2.4.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:20ffd184fb1df76a66e34bd1b36b4a4641bd2b82954befa32fe8163e79f1a702", size = 246897, upload-time = "2026-01-11T11:22:21.544Z" }, + { url = "https://files.pythonhosted.org/packages/49/f0/6c05e3196ed5337b9fe7ea003e95fd3819a840b7a0f2bf5a408ef1dad8ed/tomli-2.4.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:75c2f8bbddf170e8effc98f5e9084a8751f8174ea6ccf4fca5398436e0320bc8", size = 254697, upload-time = "2026-01-11T11:22:23.058Z" }, + { url = "https://files.pythonhosted.org/packages/f3/f5/2922ef29c9f2951883525def7429967fc4d8208494e5ab524234f06b688b/tomli-2.4.0-cp314-cp314-win32.whl", hash = "sha256:31d556d079d72db7c584c0627ff3a24c5d3fb4f730221d3444f3efb1b2514776", size = 98567, upload-time = "2026-01-11T11:22:24.033Z" }, + { url = "https://files.pythonhosted.org/packages/7b/31/22b52e2e06dd2a5fdbc3ee73226d763b184ff21fc24e20316a44ccc4d96b/tomli-2.4.0-cp314-cp314-win_amd64.whl", hash = "sha256:43e685b9b2341681907759cf3a04e14d7104b3580f808cfde1dfdb60ada85475", size = 108556, upload-time = "2026-01-11T11:22:25.378Z" }, + { url = "https://files.pythonhosted.org/packages/48/3d/5058dff3255a3d01b705413f64f4306a141a8fd7a251e5a495e3f192a998/tomli-2.4.0-cp314-cp314-win_arm64.whl", hash = "sha256:3d895d56bd3f82ddd6faaff993c275efc2ff38e52322ea264122d72729dca2b2", size = 96014, upload-time = "2026-01-11T11:22:26.138Z" }, + { url = "https://files.pythonhosted.org/packages/b8/4e/75dab8586e268424202d3a1997ef6014919c941b50642a1682df43204c22/tomli-2.4.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:5b5807f3999fb66776dbce568cc9a828544244a8eb84b84b9bafc080c99597b9", size = 163339, upload-time = "2026-01-11T11:22:27.143Z" }, + { url = "https://files.pythonhosted.org/packages/06/e3/b904d9ab1016829a776d97f163f183a48be6a4deb87304d1e0116a349519/tomli-2.4.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c084ad935abe686bd9c898e62a02a19abfc9760b5a79bc29644463eaf2840cb0", size = 159490, upload-time = "2026-01-11T11:22:28.399Z" }, + { url = "https://files.pythonhosted.org/packages/e3/5a/fc3622c8b1ad823e8ea98a35e3c632ee316d48f66f80f9708ceb4f2a0322/tomli-2.4.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f2e3955efea4d1cfbcb87bc321e00dc08d2bcb737fd1d5e398af111d86db5df", size = 269398, upload-time = "2026-01-11T11:22:29.345Z" }, + { url = "https://files.pythonhosted.org/packages/fd/33/62bd6152c8bdd4c305ad9faca48f51d3acb2df1f8791b1477d46ff86e7f8/tomli-2.4.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e0fe8a0b8312acf3a88077a0802565cb09ee34107813bba1c7cd591fa6cfc8d", size = 276515, upload-time = "2026-01-11T11:22:30.327Z" }, + { url = "https://files.pythonhosted.org/packages/4b/ff/ae53619499f5235ee4211e62a8d7982ba9e439a0fb4f2f351a93d67c1dd2/tomli-2.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:413540dce94673591859c4c6f794dfeaa845e98bf35d72ed59636f869ef9f86f", size = 273806, upload-time = "2026-01-11T11:22:32.56Z" }, + { url = "https://files.pythonhosted.org/packages/47/71/cbca7787fa68d4d0a9f7072821980b39fbb1b6faeb5f5cf02f4a5559fa28/tomli-2.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:0dc56fef0e2c1c470aeac5b6ca8cc7b640bb93e92d9803ddaf9ea03e198f5b0b", size = 281340, upload-time = "2026-01-11T11:22:33.505Z" }, + { url = "https://files.pythonhosted.org/packages/f5/00/d595c120963ad42474cf6ee7771ad0d0e8a49d0f01e29576ee9195d9ecdf/tomli-2.4.0-cp314-cp314t-win32.whl", hash = "sha256:d878f2a6707cc9d53a1be1414bbb419e629c3d6e67f69230217bb663e76b5087", size = 108106, upload-time = "2026-01-11T11:22:34.451Z" }, + { url = "https://files.pythonhosted.org/packages/de/69/9aa0c6a505c2f80e519b43764f8b4ba93b5a0bbd2d9a9de6e2b24271b9a5/tomli-2.4.0-cp314-cp314t-win_amd64.whl", hash = "sha256:2add28aacc7425117ff6364fe9e06a183bb0251b03f986df0e78e974047571fd", size = 120504, upload-time = "2026-01-11T11:22:35.764Z" }, + { url = "https://files.pythonhosted.org/packages/b3/9f/f1668c281c58cfae01482f7114a4b88d345e4c140386241a1a24dcc9e7bc/tomli-2.4.0-cp314-cp314t-win_arm64.whl", hash = "sha256:2b1e3b80e1d5e52e40e9b924ec43d81570f0e7d09d11081b797bc4692765a3d4", size = 99561, upload-time = "2026-01-11T11:22:36.624Z" }, + { url = "https://files.pythonhosted.org/packages/23/d1/136eb2cb77520a31e1f64cbae9d33ec6df0d78bdf4160398e86eec8a8754/tomli-2.4.0-py3-none-any.whl", hash = "sha256:1f776e7d669ebceb01dee46484485f43a4048746235e683bcdffacdf1fb4785a", size = 14477, upload-time = "2026-01-11T11:22:37.446Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, +] + +[[package]] +name = "urllib3" +version = "2.6.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" }, +]