---
title: "POST /bookings/{id}/collect-overage-fee"
method: POST
path: "/bookings/{id}/collect-overage-fee"
tags: ["bookings"]
---

# POST /bookings/{id}/collect-overage-fee

`POST /bookings/{id}/collect-overage-fee`

Collect booking overage fee

## Path parameters

- `id` integer, required

## Request body

- CollectOverageFeeRequest — CollectOverageFeeRequest represents the request body for collecting overage fees
  - `admin_message` string — Admin message for audit trail
  - `dry_claim` boolean — Dry run mode - calculate charges without executing
  - `message` string — Message to send to renter about post-trip charges
  - `post_trip_charges` SecurityDepositPostTripCharges
    - `miscellaneous_charges` MiscellaneousCharges
      - `amount` integer
      - `description` string
    - `paid_on_return_addons_for_charge` integer[]
    - `penalties` PenaltyPostTripCharge[]
      - `amount` integer
      - `penalty_type` string
    - `unexpected_post_trip_charges` UnexpectedPostTripCharge[]
      - `amount` integer
      - `charge_type` string
      - `description` string
  - `usage_overage_only` boolean — Legacy usage-based overage collection (mileage/generator) Set to true to only collect existing mileage and generator overages

## Response `200`

- Transaction[]
  - `actual_deposit_date` string
  - `adjustment` integer
  - `amount` integer
  - `auto_deposit` boolean
  - `available` string — Available tells us when the funds are expected to have cleared the bank
  - `booking_id` integer
  - `brand` string
  - `can_delete` boolean
  - `can_finance_sync` boolean
  - `can_refund` boolean
  - `can_retry` boolean
  - `can_reverse_transfer` boolean
  - `can_sync` boolean
  - `can_transfer` boolean
  - `cc_fee` integer
  - `charged` string
  - `created` string
  - `created_by_id` integer
  - `deposit_date` string
  - `description` string
  - `display_charge_type` string
  - `display_payment_processor_name` string
  - `display_type` string
  - `dispute_reason` string, nullable
  - `dispute_status` string, nullable
  - `disputed` boolean
  - `expected_deposit_date` string
  - `failed` boolean
  - `fraudulent` boolean
  - `fx_fee` integer — DEPRECATED - DO NOT USE
  - `id` integer
  - `is_refund` boolean
  - `last_four` string
  - `original_charge_id` Transaction — recursive
  - `our_fee` integer
  - `outdoorsy_fee` integer
  - `owner_federal_withholding_tax` integer
  - `owner_fee` integer
  - `owner_integrations_fee` integer, nullable
  - `owner_quebec_sales_tax` integer
  - `paid` boolean
  - `payment_meta` unknown
  - `payment_processor` PaymentProcessor — Typically this object is composed into a struct, but embedded into the same table using the `db:",embed"` struct tag.
    - `country` string
    - `external_processor` string
    - `external_processor_id` string
    - `name` string
  - `payment_source` string
  - `processor_settlement_id` string, nullable
  - `recipient_id` integer
  - `refund_source` string
  - `refunded` integer
  - `refunded_cc_fee` integer
  - `refunded_fee` integer
  - `refunded_fx_fee` integer
  - `refunded_outdoorsy_fee` integer
  - `refunded_owner_federal_withholding_tax` integer
  - `refunded_owner_fee` integer
  - `refunded_owner_integrations_fee` integer, nullable
  - `refunded_owner_quebec_sales_tax` integer
  - `refunded_service_fee` integer
  - `retry_payout_id` Transaction — recursive
  - `sales_tax` integer
  - `service_fee` integer
  - `status` string
  - `stripe_fee` integer
  - `stripe_fee_refund` integer
  - `stripe_id` string
  - `transfer` Transaction — recursive
  - `type` string

## Other responses

- `400` — Invalid input or state means you're bad
- `401` — Unauthorized error
- `404` — Not found error
- `default` — An unknown, unexpected error.

---

[API](https://skmtc.net/outdoorsy/apis/outdoorsy-api-documentation.md) · [All operations](https://skmtc.net/outdoorsy/apis/outdoorsy-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/outdoorsy/outdoorsy-api-documentation/versions/f0cf8f605ea0/schema)
