import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
import type { IBinaryWriter } from "@protobuf-ts/runtime";
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
import type { IBinaryReader } from "@protobuf-ts/runtime";
import type { PartialMessage } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
import { HotelReconciliationStatusEnum_HotelReconciliationStatus } from "../enums/hotel_reconciliation_status";
/**
 * A hotel reconciliation. It contains conversion information from Hotel
 * bookings to reconcile with advertiser records. These rows may be updated
 * or canceled before billing through Bulk Uploads.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.HotelReconciliation
 */
export interface HotelReconciliation {
    /**
     * Immutable. The resource name of the hotel reconciliation.
     * Hotel reconciliation resource names have the form:
     *
     * `customers/{customer_id}/hotelReconciliations/{commission_id}`
     *
     * @generated from protobuf field: string resource_name = 1;
     */
    resourceName: string;
    /**
     * Required. Output only. The commission ID is Google's ID for this booking. Every booking event is
     * assigned a Commission ID to help you match it to a guest stay.
     *
     * @generated from protobuf field: string commission_id = 2;
     */
    commissionId: string;
    /**
     * Output only. The order ID is the identifier for this booking as provided in the
     * 'transaction_id' parameter of the conversion tracking tag.
     *
     * @generated from protobuf field: string order_id = 3;
     */
    orderId: string;
    /**
     * Output only. The resource name for the Campaign associated with the conversion.
     *
     * @generated from protobuf field: string campaign = 11;
     */
    campaign: string;
    /**
     * Output only. Identifier for the Hotel Center account which provides the rates for the
     * Hotel campaign.
     *
     * @generated from protobuf field: int64 hotel_center_id = 4;
     */
    hotelCenterId: bigint;
    /**
     * Output only. Unique identifier for the booked property, as provided in the Hotel Center
     * feed. The hotel ID comes from the 'ID' parameter of the conversion tracking
     * tag.
     *
     * @generated from protobuf field: string hotel_id = 5;
     */
    hotelId: string;
    /**
     * Output only. Check-in date recorded when the booking is made. If the check-in date is
     * modified at reconciliation, the revised date will then take the place of
     * the original date in this column. Format is YYYY-MM-DD.
     *
     * @generated from protobuf field: string check_in_date = 6;
     */
    checkInDate: string;
    /**
     * Output only. Check-out date recorded when the booking is made. If the check-in date is
     * modified at reconciliation, the revised date will then take the place of
     * the original date in this column. Format is YYYY-MM-DD.
     *
     * @generated from protobuf field: string check_out_date = 7;
     */
    checkOutDate: string;
    /**
     * Required. Output only. Reconciled value is the final value of a booking as paid by the guest. If
     * original booking value changes for any reason, such as itinerary changes or
     * room upsells, the reconciled value should be the full final amount
     * collected. If a booking is canceled, the reconciled value should include
     * the value of any cancellation fees or non-refundable nights charged. Value
     * is in millionths of the base unit currency. For example, $12.35 would be
     * represented as 12350000. Currency unit is in the default customer currency.
     *
     * @generated from protobuf field: int64 reconciled_value_micros = 8;
     */
    reconciledValueMicros: bigint;
    /**
     * Output only. Whether a given booking has been billed. Once billed, a booking can't be
     * modified.
     *
     * @generated from protobuf field: bool billed = 9;
     */
    billed: boolean;
    /**
     * Required. Output only. Current status of a booking with regards to reconciliation and billing.
     * Bookings should be reconciled within 45 days after the check-out date.
     * Any booking not reconciled within 45 days will be billed at its original
     * value.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.HotelReconciliationStatusEnum.HotelReconciliationStatus status = 10;
     */
    status: HotelReconciliationStatusEnum_HotelReconciliationStatus;
}
declare class HotelReconciliation$Type extends MessageType<HotelReconciliation> {
    constructor();
    create(value?: PartialMessage<HotelReconciliation>): HotelReconciliation;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HotelReconciliation): HotelReconciliation;
    internalBinaryWrite(message: HotelReconciliation, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.HotelReconciliation
 */
export declare const HotelReconciliation: HotelReconciliation$Type;
export {};
