/**
 * @example
 *     {
 *         pid: "pid",
 *         amount: 1.1,
 *         balanceDefinitionId: "balanceDefinitionId",
 *         contactId: 1,
 *         dueAt: "dueAt",
 *         source: "source"
 *     }
 */
export interface CreateBalanceOrderRequest {
    /** Loyalty Program Id */
    pid: string;
    /** Order amount (must be non-zero). */
    amount: number;
    /** Unique identifier (UUID) of the associated balance definition. */
    balanceDefinitionId: string;
    /** Unique identifier of the contact placing the order (must be ≥ 1). */
    contactId: number;
    /** RFC3339 timestamp specifying when the order is due. */
    dueAt: string;
    /** Optional RFC3339 timestamp defining order expiration. */
    expiresAt?: string;
    /** Optional metadata associated with the order. */
    meta?: Record<string, unknown>;
    /** Specifies the origin of the order (`engine` or `user`). */
    source: string;
}
