# coding: utf-8

"""
    Wink Payment API

    A programmatic way to create bookings, receive reactive and disburse funds globally.  ## APIs Not every integrator needs every APIs. For that reason, we have separated APIs into context.  - [Affiliate](/affiliate): All APIs related to selling travel inventory as an affiliate. - [Analytics](/analytics): All APIs related to tracking metrics across a wide variety of data source segments including, more entertaining, leaderboard metrics. - [Booking](/booking): All APIs related to creating platform bookings. - [Channel Manager](/channel-manager): All APIs related to channel managers who want to integrate with our platform. - [Extranet](/extranet): All APIs related to managing travel inventory and suppliers. - [Inventory](/inventory): All APIs related to retrieve known travel inventory as it was found using the Lookup API.. - [Lookup](/lookup): All APIs related to locating inventory by region, locale and property flags. - [Reference](/reference): All APIs related to retrieving platform-supported taxonomies. - [TripPay](/reactive): All APIs related to TripPay account management, booking, mapping and integration features.  ## SDKs We are actively working on supporting the most used languages out there. If you don't see your language here, reach out to us with a request to officially add your language. In the meantime, if you want to roll your own SDK, you can do so by downloading the OpenAPI spec and using one of the many available OpenAPI generators available: [https://openapi-generator.tech/docs/generators](https://openapi-generator.tech/docs/generators).  - Java SDK [https://github.com/wink-travel/trip-pay-sdk-java](https://github.com/wink-travel/trip-pay-sdk-java)  # Usage These features are made available to you via a [REST API](https://en.wikipedia.org/wiki/Representational_state_transfer). This API is language agnostic. We will link to SDKs for the most popular programming languages on this page as they become available.  ## Versioning We chose to version our endpoints in a way that we hope affects your integration with us the least. You request the version of our API you wish to work with via the `Wink-Version` header. When it's time for you to upgrade, you only have to change the version number to get access to our updated endpoints.  ## Release history - Follow updates on Github: https://github.com/wink-travel/wink-sdk-java/blob/master/CHANGELOG.md 

    The version of the OpenAPI document: 30.9.11
    Contact: bjorn@wink.travel
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import unittest

from trip_pay_payment.models.multi_booking_contract_response import MultiBookingContractResponse

class TestMultiBookingContractResponse(unittest.TestCase):
    """MultiBookingContractResponse unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> MultiBookingContractResponse:
        """Test MultiBookingContractResponse
            include_optional is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # uncomment below to create an instance of `MultiBookingContractResponse`
        """
        model = MultiBookingContractResponse()
        if include_optional:
            return MultiBookingContractResponse(
                list = [
                    trip_pay_payment.models.booking_contract.BookingContract(
                        id = 'doc-1', 
                        created_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        last_update = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        version = 12, 
                        federated_organization_identifier = 'owner-1', 
                        federated_organization_name = 'Wink', 
                        user = trip_pay_payment.models.authenticated_user.AuthenticatedUser(
                            user_identifier = '', 
                            first_name = 'John', 
                            last_name = 'Smith', 
                            email = 'john.smith@email.com', 
                            full_name = 'John Smith', ), 
                        ip_address = '111.222.333.444', 
                        trace_id = 'T-123456', 
                        source_url = 'https://www.traveliko.com', 
                        identifier = 'unique-supplier-booking-contract-1', 
                        supplier_identifier = '', 
                        supplier_name = 'Supplier One', 
                        display_price_quote = trip_pay_payment.models.quote.Quote(
                            source = '', 
                            target = '', 
                            exchange_rate = 1.337, 
                            timestamp = 56, ), 
                        supplier_price_quote = trip_pay_payment.models.quote.Quote(
                            source = '', 
                            target = '', 
                            exchange_rate = 1.337, 
                            timestamp = 56, ), 
                        internal_price_quote = , 
                        capture_price_quote = , 
                        item_list = [
                            trip_pay_payment.models.booking_contract_item.BookingContractItem(
                                supplier_item_booking_code = 'TP-ASDFG1234', 
                                user = trip_pay_payment.models.guest_user.GuestUser(
                                    user_identifier = '', 
                                    first_name = 'John', 
                                    last_name = 'Smith', 
                                    email = 'john.smith@email.com', 
                                    telephone = '+1 212 555 1212', 
                                    profile = trip_pay_payment.models.profile.Profile(
                                        profile_identifier = '', 
                                        user_identifier = '', 
                                        share = True, 
                                        user = trip_pay_payment.models.profile_user.ProfileUser(
                                            first_name = 'Avid', 
                                            last_name = 'Travelman', 
                                            email = 'avid@travelman.com', 
                                            phone = '0123456789', 
                                            profile_picture_url = '', 
                                            full_name = 'John Smith', ), 
                                        personal = trip_pay_payment.models.personal.Personal(
                                            gender = 'MALE', 
                                            birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), 
                                            marital_status = 'ANNULLED', 
                                            child_quantity = 56, 
                                            citizenship = '', 
                                            address1 = '', 
                                            address2 = '', 
                                            city = '', 
                                            state = '', 
                                            postal_code = '', 
                                            country = '', 
                                            preferred_currency = 'USD', 
                                            language = '', 
                                            contact_person = [
                                                trip_pay_payment.models.contact.Contact(
                                                    first_name = 'John', 
                                                    last_name = 'Smith', 
                                                    email = 'johnsmith@email.com', 
                                                    secondary_email = 'johnsmith2@email.com', 
                                                    phone_number = '+12125551212', 
                                                    full_name = 'John Smith', 
                                                    summary = 'John Smith (johnsmith@gmail.com / +12125551212)', )
                                                ], 
                                            phys_chall_name = [
                                                ''
                                                ], 
                                            pet_info = [
                                                trip_pay_payment.models.pet_info_dto.PetInfoDto(
                                                    name = '', 
                                                    type = '', )
                                                ], ), 
                                        preferences = trip_pay_payment.models.preferences.Preferences(
                                            property_location_pref = '', 
                                            property_type_pref = '', 
                                            hotel_chain_pref = '', 
                                            property_amenity_pref = [
                                                ''
                                                ], 
                                            recreation_srvc_pref = [
                                                ''
                                                ], 
                                            business_srvc_pref = [
                                                ''
                                                ], 
                                            security_feature_pref = [
                                                ''
                                                ], 
                                            phys_chal_feature_pref = [
                                                ''
                                                ], 
                                            smoking_allowed = True, 
                                            room_location_pref = '', 
                                            bed_type_pref = '', 
                                            food_srvc_pref = '', 
                                            room_amenity_pref = [
                                                ''
                                                ], 
                                            guest_type = '', 
                                            meal_pref = '', 
                                            cuisine_pref = '', 
                                            interest_pref = [
                                                ''
                                                ], 
                                            beverage_pref = [
                                                ''
                                                ], 
                                            food_pref = [
                                                ''
                                                ], 
                                            allergies = [
                                                ''
                                                ], 
                                            pets_pref = [
                                                ''
                                                ], ), ), 
                                    full_name = 'John Smith', ), 
                                name_in_english = 'Deluxe King', 
                                description_in_english = 'This is the best deluxe king that money can buy.', 
                                itinerary = trip_pay_payment.models.simple_date_time_itinerary.SimpleDateTimeItinerary(
                                    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'), 
                                    adults = 0, 
                                    children = 0, 
                                    hours = 56, 
                                    guests = 56, 
                                    nights = 56, ), 
                                pricing_type = 'PER_STAY', 
                                type = 'LODGING', 
                                beneficiary_list = [
                                    trip_pay_payment.models.beneficiary.Beneficiary(
                                        account_identifier = 'account-1', 
                                        account_name = 'Account 1', 
                                        account_email = 'account@one.com', 
                                        account_url = 'https://some.url', 
                                        type = 'COMMISSION', 
                                        amount_due = trip_pay_payment.models.beneficiary_charge.BeneficiaryCharge(
                                            type = 'PERCENTAGE', 
                                            percent = 1.337, ), 
                                        source_currency = 'USD', 
                                        display_currency = 'USD', 
                                        supplier_currency = 'USD', 
                                        internal_currency = 'USD', 
                                        capture_currency = 'USD', 
                                        source_amount = 50, 
                                        display_amount = 50, 
                                        supplier_amount = 50, 
                                        internal_amount = 50, 
                                        capture_amount = 50, 
                                        source_amount_refund_modifier = 5, 
                                        display_amount_refund_modifier = 5, 
                                        supplier_amount_refund_modifier = 5, 
                                        internal_amount_refund_modifier = 5, 
                                        capture_amount_refund_modifier = 5, 
                                        pending_refunds = [
                                            trip_pay_payment.models.pending_refund.PendingRefund(
                                                refund_identifier = 'refund-1', 
                                                source_amount_refund_modifier = 5, 
                                                display_amount_refund_modifier = 5, 
                                                supplier_amount_refund_modifier = 5, 
                                                internal_amount_refund_modifier = 5, 
                                                capture_amount_refund_modifier = 5, )
                                            ], 
                                        net_source_amount = 0, 
                                        net_display_amount = 0, 
                                        net_supplier_amount = 0, 
                                        net_internal_amount = 0, 
                                        net_capture_amount = 0, 
                                        reconciled = False, 
                                        metadata = {
                                            'key' : ''
                                            }, )
                                    ], 
                                payable = 'PREPAY', 
                                policy = trip_pay_payment.models.supplier_contract_item_policy.SupplierContractItemPolicy(
                                    refundable = True, 
                                    advance_cancellation_free_of_charge = 'UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL', 
                                    refundable_cancellation_charge = 'FIFTY_PERCENT', 
                                    no_show_charge = 'SAME_AS_CANCELLATION_FEE', 
                                    non_refundable_cancellation_charge = 'SEVENTY_PERCENT', 
                                    non_refundable_deadline = 'SEVEN_DAYS_BEFORE_ARRIVAL', 
                                    non_refundable_after_deadline_cancellation_charge = 'ONE_HUNDRED_PERCENT', 
                                    external_identifier = 'policy-1', 
                                    fully_refundable = True, 
                                    partially_refundable = True, ), 
                                external_identifier = 'room-type-1', 
                                tokens_earned = 12, 
                                daily_rate_list = [
                                    trip_pay_payment.models.daily_rate.DailyRate(
                                        date = 'Mon Aug 24 03:00:00 EEST 2020', 
                                        price = trip_pay_payment.models.custom_monetary_amount.CustomMonetaryAmount(
                                            amount = 1.337, 
                                            currency = '', ), 
                                        display_price = trip_pay_payment.models.custom_monetary_amount.CustomMonetaryAmount(
                                            amount = 1.337, 
                                            currency = '', ), 
                                        supplier_price = , 
                                        internal_price = , 
                                        capture_price = , )
                                    ], 
                                cancelled = True, 
                                source_currency = 'USD', 
                                display_currency = 'USD', 
                                supplier_currency = 'USD', 
                                internal_currency = 'USD', 
                                capture_currency = 'USD', 
                                source_amount = 0, 
                                display_amount = 0, 
                                supplier_amount = 0, 
                                internal_amount = 0, 
                                capture_amount = 0, 
                                source_amount_refund_modifier = 0, 
                                display_amount_refund_modifier = 0, 
                                supplier_amount_refund_modifier = 0, 
                                internal_amount_refund_modifier = 0, 
                                capture_amount_refund_modifier = 0, 
                                net_source_amount = 0, 
                                net_display_amount = 0, 
                                net_supplier_amount = 0, 
                                net_internal_amount = 0, 
                                net_capture_amount = 0, 
                                metadata = {
                                    'key' : ''
                                    }, 
                                cancellable_by_traveler = True, 
                                cancellable_by_supplier_or_agent = True, 
                                cancellable_with_no_charges = True, 
                                cancellable_with_potential_charges = True, )
                            ], 
                        external_supplier_identifier = 'supplier-a', 
                        external_supplier_booking_code = 'external-booking-code-1', 
                        payment = trip_pay_payment.models.booking_contract_payment_details.BookingContractPaymentDetails(
                            acquirer_identifier = 'stripe-world', 
                            vendor = 'STRIPE', 
                            transaction_identifier = 'tx-1', 
                            customer_identifier = 'customer-1', 
                            charge_identifier = 'charge-1', 
                            status = 'INITIALIZED', 
                            agent_invoiced_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                            agent_invoice_identifier = 'invoice-1', 
                            redirect_url = '', 
                            fees = [
                                trip_pay_payment.models.fee.Fee(
                                    identifier = 'ABC1234', 
                                    fee = , 
                                    type = 'ACQUIRING', 
                                    description = '', )
                                ], 
                            vendor_specific = {
                                'key' : ''
                                }, ), 
                        cancelled = False, 
                        cancelled_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        canceller = 'SALES_CHANNEL', 
                        cancellation_type = 'DUPLICATE', 
                        canceller_user_identifier = '', 
                        cancel_reason = '', 
                        funds_processed = False, 
                        refunds = [
                            trip_pay_payment.models.refund.Refund(
                                identifier = 'refund-1', 
                                acquirer_refund_identifier = 'r-123456', 
                                requested_by_identifier = 'user-1', 
                                refund = , 
                                created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                                description = 'Customer made a mistake', 
                                reason_type = 'DUPLICATE', 
                                cancel_on_refund = 'NONE', 
                                status_type = 'SUCCEEDED', 
                                request_type = 'BY_ADMIN', 
                                request_status = 'APPROVED', 
                                request_response = 'We have rejected your request. Your cancellation policy does not warrant a manual refund.', 
                                receipt_url = 'https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xSXcxazVBQ3F2UW9nN1IxKIPqo54GMgbHKn45YQY6LBbCZ62655YzamuWDVeWAaw7uApCrxewxjSsZX4C9Lef5jY9JeYFrOVx3IaI', 
                                retries = 0, 
                                allocation = 'EQUAL_DISTRIBUTION', )
                            ], 
                        payouts = [
                            trip_pay_payment.models.payout.Payout(
                                vendor = 'STRIPE', 
                                vendor_identifier = '', 
                                vendor_name = '', 
                                ledger_identifier = '', 
                                beneficiary_identifier = '', 
                                external_payee_identifier = 'wise-recipient-1', 
                                type = 'BANK_TRANSFER', 
                                entry = , 
                                quote = , 
                                created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                                description = 'Card created successfully', 
                                payout_id = 'stripe-card-1', 
                                reference_code = 'ABC1234', 
                                reference_code_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                                status = 'SCHEDULED', )
                            ], 
                        source_currency = 'USD', 
                        display_currency = 'USD', 
                        supplier_currency = 'USD', 
                        internal_currency = 'USD', 
                        capture_currency = 'USD', 
                        source_amount = 0, 
                        display_amount = 0, 
                        supplier_amount = 0, 
                        internal_amount = 0, 
                        capture_amount = 0, 
                        source_amount_refund_modifier = 0, 
                        display_amount_refund_modifier = 0, 
                        supplier_amount_refund_modifier = 0, 
                        internal_amount_refund_modifier = 0, 
                        capture_amount_refund_modifier = 0, 
                        net_source_amount = 0, 
                        net_display_amount = 0, 
                        net_supplier_amount = 0, 
                        net_internal_amount = 0, 
                        net_capture_amount = 0, 
                        metadata = {
                            'key' : ''
                            }, 
                        net_commissionable_total_source_amount = , 
                        net_commissionable_total_capture_amount = , 
                        net_commissionable_total_display_amount = , 
                        net_commissionable_total_supplier_amount = , 
                        net_commissionable_total_internal_amount = , 
                        net_total_fees_and_commissions_source_amount = , 
                        net_total_fees_and_commissions_capture_amount = , 
                        net_total_fees_and_commissions_display_amount = , 
                        net_total_fees_and_commissions_supplier_amount = , 
                        net_total_fees_and_commissions_internal_amount = , 
                        net_total_fees_source_amount = , 
                        net_total_fees_capture_amount = , 
                        net_total_fees_display_amount = , 
                        net_total_fees_supplier_amount = , 
                        net_total_fees_internal_amount = , 
                        net_total_trip_pay_fee_source_amount = , 
                        net_total_trip_pay_fee_capture_amount = , 
                        net_total_trip_pay_fee_display_amount = , 
                        net_total_trip_pay_fee_supplier_amount = , 
                        net_total_trip_pay_fee_internal_amount = , 
                        net_total_sales_source_amount = , 
                        net_total_sales_capture_amount = , 
                        net_total_sales_display_amount = , 
                        net_total_sales_supplier_amount = , 
                        net_total_sales_internal_amount = , 
                        commissionable_total_source_amount = , 
                        commissionable_total_capture_amount = , 
                        commissionable_total_display_amount = , 
                        commissionable_total_supplier_amount = , 
                        commissionable_total_internal_amount = , 
                        total_fees_and_commissions_source_amount = , 
                        total_fees_and_commissions_capture_amount = , 
                        total_fees_and_commissions_display_amount = , 
                        total_fees_and_commissions_supplier_amount = , 
                        total_fees_and_commissions_internal_amount = , 
                        total_fees_source_amount = , 
                        total_fees_capture_amount = , 
                        total_fees_display_amount = , 
                        total_fees_supplier_amount = , 
                        total_fees_internal_amount = , 
                        total_trip_pay_fee_source_amount = , 
                        total_trip_pay_fee_capture_amount = , 
                        total_trip_pay_fee_display_amount = , 
                        total_trip_pay_fee_supplier_amount = , 
                        total_trip_pay_fee_internal_amount = , 
                        total_sales_source_amount = , 
                        total_sales_capture_amount = , 
                        total_sales_display_amount = , 
                        total_sales_supplier_amount = , 
                        total_sales_internal_amount = , 
                        funds_available_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), 
                        total_fees_in_percent_with_refund = 1.337, 
                        total_fees_in_percent = 1.337, 
                        total_trip_pay_fee_in_percent_with_refund = 1.337, 
                        total_trip_pay_fee_in_percent = 1.337, 
                        total_commissions_in_percent_with_refund = 1.337, 
                        total_commissions_in_percent = 1.337, 
                        total_fees_and_commissions_in_percent_with_refund = 1.337, 
                        total_fees_and_commissions_in_percent = 1.337, 
                        original_fees_in_percent = 1.337, 
                        original_commissions_in_percent = 1.337, 
                        net_total_customers_source_amount = , 
                        net_total_customers_capture_amount = , 
                        net_total_customers_display_amount = , 
                        net_total_customers_supplier_amount = , 
                        net_total_customers_internal_amount = , 
                        has_refunds = True, 
                        has_successful_refunds = True, 
                        has_pending_refunds = True, 
                        has_failed_refunds = True, 
                        platform_identifier = '', 
                        total_funds_grouped_by_beneficiary = [
                            trip_pay_payment.models.beneficiary.Beneficiary(
                                account_identifier = 'account-1', 
                                account_name = 'Account 1', 
                                account_email = 'account@one.com', 
                                account_url = 'https://some.url', 
                                type = 'COMMISSION', 
                                source_currency = 'USD', 
                                display_currency = 'USD', 
                                supplier_currency = 'USD', 
                                internal_currency = 'USD', 
                                capture_currency = 'USD', 
                                source_amount = 50, 
                                display_amount = 50, 
                                supplier_amount = 50, 
                                internal_amount = 50, 
                                capture_amount = 50, 
                                source_amount_refund_modifier = 5, 
                                display_amount_refund_modifier = 5, 
                                supplier_amount_refund_modifier = 5, 
                                internal_amount_refund_modifier = 5, 
                                capture_amount_refund_modifier = 5, 
                                net_source_amount = 0, 
                                net_display_amount = 0, 
                                net_supplier_amount = 0, 
                                net_internal_amount = 0, 
                                net_capture_amount = 0, 
                                reconciled = False, )
                            ], 
                        total_tokens_earned = 56, 
                        cancellable_by_traveler = True, 
                        cancellable_by_supplier_or_agent = True, 
                        cancellable_with_no_charges = True, 
                        cancellable_with_potential_charges = True, 
                        refunded = True, 
                        refundable = True, )
                    ]
            )
        else:
            return MultiBookingContractResponse(
                list = [
                    trip_pay_payment.models.booking_contract.BookingContract(
                        id = 'doc-1', 
                        created_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        last_update = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        version = 12, 
                        federated_organization_identifier = 'owner-1', 
                        federated_organization_name = 'Wink', 
                        user = trip_pay_payment.models.authenticated_user.AuthenticatedUser(
                            user_identifier = '', 
                            first_name = 'John', 
                            last_name = 'Smith', 
                            email = 'john.smith@email.com', 
                            full_name = 'John Smith', ), 
                        ip_address = '111.222.333.444', 
                        trace_id = 'T-123456', 
                        source_url = 'https://www.traveliko.com', 
                        identifier = 'unique-supplier-booking-contract-1', 
                        supplier_identifier = '', 
                        supplier_name = 'Supplier One', 
                        display_price_quote = trip_pay_payment.models.quote.Quote(
                            source = '', 
                            target = '', 
                            exchange_rate = 1.337, 
                            timestamp = 56, ), 
                        supplier_price_quote = trip_pay_payment.models.quote.Quote(
                            source = '', 
                            target = '', 
                            exchange_rate = 1.337, 
                            timestamp = 56, ), 
                        internal_price_quote = , 
                        capture_price_quote = , 
                        item_list = [
                            trip_pay_payment.models.booking_contract_item.BookingContractItem(
                                supplier_item_booking_code = 'TP-ASDFG1234', 
                                user = trip_pay_payment.models.guest_user.GuestUser(
                                    user_identifier = '', 
                                    first_name = 'John', 
                                    last_name = 'Smith', 
                                    email = 'john.smith@email.com', 
                                    telephone = '+1 212 555 1212', 
                                    profile = trip_pay_payment.models.profile.Profile(
                                        profile_identifier = '', 
                                        user_identifier = '', 
                                        share = True, 
                                        user = trip_pay_payment.models.profile_user.ProfileUser(
                                            first_name = 'Avid', 
                                            last_name = 'Travelman', 
                                            email = 'avid@travelman.com', 
                                            phone = '0123456789', 
                                            profile_picture_url = '', 
                                            full_name = 'John Smith', ), 
                                        personal = trip_pay_payment.models.personal.Personal(
                                            gender = 'MALE', 
                                            birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), 
                                            marital_status = 'ANNULLED', 
                                            child_quantity = 56, 
                                            citizenship = '', 
                                            address1 = '', 
                                            address2 = '', 
                                            city = '', 
                                            state = '', 
                                            postal_code = '', 
                                            country = '', 
                                            preferred_currency = 'USD', 
                                            language = '', 
                                            contact_person = [
                                                trip_pay_payment.models.contact.Contact(
                                                    first_name = 'John', 
                                                    last_name = 'Smith', 
                                                    email = 'johnsmith@email.com', 
                                                    secondary_email = 'johnsmith2@email.com', 
                                                    phone_number = '+12125551212', 
                                                    full_name = 'John Smith', 
                                                    summary = 'John Smith (johnsmith@gmail.com / +12125551212)', )
                                                ], 
                                            phys_chall_name = [
                                                ''
                                                ], 
                                            pet_info = [
                                                trip_pay_payment.models.pet_info_dto.PetInfoDto(
                                                    name = '', 
                                                    type = '', )
                                                ], ), 
                                        preferences = trip_pay_payment.models.preferences.Preferences(
                                            property_location_pref = '', 
                                            property_type_pref = '', 
                                            hotel_chain_pref = '', 
                                            property_amenity_pref = [
                                                ''
                                                ], 
                                            recreation_srvc_pref = [
                                                ''
                                                ], 
                                            business_srvc_pref = [
                                                ''
                                                ], 
                                            security_feature_pref = [
                                                ''
                                                ], 
                                            phys_chal_feature_pref = [
                                                ''
                                                ], 
                                            smoking_allowed = True, 
                                            room_location_pref = '', 
                                            bed_type_pref = '', 
                                            food_srvc_pref = '', 
                                            room_amenity_pref = [
                                                ''
                                                ], 
                                            guest_type = '', 
                                            meal_pref = '', 
                                            cuisine_pref = '', 
                                            interest_pref = [
                                                ''
                                                ], 
                                            beverage_pref = [
                                                ''
                                                ], 
                                            food_pref = [
                                                ''
                                                ], 
                                            allergies = [
                                                ''
                                                ], 
                                            pets_pref = [
                                                ''
                                                ], ), ), 
                                    full_name = 'John Smith', ), 
                                name_in_english = 'Deluxe King', 
                                description_in_english = 'This is the best deluxe king that money can buy.', 
                                itinerary = trip_pay_payment.models.simple_date_time_itinerary.SimpleDateTimeItinerary(
                                    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'), 
                                    adults = 0, 
                                    children = 0, 
                                    hours = 56, 
                                    guests = 56, 
                                    nights = 56, ), 
                                pricing_type = 'PER_STAY', 
                                type = 'LODGING', 
                                beneficiary_list = [
                                    trip_pay_payment.models.beneficiary.Beneficiary(
                                        account_identifier = 'account-1', 
                                        account_name = 'Account 1', 
                                        account_email = 'account@one.com', 
                                        account_url = 'https://some.url', 
                                        type = 'COMMISSION', 
                                        amount_due = trip_pay_payment.models.beneficiary_charge.BeneficiaryCharge(
                                            type = 'PERCENTAGE', 
                                            percent = 1.337, ), 
                                        source_currency = 'USD', 
                                        display_currency = 'USD', 
                                        supplier_currency = 'USD', 
                                        internal_currency = 'USD', 
                                        capture_currency = 'USD', 
                                        source_amount = 50, 
                                        display_amount = 50, 
                                        supplier_amount = 50, 
                                        internal_amount = 50, 
                                        capture_amount = 50, 
                                        source_amount_refund_modifier = 5, 
                                        display_amount_refund_modifier = 5, 
                                        supplier_amount_refund_modifier = 5, 
                                        internal_amount_refund_modifier = 5, 
                                        capture_amount_refund_modifier = 5, 
                                        pending_refunds = [
                                            trip_pay_payment.models.pending_refund.PendingRefund(
                                                refund_identifier = 'refund-1', 
                                                source_amount_refund_modifier = 5, 
                                                display_amount_refund_modifier = 5, 
                                                supplier_amount_refund_modifier = 5, 
                                                internal_amount_refund_modifier = 5, 
                                                capture_amount_refund_modifier = 5, )
                                            ], 
                                        net_source_amount = 0, 
                                        net_display_amount = 0, 
                                        net_supplier_amount = 0, 
                                        net_internal_amount = 0, 
                                        net_capture_amount = 0, 
                                        reconciled = False, 
                                        metadata = {
                                            'key' : ''
                                            }, )
                                    ], 
                                payable = 'PREPAY', 
                                policy = trip_pay_payment.models.supplier_contract_item_policy.SupplierContractItemPolicy(
                                    refundable = True, 
                                    advance_cancellation_free_of_charge = 'UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL', 
                                    refundable_cancellation_charge = 'FIFTY_PERCENT', 
                                    no_show_charge = 'SAME_AS_CANCELLATION_FEE', 
                                    non_refundable_cancellation_charge = 'SEVENTY_PERCENT', 
                                    non_refundable_deadline = 'SEVEN_DAYS_BEFORE_ARRIVAL', 
                                    non_refundable_after_deadline_cancellation_charge = 'ONE_HUNDRED_PERCENT', 
                                    external_identifier = 'policy-1', 
                                    fully_refundable = True, 
                                    partially_refundable = True, ), 
                                external_identifier = 'room-type-1', 
                                tokens_earned = 12, 
                                daily_rate_list = [
                                    trip_pay_payment.models.daily_rate.DailyRate(
                                        date = 'Mon Aug 24 03:00:00 EEST 2020', 
                                        price = trip_pay_payment.models.custom_monetary_amount.CustomMonetaryAmount(
                                            amount = 1.337, 
                                            currency = '', ), 
                                        display_price = trip_pay_payment.models.custom_monetary_amount.CustomMonetaryAmount(
                                            amount = 1.337, 
                                            currency = '', ), 
                                        supplier_price = , 
                                        internal_price = , 
                                        capture_price = , )
                                    ], 
                                cancelled = True, 
                                source_currency = 'USD', 
                                display_currency = 'USD', 
                                supplier_currency = 'USD', 
                                internal_currency = 'USD', 
                                capture_currency = 'USD', 
                                source_amount = 0, 
                                display_amount = 0, 
                                supplier_amount = 0, 
                                internal_amount = 0, 
                                capture_amount = 0, 
                                source_amount_refund_modifier = 0, 
                                display_amount_refund_modifier = 0, 
                                supplier_amount_refund_modifier = 0, 
                                internal_amount_refund_modifier = 0, 
                                capture_amount_refund_modifier = 0, 
                                net_source_amount = 0, 
                                net_display_amount = 0, 
                                net_supplier_amount = 0, 
                                net_internal_amount = 0, 
                                net_capture_amount = 0, 
                                metadata = {
                                    'key' : ''
                                    }, 
                                cancellable_by_traveler = True, 
                                cancellable_by_supplier_or_agent = True, 
                                cancellable_with_no_charges = True, 
                                cancellable_with_potential_charges = True, )
                            ], 
                        external_supplier_identifier = 'supplier-a', 
                        external_supplier_booking_code = 'external-booking-code-1', 
                        payment = trip_pay_payment.models.booking_contract_payment_details.BookingContractPaymentDetails(
                            acquirer_identifier = 'stripe-world', 
                            vendor = 'STRIPE', 
                            transaction_identifier = 'tx-1', 
                            customer_identifier = 'customer-1', 
                            charge_identifier = 'charge-1', 
                            status = 'INITIALIZED', 
                            agent_invoiced_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                            agent_invoice_identifier = 'invoice-1', 
                            redirect_url = '', 
                            fees = [
                                trip_pay_payment.models.fee.Fee(
                                    identifier = 'ABC1234', 
                                    fee = , 
                                    type = 'ACQUIRING', 
                                    description = '', )
                                ], 
                            vendor_specific = {
                                'key' : ''
                                }, ), 
                        cancelled = False, 
                        cancelled_on = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                        canceller = 'SALES_CHANNEL', 
                        cancellation_type = 'DUPLICATE', 
                        canceller_user_identifier = '', 
                        cancel_reason = '', 
                        funds_processed = False, 
                        refunds = [
                            trip_pay_payment.models.refund.Refund(
                                identifier = 'refund-1', 
                                acquirer_refund_identifier = 'r-123456', 
                                requested_by_identifier = 'user-1', 
                                refund = , 
                                created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                                description = 'Customer made a mistake', 
                                reason_type = 'DUPLICATE', 
                                cancel_on_refund = 'NONE', 
                                status_type = 'SUCCEEDED', 
                                request_type = 'BY_ADMIN', 
                                request_status = 'APPROVED', 
                                request_response = 'We have rejected your request. Your cancellation policy does not warrant a manual refund.', 
                                receipt_url = 'https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xSXcxazVBQ3F2UW9nN1IxKIPqo54GMgbHKn45YQY6LBbCZ62655YzamuWDVeWAaw7uApCrxewxjSsZX4C9Lef5jY9JeYFrOVx3IaI', 
                                retries = 0, 
                                allocation = 'EQUAL_DISTRIBUTION', )
                            ], 
                        payouts = [
                            trip_pay_payment.models.payout.Payout(
                                vendor = 'STRIPE', 
                                vendor_identifier = '', 
                                vendor_name = '', 
                                ledger_identifier = '', 
                                beneficiary_identifier = '', 
                                external_payee_identifier = 'wise-recipient-1', 
                                type = 'BANK_TRANSFER', 
                                entry = , 
                                quote = , 
                                created = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                                description = 'Card created successfully', 
                                payout_id = 'stripe-card-1', 
                                reference_code = 'ABC1234', 
                                reference_code_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), 
                                status = 'SCHEDULED', )
                            ], 
                        source_currency = 'USD', 
                        display_currency = 'USD', 
                        supplier_currency = 'USD', 
                        internal_currency = 'USD', 
                        capture_currency = 'USD', 
                        source_amount = 0, 
                        display_amount = 0, 
                        supplier_amount = 0, 
                        internal_amount = 0, 
                        capture_amount = 0, 
                        source_amount_refund_modifier = 0, 
                        display_amount_refund_modifier = 0, 
                        supplier_amount_refund_modifier = 0, 
                        internal_amount_refund_modifier = 0, 
                        capture_amount_refund_modifier = 0, 
                        net_source_amount = 0, 
                        net_display_amount = 0, 
                        net_supplier_amount = 0, 
                        net_internal_amount = 0, 
                        net_capture_amount = 0, 
                        metadata = {
                            'key' : ''
                            }, 
                        net_commissionable_total_source_amount = , 
                        net_commissionable_total_capture_amount = , 
                        net_commissionable_total_display_amount = , 
                        net_commissionable_total_supplier_amount = , 
                        net_commissionable_total_internal_amount = , 
                        net_total_fees_and_commissions_source_amount = , 
                        net_total_fees_and_commissions_capture_amount = , 
                        net_total_fees_and_commissions_display_amount = , 
                        net_total_fees_and_commissions_supplier_amount = , 
                        net_total_fees_and_commissions_internal_amount = , 
                        net_total_fees_source_amount = , 
                        net_total_fees_capture_amount = , 
                        net_total_fees_display_amount = , 
                        net_total_fees_supplier_amount = , 
                        net_total_fees_internal_amount = , 
                        net_total_trip_pay_fee_source_amount = , 
                        net_total_trip_pay_fee_capture_amount = , 
                        net_total_trip_pay_fee_display_amount = , 
                        net_total_trip_pay_fee_supplier_amount = , 
                        net_total_trip_pay_fee_internal_amount = , 
                        net_total_sales_source_amount = , 
                        net_total_sales_capture_amount = , 
                        net_total_sales_display_amount = , 
                        net_total_sales_supplier_amount = , 
                        net_total_sales_internal_amount = , 
                        commissionable_total_source_amount = , 
                        commissionable_total_capture_amount = , 
                        commissionable_total_display_amount = , 
                        commissionable_total_supplier_amount = , 
                        commissionable_total_internal_amount = , 
                        total_fees_and_commissions_source_amount = , 
                        total_fees_and_commissions_capture_amount = , 
                        total_fees_and_commissions_display_amount = , 
                        total_fees_and_commissions_supplier_amount = , 
                        total_fees_and_commissions_internal_amount = , 
                        total_fees_source_amount = , 
                        total_fees_capture_amount = , 
                        total_fees_display_amount = , 
                        total_fees_supplier_amount = , 
                        total_fees_internal_amount = , 
                        total_trip_pay_fee_source_amount = , 
                        total_trip_pay_fee_capture_amount = , 
                        total_trip_pay_fee_display_amount = , 
                        total_trip_pay_fee_supplier_amount = , 
                        total_trip_pay_fee_internal_amount = , 
                        total_sales_source_amount = , 
                        total_sales_capture_amount = , 
                        total_sales_display_amount = , 
                        total_sales_supplier_amount = , 
                        total_sales_internal_amount = , 
                        funds_available_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), 
                        total_fees_in_percent_with_refund = 1.337, 
                        total_fees_in_percent = 1.337, 
                        total_trip_pay_fee_in_percent_with_refund = 1.337, 
                        total_trip_pay_fee_in_percent = 1.337, 
                        total_commissions_in_percent_with_refund = 1.337, 
                        total_commissions_in_percent = 1.337, 
                        total_fees_and_commissions_in_percent_with_refund = 1.337, 
                        total_fees_and_commissions_in_percent = 1.337, 
                        original_fees_in_percent = 1.337, 
                        original_commissions_in_percent = 1.337, 
                        net_total_customers_source_amount = , 
                        net_total_customers_capture_amount = , 
                        net_total_customers_display_amount = , 
                        net_total_customers_supplier_amount = , 
                        net_total_customers_internal_amount = , 
                        has_refunds = True, 
                        has_successful_refunds = True, 
                        has_pending_refunds = True, 
                        has_failed_refunds = True, 
                        platform_identifier = '', 
                        total_funds_grouped_by_beneficiary = [
                            trip_pay_payment.models.beneficiary.Beneficiary(
                                account_identifier = 'account-1', 
                                account_name = 'Account 1', 
                                account_email = 'account@one.com', 
                                account_url = 'https://some.url', 
                                type = 'COMMISSION', 
                                source_currency = 'USD', 
                                display_currency = 'USD', 
                                supplier_currency = 'USD', 
                                internal_currency = 'USD', 
                                capture_currency = 'USD', 
                                source_amount = 50, 
                                display_amount = 50, 
                                supplier_amount = 50, 
                                internal_amount = 50, 
                                capture_amount = 50, 
                                source_amount_refund_modifier = 5, 
                                display_amount_refund_modifier = 5, 
                                supplier_amount_refund_modifier = 5, 
                                internal_amount_refund_modifier = 5, 
                                capture_amount_refund_modifier = 5, 
                                net_source_amount = 0, 
                                net_display_amount = 0, 
                                net_supplier_amount = 0, 
                                net_internal_amount = 0, 
                                net_capture_amount = 0, 
                                reconciled = False, )
                            ], 
                        total_tokens_earned = 56, 
                        cancellable_by_traveler = True, 
                        cancellable_by_supplier_or_agent = True, 
                        cancellable_with_no_charges = True, 
                        cancellable_with_potential_charges = True, 
                        refunded = True, 
                        refundable = True, )
                    ],
        )
        """

    def testMultiBookingContractResponse(self):
        """Test MultiBookingContractResponse"""
        # inst_req_only = self.make_instance(include_optional=False)
        # inst_req_and_optional = self.make_instance(include_optional=True)

if __name__ == '__main__':
    unittest.main()
