import {z} from 'zod' export type ItemRequest = {count?: number | undefined, id?: number | undefined, name?: string | undefined, original_tax_rate_id?: number | undefined, price?: number | undefined}; export type DBMSISlice = Array<{[key: string]: unknown}>; export type BookingDelivery = {actual?: number | undefined, departure?: number | undefined, estimated?: number | undefined, estimated_fee?: number | undefined, renter_comment?: string | undefined, return?: number | undefined, stationary?: boolean | undefined, suggested_fee?: number | undefined}; export type DBInterfaceMap = unknown; export type BookingDropoff = {city?: string | undefined, country?: string | undefined, delivery?: boolean | undefined, lat?: number | undefined, lng?: number | undefined, state?: string | undefined, street?: string | undefined, street_etc?: string | undefined, zip?: string | undefined}; export type BookingGenerator = {actual?: number | undefined, departure?: number | undefined, estimated?: number | undefined, estimated_fee?: number | undefined, return?: number | undefined, suggested_fee?: number | undefined}; export type BookingMileage = {actual?: number | undefined, departure?: number | undefined, estimated?: number | undefined, estimated_fee?: number | undefined, return?: number | undefined, suggested_fee?: number | undefined}; export type Occupancy = {adults?: number | undefined, children?: number | undefined, infants?: number | undefined}; export type BookingPickup = {city?: string | undefined, country?: string | undefined, delivery?: boolean | undefined, lat?: number | undefined, lng?: number | undefined, state?: string | undefined, street?: string | undefined, street_etc?: string | undefined, zip?: string | undefined}; export type BookingUpdateRequest = {addons?: Array | undefined, auto_assign_group?: boolean | undefined, auto_insurance_type?: string | undefined, bundle_id?: string | undefined, cancel_policy?: string | undefined, checkout_questions?: DBMSISlice | undefined, decline_reason?: string | undefined, delivery?: BookingDelivery | undefined, delivery_usage_item_id?: number | undefined, deposit_percentage?: number | undefined, destination?: string | undefined, destination_lat?: number | undefined, destination_lng?: number | undefined, details?: DBInterfaceMap | undefined, discount_code?: string | undefined, dropoff?: BookingDropoff | undefined, final_payment_due_days?: number | undefined, from?: string | undefined, from_time?: number | undefined, generator?: BookingGenerator | undefined, generator_usage_item_id?: number | undefined, include_coachnet?: boolean | undefined, insurance_coverage?: string | undefined, insurance_plan_id?: number | undefined, location_id?: number | undefined, loyalty_credit_issued?: boolean | undefined, loyalty_rewards_eligible?: boolean | undefined, message?: string | undefined, mileage?: BookingMileage | undefined, mileage_usage_item_id?: number | undefined, minimum_deposit?: number | undefined, occupancy?: Occupancy | undefined, owner_fee_percentage?: number | undefined, pets?: number | undefined, pickup?: BookingPickup | undefined, read?: boolean | undefined, recalculate?: boolean | undefined, rental_charge_card_id?: number | undefined, rental_id?: number | undefined, renter_age?: number | undefined, renter_fee_percentage?: number | undefined, renter_id?: number | undefined, require_insurance?: boolean | undefined, security_deposit?: number | undefined, security_deposit_card_id?: number | undefined, security_deposit_due_days?: number | undefined, skip_addons?: boolean | undefined, stripe_token?: string | undefined, to?: string | undefined, to_time?: number | undefined, travel_to_states?: Array | undefined, travelers?: number | undefined, trip_credits_disabled?: boolean | undefined, update_location_address?: boolean | undefined, user_notice_acknowledged_ids?: Array | undefined, waive_service_fee?: boolean | undefined}; export type PatchApiBookingsIdArgs = {id: number, body: BookingUpdateRequest}; export type PatchApiBookingsIdOptions = {baseUrl: string, Bearer?: string | undefined, fetch?: typeof fetch | undefined}; export const nullTime = z.object({Time: z.string().optional(), Valid: z.boolean().optional()}); export const bookingTaxRate = z.object({booking_id: z.number().int().optional(), created: z.string().optional(), deleted: z.boolean().optional(), id: z.number().int().optional(), object_id: z.number().int().optional(), object_type: z.string().optional(), payable_to: z.string().optional(), source: z.string().optional(), state: z.string().optional(), tax_amount: z.number().int().optional(), tax_description: z.string().optional(), tax_name: z.string().optional(), tax_rate: z.number().optional(), tax_rate_id: z.number().int().optional(), updated: z.string().optional(), zip_code: z.string().optional()}); export const bookingItem = z.object({_deleted: z.boolean().optional(), booking_id: z.number().int().optional(), coachnet_item: z.boolean().optional(), consigned_pay_amount: z.number().int().optional(), count: z.number().int().optional(), created: nullTime.optional(), daily: z.boolean().optional(), deferred: z.boolean().optional(), deferred_total: z.number().int().nullable().optional(), deleted_at: nullTime.optional(), delivery: z.boolean().optional(), description: z.string().optional(), discount_amount: z.number().int().optional(), generator: z.boolean().optional(), id: z.number().int().optional(), image_url: z.string().optional(), maximum_price: z.number().int().nullable().optional(), mileage: z.boolean().optional(), minimum_price: z.number().int().nullable().optional(), name: z.string().optional(), original_consigned_pay_pct: z.number().optional(), original_tax_rate_id: z.number().int().optional(), other_claim: z.boolean().optional(), outdoorsy_item: z.boolean().optional(), parent_item_id: z.number().int().optional(), parent_item_type: z.string().optional(), percent: z.number().optional(), percent_type: z.string().optional(), position: z.number().int().optional(), premium_amount: z.number().int().optional(), premium_total: z.number().int().optional(), price: z.number().int().optional(), rental_amount: z.boolean().optional(), required: z.boolean().optional(), tax_amount: z.number().int().optional(), tax_description: z.string().optional(), tax_name: z.string().optional(), tax_rate: z.number().optional(), tax_rates: z.array(bookingTaxRate).optional(), total: z.number().int().optional(), updated: nullTime.optional()}); export const affirmDetails = z.object({amount: z.number().int().optional(), charge_id: z.string().optional(), checkout_token: z.string().optional(), status: z.string().optional(), user_id: z.string().optional()}); export const iSlice = z.array(z.unknown()); export const dailyChange = z.object({date: z.string().optional(), price: z.number().int().optional(), rules: iSlice.optional()}); export const dBInterfaceMap = z.unknown(); export const noticeResponse = z.object({guest_acknowledgement_text: z.string().optional(), guest_need_to_acknowledge: z.boolean().optional(), guest_user_text: z.string().optional(), host_acknowledgement_text: z.string().optional(), host_help_url: z.string().optional(), host_need_to_acknowledge: z.boolean().optional(), host_user_text: z.string().optional(), id: z.number().int().optional(), name: z.string().optional()}); export const proposal = z.object({action: z.string().optional(), booking_id: z.number().int().optional(), created: z.string().optional(), daily_changes: z.array(dailyChange).optional(), details: dBInterfaceMap.optional(), dry_create: z.boolean().optional(), future_booking: z.unknown(), id: z.number().int().optional(), note: z.string().optional(), object_id: z.number().int().optional(), object_type: z.string().optional(), owner_acknowledged: z.string().optional(), owner_id: z.number().int().optional(), renter_acknowledged: z.string().optional(), renter_dismissed: z.string().optional(), status: z.string().optional(), updated: z.string().optional(), user_notice_events: z.array(noticeResponse).optional(), user_notices_acknowledged: z.array(z.number().int()).optional()}); export const attentionItemData = z.object({auto_expires: z.boolean().optional(), completed_at: z.string().optional(), confirmation_message: z.string().optional(), conversation_first_message: z.number().int().optional(), created_at: z.string().optional(), daily: z.boolean().optional(), description: z.string().optional(), expires_at: z.string().optional(), from: z.string().optional(), group_item_details: z.array(proposal).optional(), id: z.number().int().optional(), message: z.string().optional(), name: z.string().optional(), price: z.number().int().optional(), quantity: z.number().int().optional(), rental_amount: z.number().int().optional(), to: z.string().optional(), total: z.number().int().optional()}); export const attentionItem = z.object({data: attentionItemData.optional(), is_actionable: z.boolean().optional(), type: z.string().optional()}); export const siblingBookingCampgroundData = z.object({external_campsite_id: z.string().optional(), external_id: z.string().optional(), site_name: z.string().optional(), source: z.string().optional(), status: z.string().optional()}); export const cancelMetadata = z.record(z.string(), z.unknown()); export const cancellationRefundBreakdown = z.object({cancellation_policy: z.string().optional(), gross_owner_payout: z.number().int().optional(), is_cutoff_cancellation: z.boolean().optional(), is_grace_period: z.boolean().optional(), is_standardized_policy: z.boolean().optional(), net_owner_payout: z.number().int().optional(), non_refundable_rif: z.number().int().optional(), other_items_amount: z.number().int().optional(), owner_fee: z.number().int().optional(), owner_fee_base: z.number().int().optional(), owner_fee_percentage: z.number().optional(), penalty_percentage: z.number().optional(), refund_percentage: z.number().optional(), refundable_rif: z.number().int().optional(), rental_amount: z.number().int().optional(), rental_tax: z.number().int().optional(), rental_tax_payable_to: z.string().optional(), renter_refund_amount: z.number().int().optional(), service_fee: z.number().int().optional(), service_fee_tax: z.number().int().optional(), total_rif: z.number().int().optional()}); export const dBMSISlice = z.array(z.record(z.string(), z.unknown())); export const consignedPayoutItem = z.object({consigned_payout_id: z.lazy(() => consignedPayout.optional()), created: z.string().optional(), description: z.string().optional(), id: z.number().int().optional(), name: z.string().optional(), total: z.number().int().optional(), updated: z.string().optional()}); export const consignedPayout: z.ZodType = z.object({bookings: z.array(z.lazy(() => booking)).optional(), consigned_owner_id: z.number().int().optional(), created: z.string().optional(), from: z.string().optional(), id: z.number().int().optional(), items: z.array(consignedPayoutItem).optional(), message: z.string().optional(), owner_id: z.number().int().optional(), paid_date: z.string().optional(), rental_id: z.number().int().optional(), status: z.string().optional(), to: z.string().optional(), total: z.number().int().optional(), updated: z.string().optional()}); export const bookingConsignment = z.object({keep_amt_cc_fee: z.number().int().optional(), keep_amt_insurance_fee: z.number().int().optional(), keep_pct_cc_fee: z.number().optional(), keep_pct_insurance_fee: z.number().optional(), pay_amt_total: z.number().int().optional(), pay_pct_generator: z.number().optional(), pay_pct_mileage: z.number().optional(), payout_id: consignedPayout.optional()}); export const campgroundActivityFeature = z.object({feature: z.string().optional(), name: z.string().optional()}); export const campgroundAmenitiesCategory = z.object({id: z.string().optional(), name: z.string().optional()}); export const processedCampgroundAmenity = z.object({available: z.boolean().optional(), category: z.string().optional(), id: z.string().optional(), name: z.string().optional()}); export const campgroundSceneryFeature = z.object({feature: z.string().optional(), name: z.string().optional()}); export const campgroundCatalog = z.object({activity_features: z.array(campgroundActivityFeature).optional(), amenities_categories: z.array(campgroundAmenitiesCategory).optional(), processed_amenities: z.record(z.string(), z.array(processedCampgroundAmenity)).optional(), scenery_features: z.array(campgroundSceneryFeature).optional()}); export const category = z.object({name: z.string().optional(), slug: z.string().optional()}); export const image = z.object({best: z.boolean().optional(), category: category.optional(), description: z.string().optional(), id: z.number().int().optional(), position: z.number().int().optional(), primary: z.boolean().optional(), rental_id: z.number().int().optional(), skip_enhance: z.boolean().optional(), status: z.string().optional(), tags: z.string().optional(), url: z.string().optional(), video: z.boolean().optional()}); export const images = z.array(image); export const locale = z.object({base_currency: z.string().optional(), date_format: z.string().optional(), distance_unit: z.string().optional(), language: z.string().optional(), length_unit: z.string().optional(), liquid_unit: z.string().optional(), time_format: z.string().optional(), timezone: z.string().optional(), weight_unit: z.string().optional()}); export const externalCampground = z.object({available_for_dates: z.boolean().optional(), calculated_day_price: z.number().int().optional(), campground_catalog: campgroundCatalog.optional(), campsite_category_ids: z.array(z.number().int()).optional(), check_in_time: z.string().optional(), check_out_time: z.string().optional(), description: z.string().optional(), email: z.string().optional(), id: z.number().int().optional(), images: images.optional(), is_odn: z.boolean().optional(), is_site_available: z.boolean().optional(), locale: locale.optional(), location: z.number().int().optional(), lowest_price: z.number().int().optional(), name: z.string().optional(), odn_id: z.string().optional(), phone: z.string().optional(), presentment_currency: z.string().optional(), primary_image_url: z.string().optional(), reviews_num: z.number().int().optional(), score: z.number().optional(), settlement_currency: z.string().optional(), site_map_image_url: z.string().optional(), slug: z.string().optional(), unavailable: z.boolean().optional(), vacation_package_slug: z.string().optional(), website_url: z.string().optional()}); export const bookingDelivery = z.object({actual: z.number().optional(), departure: z.number().optional(), estimated: z.number().optional(), estimated_fee: z.number().int().optional(), renter_comment: z.string().optional(), return: z.number().optional(), stationary: z.boolean().optional(), suggested_fee: z.number().int().optional()}); export const bookingDocuments = z.object({claims_form: z.string().optional(), contract: z.string().optional(), departure_form: z.string().optional(), departure_form_checklist: z.string().optional(), esign_receipt: z.string().optional(), insurance_binder: z.string().optional(), pre_arrival_checklist: z.string().optional(), protection_packages: z.string().optional(), receipt: z.string().optional(), return_form: z.string().optional()}); export const bookingDropoff = z.object({city: z.string().optional(), country: z.string().optional(), delivery: z.boolean().optional(), lat: z.number().optional(), lng: z.number().optional(), state: z.string().optional(), street: z.string().optional(), street_etc: z.string().optional(), zip: z.string().optional()}); export const externalGiftCardDetails = z.object({alocated_amount: z.number().int().optional(), card_number: z.string().optional(), converted_amount: z.number().int().optional(), pin_verivied: z.boolean().optional(), provider: z.string().optional(), refund_amount: z.number().int().optional(), refund_converted_amount: z.number().int().optional(), refund_req_ref: z.string().optional(), request_ref: z.string().optional()}); export const bookingInsuranceFormatted = z.object({action: z.string().optional(), description: z.string().optional(), title: z.string().optional(), warning: z.string().optional()}); export const bookingDisplayFormatted = z.object({insurance: bookingInsuranceFormatted.optional()}); export const bookingGenerator = z.object({actual: z.number().optional(), departure: z.number().optional(), estimated: z.number().optional(), estimated_fee: z.number().int().optional(), return: z.number().optional(), suggested_fee: z.number().int().optional()}); export const iD = z.string(); export const bookingHandoff = z.object({id: iD.optional(), owner_departure_complete: z.boolean().optional(), owner_departure_eligible: z.boolean().optional(), owner_departure_photo_count: z.number().int().optional(), owner_departure_signature_timestamp: z.string().optional(), owner_return_complete: z.boolean().optional(), owner_return_eligible: z.boolean().optional(), owner_return_photo_count: z.number().int().optional(), owner_return_signature_timestamp: z.string().optional(), renter_departure_complete: z.boolean().optional(), renter_departure_eligible: z.boolean().optional(), renter_departure_photo_count: z.number().int().optional(), renter_departure_signature_timestamp: z.string().optional(), renter_return_complete: z.boolean().optional(), renter_return_eligible: z.boolean().optional(), renter_return_photo_count: z.number().int().optional(), renter_return_signature_timestamp: z.string().optional()}); export const dBStringSlice = z.array(z.string()); export const planOverride = z.object({created: z.string().optional(), dealer_owned_owner_fee_percentage: z.number().optional(), dealer_owned_renter_fee_percentage: z.number().optional(), id: z.number().int().optional(), insurance_plan_id: z.lazy(() => plan.optional()), owner_fee_percentage: z.number().optional(), owner_id: z.number().int().optional(), renter_fee_percentage: z.number().optional(), updated: z.string().optional()}); export const plan: z.ZodType = z.object({allow_unregistered: z.boolean().optional(), approved_vehicle_types: dBStringSlice.optional(), bundle_required: z.boolean().optional(), claims_number: z.string().optional(), comp_policy_url: z.string().optional(), comprehensive_coverage: z.boolean().optional(), comprehensive_maximum: z.string().optional(), country: z.string().optional(), created: z.string().optional(), created_by_id: z.number().int().nullable().optional(), dealer_only: z.boolean().optional(), hidden: z.boolean().optional(), id: z.number().int().optional(), insurance_address_1: z.string().optional(), insurance_city: z.string().optional(), insurance_end_date: z.string().optional(), insurance_name: z.string().optional(), insurance_plan_override: planOverride.optional(), insurance_policy_number: z.string().optional(), insurance_start_date: z.string().optional(), insurance_state: z.string().optional(), insurance_zip: z.string().optional(), insured_address_1: z.string().optional(), insured_city: z.string().optional(), insured_name: z.string().optional(), insured_state: z.string().optional(), insured_zip: z.string().optional(), label: z.string().optional(), last_updated_by_id: z.number().int().nullable().optional(), liability_coverage: z.boolean().optional(), liability_maximum: z.string().optional(), liability_policy_url: z.string().optional(), locality: z.string().optional(), minimum_daily_fee: z.number().int().optional(), minimum_year: z.number().int().optional(), owner_comprehensive_deductible: z.string().optional(), owner_fee_percentage: z.number().optional(), owner_liability_deductible: z.string().optional(), owner_liability_maximum: z.string().optional(), rental_category: z.string().optional(), renter_comprehensive_deductible: z.string().optional(), renter_fee_percentage: z.number().optional(), renter_liability_deductible: z.string().optional(), renter_liability_maximum: z.string().optional(), requires_driver_verification: z.boolean().optional(), tiered: z.boolean().optional(), updated: z.string().optional()}); export const bookingLocale = z.object({base_currency: z.string().optional(), distance_unit: z.string().optional()}); export const bookingMileage = z.object({actual: z.number().optional(), departure: z.number().optional(), estimated: z.number().optional(), estimated_fee: z.number().int().optional(), return: z.number().optional(), suggested_fee: z.number().int().optional()}); export const partner = z.object({active: z.boolean().optional(), apps: z.array(z.lazy(() => partnerApp)).optional(), created: z.string().optional(), id: z.number().int().optional(), name: z.string().optional(), slug: z.string().optional(), updated: z.string().optional()}); export const partnerApp: z.ZodType = z.object({app_id: z.string().optional(), app_name: z.string().optional(), created: z.string().optional(), default_app: z.boolean().optional(), enabled: z.boolean().optional(), id: z.number().int().optional(), owner_lead_fee_percentage: z.number().optional(), owner_lead_only_fee_percentage: z.number().optional(), partner: partner.optional(), renter_lead_fee_percentage: z.number().optional(), renter_lead_only_fee_percentage: z.number().optional(), updated: z.string().optional()}); export const paymentProcessorName = z.string(); export const paymentProcessor = z.object({country: z.string().optional(), external_processor: z.string().optional(), external_processor_id: z.string().optional(), name: paymentProcessorName.optional()}); export const pendingTransaction = z.object({amount: z.number().int().optional(), attempts: z.number().int().optional(), booking_id: z.number().int().optional(), brand: z.string().optional(), card_id: z.number().int().optional(), created: z.string().optional(), description: z.string().optional(), display_type: z.string().optional(), due: z.string().optional(), id: z.number().int().optional(), last_four: z.string().optional(), original_charge_id: z.number().int().optional(), payment_intent_id: z.string().optional(), status: z.string().optional(), type: z.string().optional(), zendesk_ticket_id: z.number().int().optional()}); export const bookingPickup = z.object({city: z.string().optional(), country: z.string().optional(), delivery: z.boolean().optional(), lat: z.number().optional(), lng: z.number().optional(), state: z.string().optional(), street: z.string().optional(), street_etc: z.string().optional(), zip: z.string().optional()}); export const rAFWaiverSummary = z.object({cancellation_amount: z.number().int().optional(), description: z.string().optional(), popup_message: z.string().optional(), referee_amount: z.number().int().optional(), referee_completed: z.boolean().optional(), referer_user_id: z.number().int().optional(), referral_code: z.string().optional(), referrer_completed: z.boolean().optional()}); export const bookingRefundOptions = z.object({allow_user_refund_method: z.boolean().optional(), cash_amount: z.number().int().optional(), credit_amount: z.number().int().optional(), credit_source: z.record(z.string(), z.number().int()).optional(), display_cash_amount: z.string().optional(), display_credit_amount: z.string().optional(), is_pending_cancellation: z.boolean().optional(), non_refundable_percentage: z.number().optional(), owner_payout_amount: z.number().int().optional(), refund_percentage: z.number().optional()}); export const renterDestinationData = z.object({region: z.string().optional(), spot_types: z.array(z.string()).optional(), stops: z.array(z.string()).optional()}); export const renterPaymentDetails = z.object({device_data: z.string().optional(), ppi_id: z.number().int().optional(), processor_name: z.string().optional()}); export const revenueLineItem = z.object({amount: z.number().int().optional(), name: z.string().optional()}); export const revenueSummary = z.object({funds_held_by_outdoorsy: z.number().int().optional(), line_items: z.array(revenueLineItem).optional(), total: z.number().int().optional()}); export const bookingSummary = z.object({from: z.string().optional(), id: z.number().int().optional(), to: z.string().optional()}); export const reviewOwner = z.object({avatar_url: z.string().optional(), first_name: z.string().optional(), id: z.number().int().optional(), last_name: z.string().optional()}); export const ownerResponseReview = z.object({text: z.string().optional(), timestamp: z.string().optional()}); export const campsiteSummary = z.object({beds: z.number().int().optional(), campground_id: z.number().int().optional(), campground_name: z.string().optional(), campground_sitemap_url: z.string().optional(), display_campsite_type: z.string().optional(), display_max_vehicle_length: z.string().optional(), display_site_type: z.string().optional(), is_odn: z.boolean().optional(), rental_id: z.number().int().optional(), site_type: z.string().optional(), sleeps: z.number().int().optional(), type: z.string().optional()}); export const staySummary = z.object({baths: z.number().int().optional(), bedrooms: z.number().int().optional(), beds: z.number().int().optional(), check_in_type: z.string().optional(), display_stay_type: z.string().optional(), location_description: z.string().optional(), max_parking_spaces: z.number().int().optional(), parking_onsite: z.boolean().optional(), rental_id: z.number().int().optional(), sleeps: z.number().int().optional(), type: z.string().optional()}); export const rentalSummary = z.object({campsite_summary: campsiteSummary.optional(), disallow_movement: z.boolean().optional(), display_type: z.string().optional(), formatted_length: z.string().optional(), id: z.number().int().optional(), interior_primary_image_url: z.string().optional(), internal_id: z.string().optional(), location: z.string().optional(), name: z.string().optional(), primary_image_url: z.string().optional(), rental_category: z.string().optional(), sleeps: z.number().int().optional(), slug: z.string().optional(), stay_summary: staySummary.optional(), style: z.string().optional(), type: z.string().optional()}); export const tagRental = z.object({Created: z.string().optional(), ID: z.number().int().optional(), Name: z.string().optional(), Slug: z.string().optional(), Updated: z.string().optional(), position: z.number().int().optional(), usage_by_rental_count: z.number().int().optional()}); export const reviewImage = z.object({created: z.string().optional(), id: iD.optional(), lat: z.number().optional(), lng: z.number().optional(), rental_id: z.string().optional(), review_id: z.string().optional(), reviewed: z.boolean().optional(), reviewed_by: z.string().optional(), status: z.string().optional(), updated: z.string().optional(), url: z.string().optional()}); export const reviewer = z.object({avatar_url: z.string().optional(), first_name: z.string().optional(), id: z.number().int().optional(), last_name: z.string().optional()}); export const tag = z.object({allow_for_review: z.boolean().optional(), created: z.string().optional(), description: z.string().optional(), id: z.number().int().optional(), name: z.string().optional(), owner_user_id: z.number().int().nullable().optional(), position: z.number().int().optional(), slug: z.string().optional(), updated: z.string().optional()}); export const review = z.object({apply_credit: z.boolean().optional(), booking_id: z.number().int().optional(), booking_summary: bookingSummary.optional(), can_edit: z.boolean().optional(), can_edit_until: z.string().optional(), cleanliness_score: z.number().optional(), communication_score: z.number().optional(), deleted: z.string().optional(), exclude_from_rating: z.boolean().optional(), id: z.number().int().optional(), images: dBStringSlice.optional(), imported: z.boolean().optional(), listing_score: z.number().optional(), mechanical_score: z.number().optional(), name: z.string().optional(), outdoorsy_only: z.boolean().optional(), owner: reviewOwner.optional(), owner_can_respond: z.boolean().optional(), owner_response: ownerResponseReview.optional(), published: z.boolean().optional(), rental_id: z.number().int().optional(), rental_summary: rentalSummary.optional(), rental_tags: z.array(tagRental).optional(), review_images: z.array(reviewImage).optional(), reviewer: reviewer.optional(), reviewer_id: z.number().int().optional(), score: z.number().optional(), source_page: z.string().optional(), tags: z.array(tag).optional(), text: z.string().optional(), timestamp: z.string().optional(), user_id: z.number().int().optional(), user_recommend: z.boolean().optional(), value_score: z.number().optional()}); export const searchFilters = z.object({festival_friendly: z.boolean().optional(), make: z.string().optional(), model: z.array(z.string()).optional(), pet_friendly: z.boolean().optional(), smoking_allowed: z.boolean().optional(), tailgate_friendly: z.boolean().optional(), towing_capacity: z.number().int().optional(), towing_vehicle_make: z.string().optional(), towing_vehicle_model: z.string().optional(), towing_vehicle_year: z.number().int().optional(), travelers: z.number().int().optional(), year_max: z.number().int().optional(), year_min: z.number().int().optional()}); export const bookingService = z.object({booking_id: z.number().int().optional(), bundle_id: z.string().nullable().optional(), category: z.string().optional(), charge_to: z.string().optional(), created: z.string().optional(), daily: z.boolean().optional(), dealer_flat_split: z.number().int().optional(), dealer_percent_split: z.number().optional(), dealer_split_type: z.string().optional(), deleted_at: nullTime.optional(), description: z.string().optional(), discount_amount: z.number().int().optional(), external_reference_id: z.string().optional(), fee_locked: z.boolean().optional(), id: z.number().int().optional(), is_taxable: z.boolean().optional(), last_service_log: z.unknown(), lock_on_booking_status: z.string().optional(), minimum_price: z.number().int().optional(), missing_fields: z.record(z.string(), z.array(z.string())).optional(), name: z.string().optional(), payable_to: z.string().optional(), percent: z.number().optional(), percent_type: z.string().optional(), policy_start_date: z.string().optional(), premium_amount: z.number().int().optional(), premium_total: z.number().int().optional(), prevent_delete: z.boolean().optional(), price: z.number().int().optional(), quantity: z.number().int().optional(), required: z.boolean().optional(), revision: z.number().int().optional(), roamly_weather_quote: dBInterfaceMap.optional(), service_data: dBInterfaceMap.optional(), service_id: z.number().int().optional(), tax_amount: z.number().int().optional(), tax_rates: z.array(bookingTaxRate).optional(), total: z.number().int().optional(), updated: z.string().optional(), variant_price: z.number().int().optional()}); export const siblingTotals = z.object({addons: z.number().int().optional(), damage_protection: z.number().int().optional(), delivery_fee: z.number().int().optional(), discounts: z.number().int().optional(), external_campground_fee: z.number().int().optional(), generator: z.number().int().optional(), insurance_coverage: z.number().int().optional(), mileage: z.number().int().optional(), owner_fees: z.number().int().optional(), pet_fees: z.number().int().optional(), roadside_assistance: z.number().int().optional(), roamly_weather_protection: z.number().int().optional(), security_deposit_waiver: z.number().int().optional(), service_fees: z.number().int().optional(), taxes: z.number().int().optional(), total: z.number().int().optional(), trip_protection: z.number().int().optional()}); export const taxRateItem = z.object({description: z.string().optional(), original_tax_rate_id: z.number().int().optional(), tax_amount: z.number().int().optional(), tax_name: z.string().optional(), tax_rate: z.number().optional()}); export const taxRateItems = z.array(taxRateItem); export const taxRateTotalItem = z.object({amount: z.number().int().optional(), name: z.string().optional(), rates: taxRateItems.optional()}); export const taxRateTotalItems = z.array(taxRateTotalItem); export const timelineItem = z.object({activity_label: z.string().optional(), completed: z.boolean().optional(), description: z.string().optional(), time: z.string().optional(), type: z.string().optional()}); export const timelineData = z.object({items: z.array(timelineItem).optional(), subtitle: z.string().optional(), title: z.string().optional()}); export const transaction: z.ZodType = z.object({actual_deposit_date: z.string().optional(), adjustment: z.number().int().optional(), amount: z.number().int().optional(), auto_deposit: z.boolean().optional(), available: z.string().optional(), booking_id: z.number().int().optional(), brand: z.string().optional(), can_delete: z.boolean().optional(), can_finance_sync: z.boolean().optional(), can_refund: z.boolean().optional(), can_retry: z.boolean().optional(), can_reverse_transfer: z.boolean().optional(), can_sync: z.boolean().optional(), can_transfer: z.boolean().optional(), cc_fee: z.number().int().optional(), charged: z.string().optional(), created: z.string().optional(), created_by_id: z.number().int().optional(), deposit_date: z.string().optional(), description: z.string().optional(), display_charge_type: z.string().optional(), display_payment_processor_name: z.string().optional(), display_type: z.string().optional(), dispute_reason: z.string().nullable().optional(), dispute_status: z.string().nullable().optional(), disputed: z.boolean().optional(), expected_deposit_date: z.string().optional(), failed: z.boolean().optional(), fraudulent: z.boolean().optional(), fx_fee: z.number().int().optional(), id: z.number().int().optional(), is_refund: z.boolean().optional(), last_four: z.string().optional(), original_charge_id: z.lazy(() => transaction.optional()), our_fee: z.number().int().optional(), outdoorsy_fee: z.number().int().optional(), owner_federal_withholding_tax: z.number().int().optional(), owner_fee: z.number().int().optional(), owner_integrations_fee: z.number().int().nullable().optional(), owner_quebec_sales_tax: z.number().int().optional(), paid: z.boolean().optional(), payment_meta: dBInterfaceMap.optional(), payment_processor: paymentProcessor.optional(), payment_source: z.string().optional(), processor_settlement_id: z.string().nullable().optional(), recipient_id: z.number().int().optional(), refund_source: z.string().optional(), refunded: z.number().int().optional(), refunded_cc_fee: z.number().int().optional(), refunded_fee: z.number().int().optional(), refunded_fx_fee: z.number().int().optional(), refunded_outdoorsy_fee: z.number().int().optional(), refunded_owner_federal_withholding_tax: z.number().int().optional(), refunded_owner_fee: z.number().int().optional(), refunded_owner_integrations_fee: z.number().int().nullable().optional(), refunded_owner_quebec_sales_tax: z.number().int().optional(), refunded_service_fee: z.number().int().optional(), retry_payout_id: z.lazy(() => transaction.optional()), sales_tax: z.number().int().optional(), service_fee: z.number().int().optional(), status: z.string().optional(), stripe_fee: z.number().int().optional(), stripe_fee_refund: z.number().int().optional(), stripe_id: z.string().optional(), transfer: z.lazy(() => transaction.optional()), type: z.string().optional()}); export const guests = z.object({adults: z.number().int().optional(), children: z.number().int().optional()}); export const tripSummary = z.object({guests: guests.optional(), pets: z.boolean().optional(), tow_vehicle: z.string().optional()}); export const userAcknowledgment = z.object({guest_acknowledged: z.boolean().optional(), host_acknowledged: z.boolean().optional(), id: z.number().int().optional()}); export const waiverSummary = z.object({description: z.string().optional(), owner_completed: z.boolean().optional(), owner_terms: z.string().optional(), renter_completed: z.boolean().optional(), renter_confirmation_description: z.string().optional(), renter_confirmation_title: z.string().optional(), renter_terms: z.string().optional()}); export const warning = z.object({message: z.string().optional()}); export const siblingBooking = z.object({abandoned: z.boolean().optional(), addons: z.array(bookingItem).optional(), adults: z.number().int().optional(), affirm_details: affirmDetails.optional(), affirm_total: z.number().int().optional(), applicable_tos_version: z.string().optional(), attention: z.array(attentionItem).optional(), auto_assign_group: z.boolean().nullable().optional(), auto_insurance_type: z.string().optional(), bid_id: z.number().int().optional(), block_discount_code: z.boolean().optional(), booked: z.string().optional(), booking_agent: z.string().optional(), booking_color: z.string().nullable().optional(), booking_token: z.string().optional(), bundle_id: z.string().optional(), calculated_day_price: z.number().int().optional(), calculated_total_paid: z.number().int().optional(), campaign: z.string().optional(), campground_booking_url: z.string().optional(), campground_data: siblingBookingCampgroundData.optional(), can_add_ending_generator_values: z.boolean().optional(), can_add_ending_mileage_values: z.boolean().optional(), can_add_starting_generator_values: z.boolean().optional(), can_add_starting_mileage_values: z.boolean().optional(), can_add_trip_protection: z.boolean().optional(), can_apply_credits: z.boolean().optional(), can_cancel_trip_protection: z.boolean().optional(), can_charge_overage_fees: z.boolean().optional(), can_file_claim: z.boolean().optional(), can_generate_weather_quote: z.boolean().optional(), can_manage_security_deposit: z.boolean().optional(), can_manage_tax_rates: z.boolean().optional(), can_renter_review: z.boolean().optional(), can_renter_review_until: z.string().optional(), can_see_contract: z.boolean().optional(), can_suggest_date_change: z.boolean().optional(), can_suggest_delivery_change: z.boolean().optional(), cancel_metadata: cancelMetadata.optional(), cancel_policy: z.string().optional(), cancel_reason: z.string().optional(), canceled: z.string().optional(), cancellation_cutoff_date: z.string().optional(), cancellation_refund_breakdown: cancellationRefundBreakdown.optional(), cancellation_refund_percentage: z.number().optional(), cc_fee_percentage: z.number().optional(), checkin_stamp: z.string().optional(), checkout_questions: dBMSISlice.optional(), checkout_stamp: z.string().optional(), checkout_steps_id: z.number().int().optional(), children: z.number().int().optional(), coachnet_id: z.number().int().optional(), coachnet_premium: z.number().int().optional(), consignment: bookingConsignment.optional(), conversation_id: z.number().int().optional(), created: z.string().optional(), created_by_id: z.number().int().optional(), created_stamp: z.string().optional(), custom_insurance_text: z.string().nullable().optional(), dealer_minimum_days: z.number().int().optional(), decline_reason: z.string().optional(), default_insurance_coverage: z.string().optional(), deliverable_campground: externalCampground.optional(), delivery: bookingDelivery.optional(), delivery_item: bookingItem.optional(), delivery_usage_item: z.unknown(), delivery_usage_item_id: z.number().int().optional(), deposit_percentage: z.number().optional(), destination: z.string().optional(), destination_lat: z.number().optional(), destination_lng: z.number().optional(), details: dBInterfaceMap.optional(), device_id: z.string().optional(), discount_code: z.string().optional(), discount_code_amount: z.number().int().optional(), discount_code_applied_to: z.string().optional(), discount_code_message: z.string().optional(), display_insurance: z.string().optional(), display_source: z.string().optional(), display_status: z.string().optional(), display_status_style: z.string().optional(), documents: bookingDocuments.optional(), dropoff: bookingDropoff.optional(), duration: z.number().int().optional(), esign_enabled: z.boolean().optional(), esign_pending: z.boolean().optional(), expire_reason: z.string().optional(), express_checkout_id: z.number().int().optional(), external: z.boolean().nullable().optional(), external_gift_card_details: externalGiftCardDetails.optional(), external_gift_card_details_v2: z.array(externalGiftCardDetails).optional(), fees_locked: z.boolean().optional(), fees_total: z.number().int().optional(), final_payment_due_days: z.number().int().optional(), followup_archived: z.boolean().optional(), formatted: bookingDisplayFormatted.optional(), formatted_total_overage_fee: z.string().optional(), fraudulent: z.boolean().optional(), free_cancellation_available: z.boolean().optional(), free_cancellation_period: z.number().int().optional(), from: z.string().optional(), from_time: z.number().int().optional(), fx_fee_paid: z.number().int().optional(), generator: bookingGenerator.optional(), generator_item: bookingItem.optional(), generator_usage_item: z.unknown(), generator_usage_item_id: z.number().int().optional(), grace_period_ends_at: z.string().optional(), handoff_summary: bookingHandoff.optional(), has_approved_drivers: z.boolean().optional(), has_setup_intent_enabled: z.boolean().optional(), hold_sales_tax: z.boolean().optional(), house_rules: z.string().optional(), id: z.number().int().optional(), import_id: z.string().optional(), imported: z.boolean().optional(), include_coachnet: z.boolean().optional(), infants: z.number().int().optional(), initial_duration: z.number().int().optional(), instamatch: z.boolean().nullable().optional(), instant_book: z.boolean().optional(), insurance: z.string().optional(), insurance_approved: z.boolean().optional(), insurance_approved_timestamp: z.string().optional(), insurance_approved_updated_timestamp: z.string().optional(), insurance_bundle: z.unknown(), insurance_claim_filed: z.boolean().optional(), insurance_coverage: z.string().optional(), insurance_plan_id: plan.optional(), insurance_renter_adjustable: z.boolean().optional(), internal_notes: z.string().optional(), is_request_less_than_minimum_days: z.boolean().optional(), is_within_grace_period: z.boolean().optional(), items: z.array(bookingItem).optional(), locale: bookingLocale.optional(), location_id: z.number().int().optional(), locked: z.boolean().optional(), loyalty_credit_issued: z.boolean().optional(), loyalty_rewards_eligible: z.boolean().optional(), medium: z.string().optional(), metadata: dBInterfaceMap.optional(), mileage: bookingMileage.optional(), mileage_item: bookingItem.optional(), mileage_usage_item: z.unknown(), mileage_usage_item_id: z.number().int().optional(), minimum_deposit: z.number().int().optional(), missing_data: z.array(z.string()).optional(), missing_requirements: z.record(z.string(), z.unknown()).optional(), mutual_cancellation: z.boolean().optional(), non_refundable_total: z.number().int().optional(), offer_affirm: z.boolean().optional(), offer_insurance: z.boolean().optional(), offer_paypal_pay_later: z.boolean().optional(), offer_roadside: z.boolean().optional(), original_booking_source: z.string().optional(), original_day_price: z.number().int().optional(), original_security_deposit: z.number().int().optional(), original_security_deposit_v2: z.number().int().optional(), original_service_fee: z.number().int().optional(), outdoorsy_fee: z.number().int().optional(), outdoorsy_remitted_taxes: z.number().int().optional(), overage_fee_collected: z.boolean().optional(), overage_fee_expired: z.boolean().optional(), overage_fee_section_display: z.boolean().optional(), owner_addon_total: z.number().int().optional(), owner_approval_attempted: z.boolean().nullable().optional(), owner_approved: z.boolean().optional(), owner_approved_at: z.string().optional(), owner_archived: z.boolean().optional(), owner_credits_applied: z.number().int().optional(), owner_did_review: z.boolean().optional(), owner_fee: z.number().int().optional(), owner_fee_aggregate_percentage: z.number().optional(), owner_fee_minimum_enforced: z.boolean().optional(), owner_fee_minimum_per_night: z.number().int().optional(), owner_fee_on_renter_cancellation: z.number().int().optional(), owner_fee_percentage: z.number().optional(), owner_fee_percentage_record: z.number().optional(), owner_fees: z.array(bookingItem).optional(), owner_id: z.number().int().optional(), owner_insurance_claim_filed: z.boolean().optional(), owner_insurance_fee_total: z.number().int().optional(), owner_integrations_fee: z.number().int().nullable().optional(), owner_payout: z.number().int().optional(), owner_payout_adjustment: z.number().int().optional(), owner_payout_with_claim_adjustments: z.number().int().optional(), owner_read: z.boolean().optional(), owner_summary: z.unknown(), owner_total: z.number().int().optional(), owner_total_without_tax: z.number().int().optional(), parent_booking_id: z.number().int().nullable().optional(), partner_app: partnerApp.optional(), payment_processor: paymentProcessor.optional(), payout_actual_transfer_amount: z.number().int().optional(), pending_transactions: z.array(pendingTransaction).optional(), personal_insurance_verification: z.boolean().optional(), personal_insurance_verification_status: z.string().optional(), pets: z.number().int().optional(), pickup: bookingPickup.optional(), premium_total: z.number().int().optional(), prep_fee_item: bookingItem.optional(), presentment_currency: z.string().optional(), processor_name: paymentProcessorName.optional(), proposals: z.array(proposal).optional(), provide_insurance_binder: z.boolean().optional(), raf_waiver_summary: rAFWaiverSummary.optional(), reason: z.string().nullable().optional(), referred_owner_paid: z.boolean().optional(), referred_owner_payout_amount: z.number().int().optional(), referred_renter_paid: z.boolean().optional(), referred_renter_payout_amount: z.number().int().optional(), refund_options: bookingRefundOptions.optional(), remainder_amount: z.number().int().optional(), remainder_due_date: z.string().optional(), remaining_days_to_cancellation_cutoff: z.number().int().optional(), rental_amount_item: bookingItem.optional(), rental_charge_card_id: z.number().int().optional(), rental_id: z.number().int().optional(), rental_summary: z.unknown(), renter_age: z.number().int().optional(), renter_approved: z.boolean().optional(), renter_approved_at: z.string().optional(), renter_archived: z.boolean().optional(), renter_can_waive_insurance: z.boolean().optional(), renter_credits_applied: z.number().int().optional(), renter_destination_data: renterDestinationData.optional(), renter_did_review: z.boolean().optional(), renter_fee_percentage: z.number().optional(), renter_fee_percentage_record: z.number().optional(), renter_id: z.number().int().optional(), renter_insurance_claim_filed: z.boolean().optional(), renter_insurance_fee_total: z.number().int().optional(), renter_payment_details: renterPaymentDetails.optional(), renter_read: z.boolean().optional(), renter_summary: z.unknown(), require_booking_time: z.boolean().optional(), require_dmv_check: z.boolean().optional(), require_drivers: z.boolean().optional(), require_insurance: z.boolean().optional(), require_renter_id_verification: z.boolean().optional(), require_roadside: z.boolean().optional(), reserve_amount: z.number().int().optional(), reserve_amount_after_credits: z.number().int().optional(), revenue_summary: revenueSummary.optional(), reviews: z.array(review).optional(), sd_post_trip_charges_data: dBInterfaceMap.optional(), sd_post_trip_charges_enabled: z.boolean().optional(), search_filters: searchFilters.optional(), security_deposit: z.number().int().optional(), security_deposit_card_id: z.number().int().optional(), security_deposit_claimed_amount: z.number().int().optional(), security_deposit_due_date: z.string().optional(), security_deposit_due_days: z.number().int().optional(), security_deposit_payout_amount: z.number().int().optional(), security_deposit_refund_amount: z.number().int().optional(), security_deposit_remaining: z.number().int().optional(), security_deposit_reversable: z.number().int().optional(), security_deposit_status: z.string().optional(), service_fee: z.number().int().optional(), service_fee_tax_rates: z.array(bookingTaxRate).optional(), services: z.array(bookingService).optional(), session_id: z.string().optional(), sibling_booking_group_id: z.number().int().nullable().optional(), sibling_bookings_totals: siblingTotals.optional(), siblings: z.lazy(() => siblingBookings.optional()), source: z.string().optional(), special_insurance_case: z.boolean().optional(), stage: z.string().optional(), status: z.string().optional(), subtotal: z.number().int().optional(), subtotal_with_claim_adjustments: z.number().int().optional(), support_status: z.string().optional(), system_generated: z.boolean().optional(), tax: z.number().int().optional(), tax_rates: taxRateTotalItems.optional(), tiered_owner_fee_percentage: z.number().optional(), tiered_renter_fee_percentage: z.number().optional(), time_to_first_action: z.number().int().optional(), timeline: z.array(timelineItem).optional(), timeline_data: timelineData.optional(), to: z.string().optional(), to_time: z.number().int().optional(), tollspot_monitor_id: z.number().int().optional(), total: z.number().int().optional(), total_after_credits: z.number().int().optional(), total_after_deductions: z.number().int().optional(), total_cc_fees: z.number().int().optional(), total_overage_fee_amount: z.number().int().optional(), total_owner_federal_withholding_tax: z.number().int().optional(), total_owner_quebec_sales_tax: z.number().int().optional(), total_paid: z.number().int().optional(), total_paid_with_claim_adjustments: z.number().int().optional(), total_security_deposit_cc_fees: z.number().int().optional(), total_with_claim_adjustments: z.number().int().optional(), transactions: z.array(transaction).optional(), travel_to_states: z.array(z.string()).optional(), traveler_type: z.string().optional(), travelers: z.number().int().optional(), trip_credits_disabled: z.boolean().optional(), trip_summary: tripSummary.optional(), unclaimed_fees: z.number().int().optional(), undelivered_emails_count: z.number().int().optional(), update_warnings: z.array(z.string()).optional(), updated: z.string().optional(), updated_stamp: z.string().optional(), use_custom_tax_rates: z.boolean().optional(), use_day_pricing: z.boolean().optional(), use_fees_increase: z.boolean().nullable().optional(), use_insurance_bundles: z.boolean().optional(), use_system_tax_rates: z.boolean().optional(), use_tax_inclusive_pricing: z.boolean().optional(), use_tint_check: z.boolean().optional(), user_notice_events: z.array(noticeResponse).optional(), user_notices_acknowledged: z.array(userAcknowledgment).optional(), user_role: z.string().optional(), waived_insurance_text: z.string().nullable().optional(), waiver_summary: waiverSummary.optional(), warning: warning.optional()}); export const siblingBookings: z.ZodType = z.object({rental_campsite: siblingBooking.optional(), rental_rv: siblingBooking.optional()}); export const booking: z.ZodType = z.object({abandoned: z.boolean().optional(), addons: z.array(bookingItem).optional(), adults: z.number().int().optional(), affirm_details: affirmDetails.optional(), affirm_total: z.number().int().optional(), applicable_tos_version: z.string().optional(), attention: z.array(attentionItem).optional(), auto_assign_group: z.boolean().nullable().optional(), auto_insurance_type: z.string().optional(), bid_id: z.number().int().optional(), block_discount_code: z.boolean().optional(), booked: z.string().optional(), booking_agent: z.string().optional(), booking_color: z.string().nullable().optional(), booking_token: z.string().optional(), bundle_id: z.string().optional(), calculated_day_price: z.number().int().optional(), calculated_total_paid: z.number().int().optional(), campaign: z.string().optional(), campground_booking_url: z.string().optional(), campground_data: siblingBookingCampgroundData.optional(), can_add_ending_generator_values: z.boolean().optional(), can_add_ending_mileage_values: z.boolean().optional(), can_add_starting_generator_values: z.boolean().optional(), can_add_starting_mileage_values: z.boolean().optional(), can_add_trip_protection: z.boolean().optional(), can_apply_credits: z.boolean().optional(), can_cancel_trip_protection: z.boolean().optional(), can_charge_overage_fees: z.boolean().optional(), can_file_claim: z.boolean().optional(), can_generate_weather_quote: z.boolean().optional(), can_manage_security_deposit: z.boolean().optional(), can_manage_tax_rates: z.boolean().optional(), can_renter_review: z.boolean().optional(), can_renter_review_until: z.string().optional(), can_see_contract: z.boolean().optional(), can_suggest_date_change: z.boolean().optional(), can_suggest_delivery_change: z.boolean().optional(), cancel_metadata: cancelMetadata.optional(), cancel_policy: z.string().optional(), cancel_reason: z.string().optional(), canceled: z.string().optional(), cancellation_cutoff_date: z.string().optional(), cancellation_refund_breakdown: cancellationRefundBreakdown.optional(), cancellation_refund_percentage: z.number().optional(), cc_fee_percentage: z.number().optional(), checkin_stamp: z.string().optional(), checkout_questions: dBMSISlice.optional(), checkout_stamp: z.string().optional(), checkout_steps_id: z.number().int().optional(), children: z.number().int().optional(), coachnet_id: z.number().int().optional(), coachnet_premium: z.number().int().optional(), consignment: bookingConsignment.optional(), conversation_id: z.number().int().optional(), created: z.string().optional(), created_by_id: z.number().int().optional(), created_stamp: z.string().optional(), custom_insurance_text: z.string().nullable().optional(), dealer_minimum_days: z.number().int().optional(), decline_reason: z.string().optional(), default_insurance_coverage: z.string().optional(), deliverable_campground: externalCampground.optional(), delivery: bookingDelivery.optional(), delivery_item: bookingItem.optional(), delivery_usage_item: z.unknown(), delivery_usage_item_id: z.number().int().optional(), deposit_percentage: z.number().optional(), destination: z.string().optional(), destination_lat: z.number().optional(), destination_lng: z.number().optional(), details: dBInterfaceMap.optional(), device_id: z.string().optional(), discount_code: z.string().optional(), discount_code_amount: z.number().int().optional(), discount_code_applied_to: z.string().optional(), discount_code_message: z.string().optional(), display_insurance: z.string().optional(), display_source: z.string().optional(), display_status: z.string().optional(), display_status_style: z.string().optional(), documents: bookingDocuments.optional(), dropoff: bookingDropoff.optional(), duration: z.number().int().optional(), esign_enabled: z.boolean().optional(), esign_pending: z.boolean().optional(), expire_reason: z.string().optional(), express_checkout_id: z.number().int().optional(), external: z.boolean().nullable().optional(), external_gift_card_details: externalGiftCardDetails.optional(), external_gift_card_details_v2: z.array(externalGiftCardDetails).optional(), fees_locked: z.boolean().optional(), fees_total: z.number().int().optional(), final_payment_due_days: z.number().int().optional(), followup_archived: z.boolean().optional(), formatted: bookingDisplayFormatted.optional(), formatted_total_overage_fee: z.string().optional(), fraudulent: z.boolean().optional(), free_cancellation_available: z.boolean().optional(), free_cancellation_period: z.number().int().optional(), from: z.string().optional(), from_time: z.number().int().optional(), fx_fee_paid: z.number().int().optional(), generator: bookingGenerator.optional(), generator_item: bookingItem.optional(), generator_usage_item: z.unknown(), generator_usage_item_id: z.number().int().optional(), grace_period_ends_at: z.string().optional(), handoff_summary: bookingHandoff.optional(), has_approved_drivers: z.boolean().optional(), has_setup_intent_enabled: z.boolean().optional(), hold_sales_tax: z.boolean().optional(), house_rules: z.string().optional(), id: z.number().int().optional(), import_id: z.string().optional(), imported: z.boolean().optional(), include_coachnet: z.boolean().optional(), infants: z.number().int().optional(), initial_duration: z.number().int().optional(), instamatch: z.boolean().nullable().optional(), instant_book: z.boolean().optional(), insurance: z.string().optional(), insurance_approved: z.boolean().optional(), insurance_approved_timestamp: z.string().optional(), insurance_approved_updated_timestamp: z.string().optional(), insurance_bundle: z.unknown(), insurance_claim_filed: z.boolean().optional(), insurance_coverage: z.string().optional(), insurance_plan_id: plan.optional(), insurance_renter_adjustable: z.boolean().optional(), internal_notes: z.string().optional(), is_request_less_than_minimum_days: z.boolean().optional(), is_within_grace_period: z.boolean().optional(), items: z.array(bookingItem).optional(), locale: bookingLocale.optional(), location_id: z.number().int().optional(), locked: z.boolean().optional(), loyalty_credit_issued: z.boolean().optional(), loyalty_rewards_eligible: z.boolean().optional(), medium: z.string().optional(), metadata: dBInterfaceMap.optional(), mileage: bookingMileage.optional(), mileage_item: bookingItem.optional(), mileage_usage_item: z.unknown(), mileage_usage_item_id: z.number().int().optional(), minimum_deposit: z.number().int().optional(), missing_data: z.array(z.string()).optional(), missing_requirements: z.record(z.string(), z.unknown()).optional(), mutual_cancellation: z.boolean().optional(), non_refundable_total: z.number().int().optional(), offer_affirm: z.boolean().optional(), offer_insurance: z.boolean().optional(), offer_paypal_pay_later: z.boolean().optional(), offer_roadside: z.boolean().optional(), original_booking_source: z.string().optional(), original_day_price: z.number().int().optional(), original_security_deposit: z.number().int().optional(), original_security_deposit_v2: z.number().int().optional(), original_service_fee: z.number().int().optional(), outdoorsy_fee: z.number().int().optional(), outdoorsy_remitted_taxes: z.number().int().optional(), overage_fee_collected: z.boolean().optional(), overage_fee_expired: z.boolean().optional(), overage_fee_section_display: z.boolean().optional(), owner_addon_total: z.number().int().optional(), owner_approval_attempted: z.boolean().nullable().optional(), owner_approved: z.boolean().optional(), owner_approved_at: z.string().optional(), owner_archived: z.boolean().optional(), owner_credits_applied: z.number().int().optional(), owner_did_review: z.boolean().optional(), owner_fee: z.number().int().optional(), owner_fee_aggregate_percentage: z.number().optional(), owner_fee_minimum_enforced: z.boolean().optional(), owner_fee_minimum_per_night: z.number().int().optional(), owner_fee_on_renter_cancellation: z.number().int().optional(), owner_fee_percentage: z.number().optional(), owner_fee_percentage_record: z.number().optional(), owner_fees: z.array(bookingItem).optional(), owner_id: z.number().int().optional(), owner_insurance_claim_filed: z.boolean().optional(), owner_insurance_fee_total: z.number().int().optional(), owner_integrations_fee: z.number().int().nullable().optional(), owner_payout: z.number().int().optional(), owner_payout_adjustment: z.number().int().optional(), owner_payout_with_claim_adjustments: z.number().int().optional(), owner_read: z.boolean().optional(), owner_summary: z.unknown(), owner_total: z.number().int().optional(), owner_total_without_tax: z.number().int().optional(), parent_booking_id: z.number().int().nullable().optional(), partner_app: partnerApp.optional(), payment_processor: paymentProcessor.optional(), payout_actual_transfer_amount: z.number().int().optional(), pending_transactions: z.array(pendingTransaction).optional(), personal_insurance_verification: z.boolean().optional(), personal_insurance_verification_status: z.string().optional(), pets: z.number().int().optional(), pickup: bookingPickup.optional(), premium_total: z.number().int().optional(), prep_fee_item: bookingItem.optional(), presentment_currency: z.string().optional(), processor_name: paymentProcessorName.optional(), proposals: z.array(proposal).optional(), provide_insurance_binder: z.boolean().optional(), raf_waiver_summary: rAFWaiverSummary.optional(), reason: z.string().nullable().optional(), referred_owner_paid: z.boolean().optional(), referred_owner_payout_amount: z.number().int().optional(), referred_renter_paid: z.boolean().optional(), referred_renter_payout_amount: z.number().int().optional(), refund_options: bookingRefundOptions.optional(), remainder_amount: z.number().int().optional(), remainder_due_date: z.string().optional(), remaining_days_to_cancellation_cutoff: z.number().int().optional(), rental_amount_item: bookingItem.optional(), rental_charge_card_id: z.number().int().optional(), rental_id: z.number().int().optional(), rental_summary: z.unknown(), renter_age: z.number().int().optional(), renter_approved: z.boolean().optional(), renter_approved_at: z.string().optional(), renter_archived: z.boolean().optional(), renter_can_waive_insurance: z.boolean().optional(), renter_credits_applied: z.number().int().optional(), renter_destination_data: renterDestinationData.optional(), renter_did_review: z.boolean().optional(), renter_fee_percentage: z.number().optional(), renter_fee_percentage_record: z.number().optional(), renter_id: z.number().int().optional(), renter_insurance_claim_filed: z.boolean().optional(), renter_insurance_fee_total: z.number().int().optional(), renter_payment_details: renterPaymentDetails.optional(), renter_read: z.boolean().optional(), renter_summary: z.unknown(), require_booking_time: z.boolean().optional(), require_dmv_check: z.boolean().optional(), require_drivers: z.boolean().optional(), require_insurance: z.boolean().optional(), require_renter_id_verification: z.boolean().optional(), require_roadside: z.boolean().optional(), reserve_amount: z.number().int().optional(), reserve_amount_after_credits: z.number().int().optional(), revenue_summary: revenueSummary.optional(), reviews: z.array(review).optional(), sd_post_trip_charges_data: dBInterfaceMap.optional(), sd_post_trip_charges_enabled: z.boolean().optional(), search_filters: searchFilters.optional(), security_deposit: z.number().int().optional(), security_deposit_card_id: z.number().int().optional(), security_deposit_claimed_amount: z.number().int().optional(), security_deposit_due_date: z.string().optional(), security_deposit_due_days: z.number().int().optional(), security_deposit_payout_amount: z.number().int().optional(), security_deposit_refund_amount: z.number().int().optional(), security_deposit_remaining: z.number().int().optional(), security_deposit_reversable: z.number().int().optional(), security_deposit_status: z.string().optional(), service_fee: z.number().int().optional(), service_fee_tax_rates: z.array(bookingTaxRate).optional(), services: z.array(bookingService).optional(), session_id: z.string().optional(), sibling_booking_group_id: z.number().int().nullable().optional(), sibling_bookings_totals: siblingTotals.optional(), siblings: siblingBookings.optional(), source: z.string().optional(), special_insurance_case: z.boolean().optional(), stage: z.string().optional(), status: z.string().optional(), subtotal: z.number().int().optional(), subtotal_with_claim_adjustments: z.number().int().optional(), support_status: z.string().optional(), system_generated: z.boolean().optional(), tax: z.number().int().optional(), tax_rates: taxRateTotalItems.optional(), tiered_owner_fee_percentage: z.number().optional(), tiered_renter_fee_percentage: z.number().optional(), time_to_first_action: z.number().int().optional(), timeline: z.array(timelineItem).optional(), timeline_data: timelineData.optional(), to: z.string().optional(), to_time: z.number().int().optional(), tollspot_monitor_id: z.number().int().optional(), total: z.number().int().optional(), total_after_credits: z.number().int().optional(), total_after_deductions: z.number().int().optional(), total_cc_fees: z.number().int().optional(), total_overage_fee_amount: z.number().int().optional(), total_owner_federal_withholding_tax: z.number().int().optional(), total_owner_quebec_sales_tax: z.number().int().optional(), total_paid: z.number().int().optional(), total_paid_with_claim_adjustments: z.number().int().optional(), total_security_deposit_cc_fees: z.number().int().optional(), total_with_claim_adjustments: z.number().int().optional(), transactions: z.array(transaction).optional(), travel_to_states: z.array(z.string()).optional(), traveler_type: z.string().optional(), travelers: z.number().int().optional(), trip_credits_disabled: z.boolean().optional(), trip_summary: tripSummary.optional(), unclaimed_fees: z.number().int().optional(), undelivered_emails_count: z.number().int().optional(), update_warnings: z.array(z.string()).optional(), updated: z.string().optional(), updated_stamp: z.string().optional(), use_custom_tax_rates: z.boolean().optional(), use_day_pricing: z.boolean().optional(), use_fees_increase: z.boolean().nullable().optional(), use_insurance_bundles: z.boolean().optional(), use_system_tax_rates: z.boolean().optional(), use_tax_inclusive_pricing: z.boolean().optional(), use_tint_check: z.boolean().optional(), user_notice_events: z.array(noticeResponse).optional(), user_notices_acknowledged: z.array(userAcknowledgment).optional(), user_role: z.string().optional(), waived_insurance_text: z.string().nullable().optional(), waiver_summary: waiverSummary.optional(), warning: warning.optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Updates the booking with requested changes. * * PATCH /bookings/{id} * * Also accepts auth: API-Key */ export const patchApiBookingsId = async (args: PatchApiBookingsIdArgs, options: PatchApiBookingsIdOptions) => { const {baseUrl, fetch: fetchFn = fetch, Bearer} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") if (Bearer !== undefined) headers.set("Authorization", Bearer) const url = `${baseUrl.replace(/\/+$/, '')}/bookings/${encodeURIComponent(String(args.id))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PATCH", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(booking, await res.json()) };