/* !!! This is code generated by Prisma. Do not edit directly. !!! */ /* eslint-disable */ // biome-ignore-all lint: generated file // @ts-nocheck /* * This file exports the `Refund` model and its related types. * * 🟢 You can import this file directly. */ import type * as runtime from "@prisma/client/runtime/client" import type * as $Enums from "../enums" import type * as Prisma from "../internal/prismaNamespace" /** * Model Refund * Refund = financial event terpisah dari Booking. Satu Booking bisa punya * banyak Refund (partial, multi-tahap). Setiap row auditable: kapan dibuat, * siapa melaporkan, siapa approve, kapan SUCCEEDED. Never delete — kalau * gagal, set status=FAILED + alasan. * * Di MVP refund dimasukkan admin secara manual berdasarkan laporan dari * peserta atau organizer (via WhatsApp/email). Phase berikutnya akan * menambah self-service flow dari user dan organizer. */ export type RefundModel = runtime.Types.Result.DefaultSelection export type AggregateRefund = { _count: RefundCountAggregateOutputType | null _avg: RefundAvgAggregateOutputType | null _sum: RefundSumAggregateOutputType | null _min: RefundMinAggregateOutputType | null _max: RefundMaxAggregateOutputType | null } export type RefundAvgAggregateOutputType = { amount: number | null } export type RefundSumAggregateOutputType = { amount: number | null } export type RefundMinAggregateOutputType = { id: string | null bookingId: string | null paymentId: string | null amount: number | null currency: string | null reason: $Enums.RefundReason | null reportedBy: $Enums.RefundReporter | null reportNote: string | null initiatedBy: $Enums.RefundInitiator | null status: $Enums.RefundStatus | null idempotencyKey: string | null adminNote: string | null reviewedById: string | null reviewedAt: Date | null succeededAt: Date | null failedAt: Date | null externalRefundId: string | null createdAt: Date | null updatedAt: Date | null } export type RefundMaxAggregateOutputType = { id: string | null bookingId: string | null paymentId: string | null amount: number | null currency: string | null reason: $Enums.RefundReason | null reportedBy: $Enums.RefundReporter | null reportNote: string | null initiatedBy: $Enums.RefundInitiator | null status: $Enums.RefundStatus | null idempotencyKey: string | null adminNote: string | null reviewedById: string | null reviewedAt: Date | null succeededAt: Date | null failedAt: Date | null externalRefundId: string | null createdAt: Date | null updatedAt: Date | null } export type RefundCountAggregateOutputType = { id: number bookingId: number paymentId: number amount: number currency: number reason: number reportedBy: number reportNote: number initiatedBy: number status: number idempotencyKey: number adminNote: number reviewedById: number reviewedAt: number succeededAt: number failedAt: number externalRefundId: number createdAt: number updatedAt: number _all: number } export type RefundAvgAggregateInputType = { amount?: true } export type RefundSumAggregateInputType = { amount?: true } export type RefundMinAggregateInputType = { id?: true bookingId?: true paymentId?: true amount?: true currency?: true reason?: true reportedBy?: true reportNote?: true initiatedBy?: true status?: true idempotencyKey?: true adminNote?: true reviewedById?: true reviewedAt?: true succeededAt?: true failedAt?: true externalRefundId?: true createdAt?: true updatedAt?: true } export type RefundMaxAggregateInputType = { id?: true bookingId?: true paymentId?: true amount?: true currency?: true reason?: true reportedBy?: true reportNote?: true initiatedBy?: true status?: true idempotencyKey?: true adminNote?: true reviewedById?: true reviewedAt?: true succeededAt?: true failedAt?: true externalRefundId?: true createdAt?: true updatedAt?: true } export type RefundCountAggregateInputType = { id?: true bookingId?: true paymentId?: true amount?: true currency?: true reason?: true reportedBy?: true reportNote?: true initiatedBy?: true status?: true idempotencyKey?: true adminNote?: true reviewedById?: true reviewedAt?: true succeededAt?: true failedAt?: true externalRefundId?: true createdAt?: true updatedAt?: true _all?: true } export type RefundAggregateArgs = { /** * Filter which Refund to aggregate. */ where?: Prisma.RefundWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Refunds to fetch. */ orderBy?: Prisma.RefundOrderByWithRelationInput | Prisma.RefundOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the start position */ cursor?: Prisma.RefundWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Refunds from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Refunds. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Refunds **/ _count?: true | RefundCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to average **/ _avg?: RefundAvgAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to sum **/ _sum?: RefundSumAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value **/ _min?: RefundMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value **/ _max?: RefundMaxAggregateInputType } export type GetRefundAggregateType = { [P in keyof T & keyof AggregateRefund]: P extends '_count' | 'count' ? T[P] extends true ? number : Prisma.GetScalarType : Prisma.GetScalarType } export type RefundGroupByArgs = { where?: Prisma.RefundWhereInput orderBy?: Prisma.RefundOrderByWithAggregationInput | Prisma.RefundOrderByWithAggregationInput[] by: Prisma.RefundScalarFieldEnum[] | Prisma.RefundScalarFieldEnum having?: Prisma.RefundScalarWhereWithAggregatesInput take?: number skip?: number _count?: RefundCountAggregateInputType | true _avg?: RefundAvgAggregateInputType _sum?: RefundSumAggregateInputType _min?: RefundMinAggregateInputType _max?: RefundMaxAggregateInputType } export type RefundGroupByOutputType = { id: string bookingId: string paymentId: string | null amount: number currency: string reason: $Enums.RefundReason reportedBy: $Enums.RefundReporter reportNote: string initiatedBy: $Enums.RefundInitiator status: $Enums.RefundStatus idempotencyKey: string adminNote: string | null reviewedById: string | null reviewedAt: Date | null succeededAt: Date | null failedAt: Date | null externalRefundId: string | null createdAt: Date updatedAt: Date _count: RefundCountAggregateOutputType | null _avg: RefundAvgAggregateOutputType | null _sum: RefundSumAggregateOutputType | null _min: RefundMinAggregateOutputType | null _max: RefundMaxAggregateOutputType | null } export type GetRefundGroupByPayload = Prisma.PrismaPromise< Array< Prisma.PickEnumerable & { [P in ((keyof T) & (keyof RefundGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : Prisma.GetScalarType : Prisma.GetScalarType } > > export type RefundWhereInput = { AND?: Prisma.RefundWhereInput | Prisma.RefundWhereInput[] OR?: Prisma.RefundWhereInput[] NOT?: Prisma.RefundWhereInput | Prisma.RefundWhereInput[] id?: Prisma.StringFilter<"Refund"> | string bookingId?: Prisma.StringFilter<"Refund"> | string paymentId?: Prisma.StringNullableFilter<"Refund"> | string | null amount?: Prisma.IntFilter<"Refund"> | number currency?: Prisma.StringFilter<"Refund"> | string reason?: Prisma.EnumRefundReasonFilter<"Refund"> | $Enums.RefundReason reportedBy?: Prisma.EnumRefundReporterFilter<"Refund"> | $Enums.RefundReporter reportNote?: Prisma.StringFilter<"Refund"> | string initiatedBy?: Prisma.EnumRefundInitiatorFilter<"Refund"> | $Enums.RefundInitiator status?: Prisma.EnumRefundStatusFilter<"Refund"> | $Enums.RefundStatus idempotencyKey?: Prisma.StringFilter<"Refund"> | string adminNote?: Prisma.StringNullableFilter<"Refund"> | string | null reviewedById?: Prisma.StringNullableFilter<"Refund"> | string | null reviewedAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null succeededAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null failedAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null externalRefundId?: Prisma.StringNullableFilter<"Refund"> | string | null createdAt?: Prisma.DateTimeFilter<"Refund"> | Date | string updatedAt?: Prisma.DateTimeFilter<"Refund"> | Date | string booking?: Prisma.XOR payment?: Prisma.XOR | null reviewedBy?: Prisma.XOR | null } export type RefundOrderByWithRelationInput = { id?: Prisma.SortOrder bookingId?: Prisma.SortOrder paymentId?: Prisma.SortOrderInput | Prisma.SortOrder amount?: Prisma.SortOrder currency?: Prisma.SortOrder reason?: Prisma.SortOrder reportedBy?: Prisma.SortOrder reportNote?: Prisma.SortOrder initiatedBy?: Prisma.SortOrder status?: Prisma.SortOrder idempotencyKey?: Prisma.SortOrder adminNote?: Prisma.SortOrderInput | Prisma.SortOrder reviewedById?: Prisma.SortOrderInput | Prisma.SortOrder reviewedAt?: Prisma.SortOrderInput | Prisma.SortOrder succeededAt?: Prisma.SortOrderInput | Prisma.SortOrder failedAt?: Prisma.SortOrderInput | Prisma.SortOrder externalRefundId?: Prisma.SortOrderInput | Prisma.SortOrder createdAt?: Prisma.SortOrder updatedAt?: Prisma.SortOrder booking?: Prisma.BookingOrderByWithRelationInput payment?: Prisma.PaymentOrderByWithRelationInput reviewedBy?: Prisma.UserOrderByWithRelationInput } export type RefundWhereUniqueInput = Prisma.AtLeast<{ id?: string idempotencyKey?: string AND?: Prisma.RefundWhereInput | Prisma.RefundWhereInput[] OR?: Prisma.RefundWhereInput[] NOT?: Prisma.RefundWhereInput | Prisma.RefundWhereInput[] bookingId?: Prisma.StringFilter<"Refund"> | string paymentId?: Prisma.StringNullableFilter<"Refund"> | string | null amount?: Prisma.IntFilter<"Refund"> | number currency?: Prisma.StringFilter<"Refund"> | string reason?: Prisma.EnumRefundReasonFilter<"Refund"> | $Enums.RefundReason reportedBy?: Prisma.EnumRefundReporterFilter<"Refund"> | $Enums.RefundReporter reportNote?: Prisma.StringFilter<"Refund"> | string initiatedBy?: Prisma.EnumRefundInitiatorFilter<"Refund"> | $Enums.RefundInitiator status?: Prisma.EnumRefundStatusFilter<"Refund"> | $Enums.RefundStatus adminNote?: Prisma.StringNullableFilter<"Refund"> | string | null reviewedById?: Prisma.StringNullableFilter<"Refund"> | string | null reviewedAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null succeededAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null failedAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null externalRefundId?: Prisma.StringNullableFilter<"Refund"> | string | null createdAt?: Prisma.DateTimeFilter<"Refund"> | Date | string updatedAt?: Prisma.DateTimeFilter<"Refund"> | Date | string booking?: Prisma.XOR payment?: Prisma.XOR | null reviewedBy?: Prisma.XOR | null }, "id" | "idempotencyKey"> export type RefundOrderByWithAggregationInput = { id?: Prisma.SortOrder bookingId?: Prisma.SortOrder paymentId?: Prisma.SortOrderInput | Prisma.SortOrder amount?: Prisma.SortOrder currency?: Prisma.SortOrder reason?: Prisma.SortOrder reportedBy?: Prisma.SortOrder reportNote?: Prisma.SortOrder initiatedBy?: Prisma.SortOrder status?: Prisma.SortOrder idempotencyKey?: Prisma.SortOrder adminNote?: Prisma.SortOrderInput | Prisma.SortOrder reviewedById?: Prisma.SortOrderInput | Prisma.SortOrder reviewedAt?: Prisma.SortOrderInput | Prisma.SortOrder succeededAt?: Prisma.SortOrderInput | Prisma.SortOrder failedAt?: Prisma.SortOrderInput | Prisma.SortOrder externalRefundId?: Prisma.SortOrderInput | Prisma.SortOrder createdAt?: Prisma.SortOrder updatedAt?: Prisma.SortOrder _count?: Prisma.RefundCountOrderByAggregateInput _avg?: Prisma.RefundAvgOrderByAggregateInput _max?: Prisma.RefundMaxOrderByAggregateInput _min?: Prisma.RefundMinOrderByAggregateInput _sum?: Prisma.RefundSumOrderByAggregateInput } export type RefundScalarWhereWithAggregatesInput = { AND?: Prisma.RefundScalarWhereWithAggregatesInput | Prisma.RefundScalarWhereWithAggregatesInput[] OR?: Prisma.RefundScalarWhereWithAggregatesInput[] NOT?: Prisma.RefundScalarWhereWithAggregatesInput | Prisma.RefundScalarWhereWithAggregatesInput[] id?: Prisma.StringWithAggregatesFilter<"Refund"> | string bookingId?: Prisma.StringWithAggregatesFilter<"Refund"> | string paymentId?: Prisma.StringNullableWithAggregatesFilter<"Refund"> | string | null amount?: Prisma.IntWithAggregatesFilter<"Refund"> | number currency?: Prisma.StringWithAggregatesFilter<"Refund"> | string reason?: Prisma.EnumRefundReasonWithAggregatesFilter<"Refund"> | $Enums.RefundReason reportedBy?: Prisma.EnumRefundReporterWithAggregatesFilter<"Refund"> | $Enums.RefundReporter reportNote?: Prisma.StringWithAggregatesFilter<"Refund"> | string initiatedBy?: Prisma.EnumRefundInitiatorWithAggregatesFilter<"Refund"> | $Enums.RefundInitiator status?: Prisma.EnumRefundStatusWithAggregatesFilter<"Refund"> | $Enums.RefundStatus idempotencyKey?: Prisma.StringWithAggregatesFilter<"Refund"> | string adminNote?: Prisma.StringNullableWithAggregatesFilter<"Refund"> | string | null reviewedById?: Prisma.StringNullableWithAggregatesFilter<"Refund"> | string | null reviewedAt?: Prisma.DateTimeNullableWithAggregatesFilter<"Refund"> | Date | string | null succeededAt?: Prisma.DateTimeNullableWithAggregatesFilter<"Refund"> | Date | string | null failedAt?: Prisma.DateTimeNullableWithAggregatesFilter<"Refund"> | Date | string | null externalRefundId?: Prisma.StringNullableWithAggregatesFilter<"Refund"> | string | null createdAt?: Prisma.DateTimeWithAggregatesFilter<"Refund"> | Date | string updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Refund"> | Date | string } export type RefundCreateInput = { id?: string amount: number currency?: string reason: $Enums.RefundReason reportedBy: $Enums.RefundReporter reportNote: string initiatedBy?: $Enums.RefundInitiator status?: $Enums.RefundStatus idempotencyKey: string adminNote?: string | null reviewedAt?: Date | string | null succeededAt?: Date | string | null failedAt?: Date | string | null externalRefundId?: string | null createdAt?: Date | string updatedAt?: Date | string booking: Prisma.BookingCreateNestedOneWithoutRefundsInput payment?: Prisma.PaymentCreateNestedOneWithoutRefundsInput reviewedBy?: Prisma.UserCreateNestedOneWithoutReviewedRefundsInput } export type RefundUncheckedCreateInput = { id?: string bookingId: string paymentId?: string | null amount: number currency?: string reason: $Enums.RefundReason reportedBy: $Enums.RefundReporter reportNote: string initiatedBy?: $Enums.RefundInitiator status?: $Enums.RefundStatus idempotencyKey: string adminNote?: string | null reviewedById?: string | null reviewedAt?: Date | string | null succeededAt?: Date | string | null failedAt?: Date | string | null externalRefundId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type RefundUpdateInput = { id?: Prisma.StringFieldUpdateOperationsInput | string amount?: Prisma.IntFieldUpdateOperationsInput | number currency?: Prisma.StringFieldUpdateOperationsInput | string reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter reportNote?: Prisma.StringFieldUpdateOperationsInput | string initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string booking?: Prisma.BookingUpdateOneRequiredWithoutRefundsNestedInput payment?: Prisma.PaymentUpdateOneWithoutRefundsNestedInput reviewedBy?: Prisma.UserUpdateOneWithoutReviewedRefundsNestedInput } export type RefundUncheckedUpdateInput = { id?: Prisma.StringFieldUpdateOperationsInput | string bookingId?: Prisma.StringFieldUpdateOperationsInput | string paymentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null amount?: Prisma.IntFieldUpdateOperationsInput | number currency?: Prisma.StringFieldUpdateOperationsInput | string reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter reportNote?: Prisma.StringFieldUpdateOperationsInput | string initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } export type RefundCreateManyInput = { id?: string bookingId: string paymentId?: string | null amount: number currency?: string reason: $Enums.RefundReason reportedBy: $Enums.RefundReporter reportNote: string initiatedBy?: $Enums.RefundInitiator status?: $Enums.RefundStatus idempotencyKey: string adminNote?: string | null reviewedById?: string | null reviewedAt?: Date | string | null succeededAt?: Date | string | null failedAt?: Date | string | null externalRefundId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type RefundUpdateManyMutationInput = { id?: Prisma.StringFieldUpdateOperationsInput | string amount?: Prisma.IntFieldUpdateOperationsInput | number currency?: Prisma.StringFieldUpdateOperationsInput | string reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter reportNote?: Prisma.StringFieldUpdateOperationsInput | string initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } export type RefundUncheckedUpdateManyInput = { id?: Prisma.StringFieldUpdateOperationsInput | string bookingId?: Prisma.StringFieldUpdateOperationsInput | string paymentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null amount?: Prisma.IntFieldUpdateOperationsInput | number currency?: Prisma.StringFieldUpdateOperationsInput | string reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter reportNote?: Prisma.StringFieldUpdateOperationsInput | string initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } export type RefundListRelationFilter = { every?: Prisma.RefundWhereInput some?: Prisma.RefundWhereInput none?: Prisma.RefundWhereInput } export type RefundOrderByRelationAggregateInput = { _count?: Prisma.SortOrder } export type RefundCountOrderByAggregateInput = { id?: Prisma.SortOrder bookingId?: Prisma.SortOrder paymentId?: Prisma.SortOrder amount?: Prisma.SortOrder currency?: Prisma.SortOrder reason?: Prisma.SortOrder reportedBy?: Prisma.SortOrder reportNote?: Prisma.SortOrder initiatedBy?: Prisma.SortOrder status?: Prisma.SortOrder idempotencyKey?: Prisma.SortOrder adminNote?: Prisma.SortOrder reviewedById?: Prisma.SortOrder reviewedAt?: Prisma.SortOrder succeededAt?: Prisma.SortOrder failedAt?: Prisma.SortOrder externalRefundId?: Prisma.SortOrder createdAt?: Prisma.SortOrder updatedAt?: Prisma.SortOrder } export type RefundAvgOrderByAggregateInput = { amount?: Prisma.SortOrder } export type RefundMaxOrderByAggregateInput = { id?: Prisma.SortOrder bookingId?: Prisma.SortOrder paymentId?: Prisma.SortOrder amount?: Prisma.SortOrder currency?: Prisma.SortOrder reason?: Prisma.SortOrder reportedBy?: Prisma.SortOrder reportNote?: Prisma.SortOrder initiatedBy?: Prisma.SortOrder status?: Prisma.SortOrder idempotencyKey?: Prisma.SortOrder adminNote?: Prisma.SortOrder reviewedById?: Prisma.SortOrder reviewedAt?: Prisma.SortOrder succeededAt?: Prisma.SortOrder failedAt?: Prisma.SortOrder externalRefundId?: Prisma.SortOrder createdAt?: Prisma.SortOrder updatedAt?: Prisma.SortOrder } export type RefundMinOrderByAggregateInput = { id?: Prisma.SortOrder bookingId?: Prisma.SortOrder paymentId?: Prisma.SortOrder amount?: Prisma.SortOrder currency?: Prisma.SortOrder reason?: Prisma.SortOrder reportedBy?: Prisma.SortOrder reportNote?: Prisma.SortOrder initiatedBy?: Prisma.SortOrder status?: Prisma.SortOrder idempotencyKey?: Prisma.SortOrder adminNote?: Prisma.SortOrder reviewedById?: Prisma.SortOrder reviewedAt?: Prisma.SortOrder succeededAt?: Prisma.SortOrder failedAt?: Prisma.SortOrder externalRefundId?: Prisma.SortOrder createdAt?: Prisma.SortOrder updatedAt?: Prisma.SortOrder } export type RefundSumOrderByAggregateInput = { amount?: Prisma.SortOrder } export type RefundCreateNestedManyWithoutReviewedByInput = { create?: Prisma.XOR | Prisma.RefundCreateWithoutReviewedByInput[] | Prisma.RefundUncheckedCreateWithoutReviewedByInput[] connectOrCreate?: Prisma.RefundCreateOrConnectWithoutReviewedByInput | Prisma.RefundCreateOrConnectWithoutReviewedByInput[] createMany?: Prisma.RefundCreateManyReviewedByInputEnvelope connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] } export type RefundUncheckedCreateNestedManyWithoutReviewedByInput = { create?: Prisma.XOR | Prisma.RefundCreateWithoutReviewedByInput[] | Prisma.RefundUncheckedCreateWithoutReviewedByInput[] connectOrCreate?: Prisma.RefundCreateOrConnectWithoutReviewedByInput | Prisma.RefundCreateOrConnectWithoutReviewedByInput[] createMany?: Prisma.RefundCreateManyReviewedByInputEnvelope connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] } export type RefundUpdateManyWithoutReviewedByNestedInput = { create?: Prisma.XOR | Prisma.RefundCreateWithoutReviewedByInput[] | Prisma.RefundUncheckedCreateWithoutReviewedByInput[] connectOrCreate?: Prisma.RefundCreateOrConnectWithoutReviewedByInput | Prisma.RefundCreateOrConnectWithoutReviewedByInput[] upsert?: Prisma.RefundUpsertWithWhereUniqueWithoutReviewedByInput | Prisma.RefundUpsertWithWhereUniqueWithoutReviewedByInput[] createMany?: Prisma.RefundCreateManyReviewedByInputEnvelope set?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] disconnect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] delete?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] update?: Prisma.RefundUpdateWithWhereUniqueWithoutReviewedByInput | Prisma.RefundUpdateWithWhereUniqueWithoutReviewedByInput[] updateMany?: Prisma.RefundUpdateManyWithWhereWithoutReviewedByInput | Prisma.RefundUpdateManyWithWhereWithoutReviewedByInput[] deleteMany?: Prisma.RefundScalarWhereInput | Prisma.RefundScalarWhereInput[] } export type RefundUncheckedUpdateManyWithoutReviewedByNestedInput = { create?: Prisma.XOR | Prisma.RefundCreateWithoutReviewedByInput[] | Prisma.RefundUncheckedCreateWithoutReviewedByInput[] connectOrCreate?: Prisma.RefundCreateOrConnectWithoutReviewedByInput | Prisma.RefundCreateOrConnectWithoutReviewedByInput[] upsert?: Prisma.RefundUpsertWithWhereUniqueWithoutReviewedByInput | Prisma.RefundUpsertWithWhereUniqueWithoutReviewedByInput[] createMany?: Prisma.RefundCreateManyReviewedByInputEnvelope set?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] disconnect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] delete?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] update?: Prisma.RefundUpdateWithWhereUniqueWithoutReviewedByInput | Prisma.RefundUpdateWithWhereUniqueWithoutReviewedByInput[] updateMany?: Prisma.RefundUpdateManyWithWhereWithoutReviewedByInput | Prisma.RefundUpdateManyWithWhereWithoutReviewedByInput[] deleteMany?: Prisma.RefundScalarWhereInput | Prisma.RefundScalarWhereInput[] } export type RefundCreateNestedManyWithoutBookingInput = { create?: Prisma.XOR | Prisma.RefundCreateWithoutBookingInput[] | Prisma.RefundUncheckedCreateWithoutBookingInput[] connectOrCreate?: Prisma.RefundCreateOrConnectWithoutBookingInput | Prisma.RefundCreateOrConnectWithoutBookingInput[] createMany?: Prisma.RefundCreateManyBookingInputEnvelope connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] } export type RefundUncheckedCreateNestedManyWithoutBookingInput = { create?: Prisma.XOR | Prisma.RefundCreateWithoutBookingInput[] | Prisma.RefundUncheckedCreateWithoutBookingInput[] connectOrCreate?: Prisma.RefundCreateOrConnectWithoutBookingInput | Prisma.RefundCreateOrConnectWithoutBookingInput[] createMany?: Prisma.RefundCreateManyBookingInputEnvelope connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] } export type RefundUpdateManyWithoutBookingNestedInput = { create?: Prisma.XOR | Prisma.RefundCreateWithoutBookingInput[] | Prisma.RefundUncheckedCreateWithoutBookingInput[] connectOrCreate?: Prisma.RefundCreateOrConnectWithoutBookingInput | Prisma.RefundCreateOrConnectWithoutBookingInput[] upsert?: Prisma.RefundUpsertWithWhereUniqueWithoutBookingInput | Prisma.RefundUpsertWithWhereUniqueWithoutBookingInput[] createMany?: Prisma.RefundCreateManyBookingInputEnvelope set?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] disconnect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] delete?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] update?: Prisma.RefundUpdateWithWhereUniqueWithoutBookingInput | Prisma.RefundUpdateWithWhereUniqueWithoutBookingInput[] updateMany?: Prisma.RefundUpdateManyWithWhereWithoutBookingInput | Prisma.RefundUpdateManyWithWhereWithoutBookingInput[] deleteMany?: Prisma.RefundScalarWhereInput | Prisma.RefundScalarWhereInput[] } export type RefundUncheckedUpdateManyWithoutBookingNestedInput = { create?: Prisma.XOR | Prisma.RefundCreateWithoutBookingInput[] | Prisma.RefundUncheckedCreateWithoutBookingInput[] connectOrCreate?: Prisma.RefundCreateOrConnectWithoutBookingInput | Prisma.RefundCreateOrConnectWithoutBookingInput[] upsert?: Prisma.RefundUpsertWithWhereUniqueWithoutBookingInput | Prisma.RefundUpsertWithWhereUniqueWithoutBookingInput[] createMany?: Prisma.RefundCreateManyBookingInputEnvelope set?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] disconnect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] delete?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] update?: Prisma.RefundUpdateWithWhereUniqueWithoutBookingInput | Prisma.RefundUpdateWithWhereUniqueWithoutBookingInput[] updateMany?: Prisma.RefundUpdateManyWithWhereWithoutBookingInput | Prisma.RefundUpdateManyWithWhereWithoutBookingInput[] deleteMany?: Prisma.RefundScalarWhereInput | Prisma.RefundScalarWhereInput[] } export type RefundCreateNestedManyWithoutPaymentInput = { create?: Prisma.XOR | Prisma.RefundCreateWithoutPaymentInput[] | Prisma.RefundUncheckedCreateWithoutPaymentInput[] connectOrCreate?: Prisma.RefundCreateOrConnectWithoutPaymentInput | Prisma.RefundCreateOrConnectWithoutPaymentInput[] createMany?: Prisma.RefundCreateManyPaymentInputEnvelope connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] } export type RefundUncheckedCreateNestedManyWithoutPaymentInput = { create?: Prisma.XOR | Prisma.RefundCreateWithoutPaymentInput[] | Prisma.RefundUncheckedCreateWithoutPaymentInput[] connectOrCreate?: Prisma.RefundCreateOrConnectWithoutPaymentInput | Prisma.RefundCreateOrConnectWithoutPaymentInput[] createMany?: Prisma.RefundCreateManyPaymentInputEnvelope connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] } export type RefundUpdateManyWithoutPaymentNestedInput = { create?: Prisma.XOR | Prisma.RefundCreateWithoutPaymentInput[] | Prisma.RefundUncheckedCreateWithoutPaymentInput[] connectOrCreate?: Prisma.RefundCreateOrConnectWithoutPaymentInput | Prisma.RefundCreateOrConnectWithoutPaymentInput[] upsert?: Prisma.RefundUpsertWithWhereUniqueWithoutPaymentInput | Prisma.RefundUpsertWithWhereUniqueWithoutPaymentInput[] createMany?: Prisma.RefundCreateManyPaymentInputEnvelope set?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] disconnect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] delete?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] update?: Prisma.RefundUpdateWithWhereUniqueWithoutPaymentInput | Prisma.RefundUpdateWithWhereUniqueWithoutPaymentInput[] updateMany?: Prisma.RefundUpdateManyWithWhereWithoutPaymentInput | Prisma.RefundUpdateManyWithWhereWithoutPaymentInput[] deleteMany?: Prisma.RefundScalarWhereInput | Prisma.RefundScalarWhereInput[] } export type RefundUncheckedUpdateManyWithoutPaymentNestedInput = { create?: Prisma.XOR | Prisma.RefundCreateWithoutPaymentInput[] | Prisma.RefundUncheckedCreateWithoutPaymentInput[] connectOrCreate?: Prisma.RefundCreateOrConnectWithoutPaymentInput | Prisma.RefundCreateOrConnectWithoutPaymentInput[] upsert?: Prisma.RefundUpsertWithWhereUniqueWithoutPaymentInput | Prisma.RefundUpsertWithWhereUniqueWithoutPaymentInput[] createMany?: Prisma.RefundCreateManyPaymentInputEnvelope set?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] disconnect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] delete?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] connect?: Prisma.RefundWhereUniqueInput | Prisma.RefundWhereUniqueInput[] update?: Prisma.RefundUpdateWithWhereUniqueWithoutPaymentInput | Prisma.RefundUpdateWithWhereUniqueWithoutPaymentInput[] updateMany?: Prisma.RefundUpdateManyWithWhereWithoutPaymentInput | Prisma.RefundUpdateManyWithWhereWithoutPaymentInput[] deleteMany?: Prisma.RefundScalarWhereInput | Prisma.RefundScalarWhereInput[] } export type EnumRefundReasonFieldUpdateOperationsInput = { set?: $Enums.RefundReason } export type EnumRefundReporterFieldUpdateOperationsInput = { set?: $Enums.RefundReporter } export type EnumRefundInitiatorFieldUpdateOperationsInput = { set?: $Enums.RefundInitiator } export type EnumRefundStatusFieldUpdateOperationsInput = { set?: $Enums.RefundStatus } export type RefundCreateWithoutReviewedByInput = { id?: string amount: number currency?: string reason: $Enums.RefundReason reportedBy: $Enums.RefundReporter reportNote: string initiatedBy?: $Enums.RefundInitiator status?: $Enums.RefundStatus idempotencyKey: string adminNote?: string | null reviewedAt?: Date | string | null succeededAt?: Date | string | null failedAt?: Date | string | null externalRefundId?: string | null createdAt?: Date | string updatedAt?: Date | string booking: Prisma.BookingCreateNestedOneWithoutRefundsInput payment?: Prisma.PaymentCreateNestedOneWithoutRefundsInput } export type RefundUncheckedCreateWithoutReviewedByInput = { id?: string bookingId: string paymentId?: string | null amount: number currency?: string reason: $Enums.RefundReason reportedBy: $Enums.RefundReporter reportNote: string initiatedBy?: $Enums.RefundInitiator status?: $Enums.RefundStatus idempotencyKey: string adminNote?: string | null reviewedAt?: Date | string | null succeededAt?: Date | string | null failedAt?: Date | string | null externalRefundId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type RefundCreateOrConnectWithoutReviewedByInput = { where: Prisma.RefundWhereUniqueInput create: Prisma.XOR } export type RefundCreateManyReviewedByInputEnvelope = { data: Prisma.RefundCreateManyReviewedByInput | Prisma.RefundCreateManyReviewedByInput[] skipDuplicates?: boolean } export type RefundUpsertWithWhereUniqueWithoutReviewedByInput = { where: Prisma.RefundWhereUniqueInput update: Prisma.XOR create: Prisma.XOR } export type RefundUpdateWithWhereUniqueWithoutReviewedByInput = { where: Prisma.RefundWhereUniqueInput data: Prisma.XOR } export type RefundUpdateManyWithWhereWithoutReviewedByInput = { where: Prisma.RefundScalarWhereInput data: Prisma.XOR } export type RefundScalarWhereInput = { AND?: Prisma.RefundScalarWhereInput | Prisma.RefundScalarWhereInput[] OR?: Prisma.RefundScalarWhereInput[] NOT?: Prisma.RefundScalarWhereInput | Prisma.RefundScalarWhereInput[] id?: Prisma.StringFilter<"Refund"> | string bookingId?: Prisma.StringFilter<"Refund"> | string paymentId?: Prisma.StringNullableFilter<"Refund"> | string | null amount?: Prisma.IntFilter<"Refund"> | number currency?: Prisma.StringFilter<"Refund"> | string reason?: Prisma.EnumRefundReasonFilter<"Refund"> | $Enums.RefundReason reportedBy?: Prisma.EnumRefundReporterFilter<"Refund"> | $Enums.RefundReporter reportNote?: Prisma.StringFilter<"Refund"> | string initiatedBy?: Prisma.EnumRefundInitiatorFilter<"Refund"> | $Enums.RefundInitiator status?: Prisma.EnumRefundStatusFilter<"Refund"> | $Enums.RefundStatus idempotencyKey?: Prisma.StringFilter<"Refund"> | string adminNote?: Prisma.StringNullableFilter<"Refund"> | string | null reviewedById?: Prisma.StringNullableFilter<"Refund"> | string | null reviewedAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null succeededAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null failedAt?: Prisma.DateTimeNullableFilter<"Refund"> | Date | string | null externalRefundId?: Prisma.StringNullableFilter<"Refund"> | string | null createdAt?: Prisma.DateTimeFilter<"Refund"> | Date | string updatedAt?: Prisma.DateTimeFilter<"Refund"> | Date | string } export type RefundCreateWithoutBookingInput = { id?: string amount: number currency?: string reason: $Enums.RefundReason reportedBy: $Enums.RefundReporter reportNote: string initiatedBy?: $Enums.RefundInitiator status?: $Enums.RefundStatus idempotencyKey: string adminNote?: string | null reviewedAt?: Date | string | null succeededAt?: Date | string | null failedAt?: Date | string | null externalRefundId?: string | null createdAt?: Date | string updatedAt?: Date | string payment?: Prisma.PaymentCreateNestedOneWithoutRefundsInput reviewedBy?: Prisma.UserCreateNestedOneWithoutReviewedRefundsInput } export type RefundUncheckedCreateWithoutBookingInput = { id?: string paymentId?: string | null amount: number currency?: string reason: $Enums.RefundReason reportedBy: $Enums.RefundReporter reportNote: string initiatedBy?: $Enums.RefundInitiator status?: $Enums.RefundStatus idempotencyKey: string adminNote?: string | null reviewedById?: string | null reviewedAt?: Date | string | null succeededAt?: Date | string | null failedAt?: Date | string | null externalRefundId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type RefundCreateOrConnectWithoutBookingInput = { where: Prisma.RefundWhereUniqueInput create: Prisma.XOR } export type RefundCreateManyBookingInputEnvelope = { data: Prisma.RefundCreateManyBookingInput | Prisma.RefundCreateManyBookingInput[] skipDuplicates?: boolean } export type RefundUpsertWithWhereUniqueWithoutBookingInput = { where: Prisma.RefundWhereUniqueInput update: Prisma.XOR create: Prisma.XOR } export type RefundUpdateWithWhereUniqueWithoutBookingInput = { where: Prisma.RefundWhereUniqueInput data: Prisma.XOR } export type RefundUpdateManyWithWhereWithoutBookingInput = { where: Prisma.RefundScalarWhereInput data: Prisma.XOR } export type RefundCreateWithoutPaymentInput = { id?: string amount: number currency?: string reason: $Enums.RefundReason reportedBy: $Enums.RefundReporter reportNote: string initiatedBy?: $Enums.RefundInitiator status?: $Enums.RefundStatus idempotencyKey: string adminNote?: string | null reviewedAt?: Date | string | null succeededAt?: Date | string | null failedAt?: Date | string | null externalRefundId?: string | null createdAt?: Date | string updatedAt?: Date | string booking: Prisma.BookingCreateNestedOneWithoutRefundsInput reviewedBy?: Prisma.UserCreateNestedOneWithoutReviewedRefundsInput } export type RefundUncheckedCreateWithoutPaymentInput = { id?: string bookingId: string amount: number currency?: string reason: $Enums.RefundReason reportedBy: $Enums.RefundReporter reportNote: string initiatedBy?: $Enums.RefundInitiator status?: $Enums.RefundStatus idempotencyKey: string adminNote?: string | null reviewedById?: string | null reviewedAt?: Date | string | null succeededAt?: Date | string | null failedAt?: Date | string | null externalRefundId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type RefundCreateOrConnectWithoutPaymentInput = { where: Prisma.RefundWhereUniqueInput create: Prisma.XOR } export type RefundCreateManyPaymentInputEnvelope = { data: Prisma.RefundCreateManyPaymentInput | Prisma.RefundCreateManyPaymentInput[] skipDuplicates?: boolean } export type RefundUpsertWithWhereUniqueWithoutPaymentInput = { where: Prisma.RefundWhereUniqueInput update: Prisma.XOR create: Prisma.XOR } export type RefundUpdateWithWhereUniqueWithoutPaymentInput = { where: Prisma.RefundWhereUniqueInput data: Prisma.XOR } export type RefundUpdateManyWithWhereWithoutPaymentInput = { where: Prisma.RefundScalarWhereInput data: Prisma.XOR } export type RefundCreateManyReviewedByInput = { id?: string bookingId: string paymentId?: string | null amount: number currency?: string reason: $Enums.RefundReason reportedBy: $Enums.RefundReporter reportNote: string initiatedBy?: $Enums.RefundInitiator status?: $Enums.RefundStatus idempotencyKey: string adminNote?: string | null reviewedAt?: Date | string | null succeededAt?: Date | string | null failedAt?: Date | string | null externalRefundId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type RefundUpdateWithoutReviewedByInput = { id?: Prisma.StringFieldUpdateOperationsInput | string amount?: Prisma.IntFieldUpdateOperationsInput | number currency?: Prisma.StringFieldUpdateOperationsInput | string reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter reportNote?: Prisma.StringFieldUpdateOperationsInput | string initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string booking?: Prisma.BookingUpdateOneRequiredWithoutRefundsNestedInput payment?: Prisma.PaymentUpdateOneWithoutRefundsNestedInput } export type RefundUncheckedUpdateWithoutReviewedByInput = { id?: Prisma.StringFieldUpdateOperationsInput | string bookingId?: Prisma.StringFieldUpdateOperationsInput | string paymentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null amount?: Prisma.IntFieldUpdateOperationsInput | number currency?: Prisma.StringFieldUpdateOperationsInput | string reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter reportNote?: Prisma.StringFieldUpdateOperationsInput | string initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } export type RefundUncheckedUpdateManyWithoutReviewedByInput = { id?: Prisma.StringFieldUpdateOperationsInput | string bookingId?: Prisma.StringFieldUpdateOperationsInput | string paymentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null amount?: Prisma.IntFieldUpdateOperationsInput | number currency?: Prisma.StringFieldUpdateOperationsInput | string reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter reportNote?: Prisma.StringFieldUpdateOperationsInput | string initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } export type RefundCreateManyBookingInput = { id?: string paymentId?: string | null amount: number currency?: string reason: $Enums.RefundReason reportedBy: $Enums.RefundReporter reportNote: string initiatedBy?: $Enums.RefundInitiator status?: $Enums.RefundStatus idempotencyKey: string adminNote?: string | null reviewedById?: string | null reviewedAt?: Date | string | null succeededAt?: Date | string | null failedAt?: Date | string | null externalRefundId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type RefundUpdateWithoutBookingInput = { id?: Prisma.StringFieldUpdateOperationsInput | string amount?: Prisma.IntFieldUpdateOperationsInput | number currency?: Prisma.StringFieldUpdateOperationsInput | string reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter reportNote?: Prisma.StringFieldUpdateOperationsInput | string initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string payment?: Prisma.PaymentUpdateOneWithoutRefundsNestedInput reviewedBy?: Prisma.UserUpdateOneWithoutReviewedRefundsNestedInput } export type RefundUncheckedUpdateWithoutBookingInput = { id?: Prisma.StringFieldUpdateOperationsInput | string paymentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null amount?: Prisma.IntFieldUpdateOperationsInput | number currency?: Prisma.StringFieldUpdateOperationsInput | string reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter reportNote?: Prisma.StringFieldUpdateOperationsInput | string initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } export type RefundUncheckedUpdateManyWithoutBookingInput = { id?: Prisma.StringFieldUpdateOperationsInput | string paymentId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null amount?: Prisma.IntFieldUpdateOperationsInput | number currency?: Prisma.StringFieldUpdateOperationsInput | string reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter reportNote?: Prisma.StringFieldUpdateOperationsInput | string initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } export type RefundCreateManyPaymentInput = { id?: string bookingId: string amount: number currency?: string reason: $Enums.RefundReason reportedBy: $Enums.RefundReporter reportNote: string initiatedBy?: $Enums.RefundInitiator status?: $Enums.RefundStatus idempotencyKey: string adminNote?: string | null reviewedById?: string | null reviewedAt?: Date | string | null succeededAt?: Date | string | null failedAt?: Date | string | null externalRefundId?: string | null createdAt?: Date | string updatedAt?: Date | string } export type RefundUpdateWithoutPaymentInput = { id?: Prisma.StringFieldUpdateOperationsInput | string amount?: Prisma.IntFieldUpdateOperationsInput | number currency?: Prisma.StringFieldUpdateOperationsInput | string reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter reportNote?: Prisma.StringFieldUpdateOperationsInput | string initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string booking?: Prisma.BookingUpdateOneRequiredWithoutRefundsNestedInput reviewedBy?: Prisma.UserUpdateOneWithoutReviewedRefundsNestedInput } export type RefundUncheckedUpdateWithoutPaymentInput = { id?: Prisma.StringFieldUpdateOperationsInput | string bookingId?: Prisma.StringFieldUpdateOperationsInput | string amount?: Prisma.IntFieldUpdateOperationsInput | number currency?: Prisma.StringFieldUpdateOperationsInput | string reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter reportNote?: Prisma.StringFieldUpdateOperationsInput | string initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } export type RefundUncheckedUpdateManyWithoutPaymentInput = { id?: Prisma.StringFieldUpdateOperationsInput | string bookingId?: Prisma.StringFieldUpdateOperationsInput | string amount?: Prisma.IntFieldUpdateOperationsInput | number currency?: Prisma.StringFieldUpdateOperationsInput | string reason?: Prisma.EnumRefundReasonFieldUpdateOperationsInput | $Enums.RefundReason reportedBy?: Prisma.EnumRefundReporterFieldUpdateOperationsInput | $Enums.RefundReporter reportNote?: Prisma.StringFieldUpdateOperationsInput | string initiatedBy?: Prisma.EnumRefundInitiatorFieldUpdateOperationsInput | $Enums.RefundInitiator status?: Prisma.EnumRefundStatusFieldUpdateOperationsInput | $Enums.RefundStatus idempotencyKey?: Prisma.StringFieldUpdateOperationsInput | string adminNote?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedById?: Prisma.NullableStringFieldUpdateOperationsInput | string | null reviewedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null succeededAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null failedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null externalRefundId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } export type RefundSelect = runtime.Types.Extensions.GetSelect<{ id?: boolean bookingId?: boolean paymentId?: boolean amount?: boolean currency?: boolean reason?: boolean reportedBy?: boolean reportNote?: boolean initiatedBy?: boolean status?: boolean idempotencyKey?: boolean adminNote?: boolean reviewedById?: boolean reviewedAt?: boolean succeededAt?: boolean failedAt?: boolean externalRefundId?: boolean createdAt?: boolean updatedAt?: boolean booking?: boolean | Prisma.BookingDefaultArgs payment?: boolean | Prisma.Refund$paymentArgs reviewedBy?: boolean | Prisma.Refund$reviewedByArgs }, ExtArgs["result"]["refund"]> export type RefundSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ id?: boolean bookingId?: boolean paymentId?: boolean amount?: boolean currency?: boolean reason?: boolean reportedBy?: boolean reportNote?: boolean initiatedBy?: boolean status?: boolean idempotencyKey?: boolean adminNote?: boolean reviewedById?: boolean reviewedAt?: boolean succeededAt?: boolean failedAt?: boolean externalRefundId?: boolean createdAt?: boolean updatedAt?: boolean booking?: boolean | Prisma.BookingDefaultArgs payment?: boolean | Prisma.Refund$paymentArgs reviewedBy?: boolean | Prisma.Refund$reviewedByArgs }, ExtArgs["result"]["refund"]> export type RefundSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ id?: boolean bookingId?: boolean paymentId?: boolean amount?: boolean currency?: boolean reason?: boolean reportedBy?: boolean reportNote?: boolean initiatedBy?: boolean status?: boolean idempotencyKey?: boolean adminNote?: boolean reviewedById?: boolean reviewedAt?: boolean succeededAt?: boolean failedAt?: boolean externalRefundId?: boolean createdAt?: boolean updatedAt?: boolean booking?: boolean | Prisma.BookingDefaultArgs payment?: boolean | Prisma.Refund$paymentArgs reviewedBy?: boolean | Prisma.Refund$reviewedByArgs }, ExtArgs["result"]["refund"]> export type RefundSelectScalar = { id?: boolean bookingId?: boolean paymentId?: boolean amount?: boolean currency?: boolean reason?: boolean reportedBy?: boolean reportNote?: boolean initiatedBy?: boolean status?: boolean idempotencyKey?: boolean adminNote?: boolean reviewedById?: boolean reviewedAt?: boolean succeededAt?: boolean failedAt?: boolean externalRefundId?: boolean createdAt?: boolean updatedAt?: boolean } export type RefundOmit = runtime.Types.Extensions.GetOmit<"id" | "bookingId" | "paymentId" | "amount" | "currency" | "reason" | "reportedBy" | "reportNote" | "initiatedBy" | "status" | "idempotencyKey" | "adminNote" | "reviewedById" | "reviewedAt" | "succeededAt" | "failedAt" | "externalRefundId" | "createdAt" | "updatedAt", ExtArgs["result"]["refund"]> export type RefundInclude = { booking?: boolean | Prisma.BookingDefaultArgs payment?: boolean | Prisma.Refund$paymentArgs reviewedBy?: boolean | Prisma.Refund$reviewedByArgs } export type RefundIncludeCreateManyAndReturn = { booking?: boolean | Prisma.BookingDefaultArgs payment?: boolean | Prisma.Refund$paymentArgs reviewedBy?: boolean | Prisma.Refund$reviewedByArgs } export type RefundIncludeUpdateManyAndReturn = { booking?: boolean | Prisma.BookingDefaultArgs payment?: boolean | Prisma.Refund$paymentArgs reviewedBy?: boolean | Prisma.Refund$reviewedByArgs } export type $RefundPayload = { name: "Refund" objects: { booking: Prisma.$BookingPayload payment: Prisma.$PaymentPayload | null reviewedBy: Prisma.$UserPayload | null } scalars: runtime.Types.Extensions.GetPayloadResult<{ id: string bookingId: string /** * Payment yang di-refund. Opsional di MVP (manual transfer bisa tidak * terikat ke Payment row tertentu); wajib saat integrasi Midtrans (R-4). */ paymentId: string | null /** * Nominal refund dalam satuan terkecil (IDR rupiah, integer). Boleh < total * payment untuk partial. Service layer enforce SUM(SUCCEEDED) <= payment.amount. */ amount: number currency: string reason: $Enums.RefundReason /** * Siapa yang melaporkan kebutuhan refund ini ke admin. */ reportedBy: $Enums.RefundReporter /** * Isi laporan dari peserta/organizer yang admin terima (mis. WA, email). */ reportNote: string /** * Pihak yang membuat record di sistem. Di MVP selalu ADMIN; saat self-service * nanti USER/ORGANIZER, dan SYSTEM untuk auto-trigger dari trip dibatalkan. */ initiatedBy: $Enums.RefundInitiator status: $Enums.RefundStatus /** * Idempotency key, dipakai saat panggil Midtrans Refund API di R-4. Generate * sekali saat create supaya retry gateway tidak double-refund. */ idempotencyKey: string /** * Catatan admin: alasan tolak, referensi transfer manual, dst. Bebas teks. */ adminNote: string | null /** * Admin yang terakhir mengubah status (approve/reject/mark-succeeded/failed). */ reviewedById: string | null reviewedAt: Date | null succeededAt: Date | null failedAt: Date | null /** * ID refund di gateway (mis. Midtrans refund_id). Kosong untuk manual transfer. */ externalRefundId: string | null createdAt: Date updatedAt: Date }, ExtArgs["result"]["refund"]> composites: {} } export type RefundGetPayload = runtime.Types.Result.GetResult export type RefundCountArgs = Omit & { select?: RefundCountAggregateInputType | true } export interface RefundDelegate { [K: symbol]: { types: Prisma.TypeMap['model']['Refund'], meta: { name: 'Refund' } } /** * Find zero or one Refund that matches the filter. * @param {RefundFindUniqueArgs} args - Arguments to find a Refund * @example * // Get one Refund * const refund = await prisma.refund.findUnique({ * where: { * // ... provide filter here * } * }) */ findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__RefundClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one Refund that matches the filter or throw an error with `error.code='P2025'` * if no matches were found. * @param {RefundFindUniqueOrThrowArgs} args - Arguments to find a Refund * @example * // Get one Refund * const refund = await prisma.refund.findUniqueOrThrow({ * where: { * // ... provide filter here * } * }) */ findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__RefundClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first Refund that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {RefundFindFirstArgs} args - Arguments to find a Refund * @example * // Get one Refund * const refund = await prisma.refund.findFirst({ * where: { * // ... provide filter here * } * }) */ findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__RefundClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first Refund that matches the filter or * throw `PrismaKnownClientError` with `P2025` code if no matches were found. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {RefundFindFirstOrThrowArgs} args - Arguments to find a Refund * @example * // Get one Refund * const refund = await prisma.refund.findFirstOrThrow({ * where: { * // ... provide filter here * } * }) */ findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__RefundClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Refunds that matches the filter. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {RefundFindManyArgs} args - Arguments to filter and select certain fields only. * @example * // Get all Refunds * const refunds = await prisma.refund.findMany() * * // Get first 10 Refunds * const refunds = await prisma.refund.findMany({ take: 10 }) * * // Only select the `id` * const refundWithIdOnly = await prisma.refund.findMany({ select: { id: true } }) * */ findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> /** * Create a Refund. * @param {RefundCreateArgs} args - Arguments to create a Refund. * @example * // Create one Refund * const Refund = await prisma.refund.create({ * data: { * // ... data to create a Refund * } * }) * */ create(args: Prisma.SelectSubset>): Prisma.Prisma__RefundClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Refunds. * @param {RefundCreateManyArgs} args - Arguments to create many Refunds. * @example * // Create many Refunds * const refund = await prisma.refund.createMany({ * data: [ * // ... provide data here * ] * }) * */ createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Create many Refunds and returns the data saved in the database. * @param {RefundCreateManyAndReturnArgs} args - Arguments to create many Refunds. * @example * // Create many Refunds * const refund = await prisma.refund.createManyAndReturn({ * data: [ * // ... provide data here * ] * }) * * // Create many Refunds and only return the `id` * const refundWithIdOnly = await prisma.refund.createManyAndReturn({ * select: { id: true }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> /** * Delete a Refund. * @param {RefundDeleteArgs} args - Arguments to delete one Refund. * @example * // Delete one Refund * const Refund = await prisma.refund.delete({ * where: { * // ... filter to delete one Refund * } * }) * */ delete(args: Prisma.SelectSubset>): Prisma.Prisma__RefundClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one Refund. * @param {RefundUpdateArgs} args - Arguments to update one Refund. * @example * // Update one Refund * const refund = await prisma.refund.update({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ update(args: Prisma.SelectSubset>): Prisma.Prisma__RefundClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Refunds. * @param {RefundDeleteManyArgs} args - Arguments to filter Refunds to delete. * @example * // Delete a few Refunds * const { count } = await prisma.refund.deleteMany({ * where: { * // ... provide filter here * } * }) * */ deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Refunds. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {RefundUpdateManyArgs} args - Arguments to update one or more rows. * @example * // Update many Refunds * const refund = await prisma.refund.updateMany({ * where: { * // ... provide filter here * }, * data: { * // ... provide data here * } * }) * */ updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Refunds and returns the data updated in the database. * @param {RefundUpdateManyAndReturnArgs} args - Arguments to update many Refunds. * @example * // Update many Refunds * const refund = await prisma.refund.updateManyAndReturn({ * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * * // Update zero or more Refunds and only return the `id` * const refundWithIdOnly = await prisma.refund.updateManyAndReturn({ * select: { id: true }, * where: { * // ... provide filter here * }, * data: [ * // ... provide data here * ] * }) * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * */ updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one Refund. * @param {RefundUpsertArgs} args - Arguments to update or create a Refund. * @example * // Update or create a Refund * const refund = await prisma.refund.upsert({ * create: { * // ... data to create a Refund * }, * update: { * // ... in case it already exists, update * }, * where: { * // ... the filter for the Refund we want to update * } * }) */ upsert(args: Prisma.SelectSubset>): Prisma.Prisma__RefundClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Count the number of Refunds. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {RefundCountArgs} args - Arguments to filter Refunds to count. * @example * // Count the number of Refunds * const count = await prisma.refund.count({ * where: { * // ... the filter for the Refunds we want to count * } * }) **/ count( args?: Prisma.Subset, ): Prisma.PrismaPromise< T extends runtime.Types.Utils.Record<'select', any> ? T['select'] extends true ? number : Prisma.GetScalarType : number > /** * Allows you to perform aggregations operations on a Refund. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {RefundAggregateArgs} args - Select which aggregations you would like to apply and on what fields. * @example * // Ordered by age ascending * // Where email contains prisma.io * // Limited to the 10 users * const aggregations = await prisma.user.aggregate({ * _avg: { * age: true, * }, * where: { * email: { * contains: "prisma.io", * }, * }, * orderBy: { * age: "asc", * }, * take: 10, * }) **/ aggregate(args: Prisma.Subset): Prisma.PrismaPromise> /** * Group by Refund. * Note, that providing `undefined` is treated as the value not being there. * Read more here: https://pris.ly/d/null-undefined * @param {RefundGroupByArgs} args - Group by arguments. * @example * // Group by city, order by createdAt, get count * const result = await prisma.user.groupBy({ * by: ['city', 'createdAt'], * orderBy: { * createdAt: true * }, * _count: { * _all: true * }, * }) * **/ groupBy< T extends RefundGroupByArgs, HasSelectOrTake extends Prisma.Or< Prisma.Extends<'skip', Prisma.Keys>, Prisma.Extends<'take', Prisma.Keys> >, OrderByArg extends Prisma.True extends HasSelectOrTake ? { orderBy: RefundGroupByArgs['orderBy'] } : { orderBy?: RefundGroupByArgs['orderBy'] }, OrderFields extends Prisma.ExcludeUnderscoreKeys>>, ByFields extends Prisma.MaybeTupleToUnion, ByValid extends Prisma.Has, HavingFields extends Prisma.GetHavingFields, HavingValid extends Prisma.Has, ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, InputErrors extends ByEmpty extends Prisma.True ? `Error: "by" must not be empty.` : HavingValid extends Prisma.False ? { [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [ Error, 'Field ', P, ` in "having" needs to be provided in "by"`, ] }[HavingFields] : 'take' extends Prisma.Keys ? 'orderBy' extends Prisma.Keys ? ByValid extends Prisma.True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Prisma.Keys ? 'orderBy' extends Prisma.Keys ? ByValid extends Prisma.True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends Prisma.True ? {} : { [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` }[OrderFields] >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetRefundGroupByPayload : Prisma.PrismaPromise /** * Fields of the Refund model */ readonly fields: RefundFieldRefs; } /** * The delegate class that acts as a "Promise-like" for Refund. * Why is this prefixed with `Prisma__`? * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ export interface Prisma__RefundClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" booking = {}>(args?: Prisma.Subset>): Prisma.Prisma__BookingClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> payment = {}>(args?: Prisma.Subset>): Prisma.Prisma__PaymentClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> reviewedBy = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of which ever callback is executed. */ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise /** * Attaches a callback for only the rejection of the Promise. * @param onrejected The callback to execute when the Promise is rejected. * @returns A Promise for the completion of the callback. */ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise /** * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The * resolved value cannot be modified from the callback. * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). * @returns A Promise for the completion of the callback. */ finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise } /** * Fields of the Refund model */ export interface RefundFieldRefs { readonly id: Prisma.FieldRef<"Refund", 'String'> readonly bookingId: Prisma.FieldRef<"Refund", 'String'> readonly paymentId: Prisma.FieldRef<"Refund", 'String'> readonly amount: Prisma.FieldRef<"Refund", 'Int'> readonly currency: Prisma.FieldRef<"Refund", 'String'> readonly reason: Prisma.FieldRef<"Refund", 'RefundReason'> readonly reportedBy: Prisma.FieldRef<"Refund", 'RefundReporter'> readonly reportNote: Prisma.FieldRef<"Refund", 'String'> readonly initiatedBy: Prisma.FieldRef<"Refund", 'RefundInitiator'> readonly status: Prisma.FieldRef<"Refund", 'RefundStatus'> readonly idempotencyKey: Prisma.FieldRef<"Refund", 'String'> readonly adminNote: Prisma.FieldRef<"Refund", 'String'> readonly reviewedById: Prisma.FieldRef<"Refund", 'String'> readonly reviewedAt: Prisma.FieldRef<"Refund", 'DateTime'> readonly succeededAt: Prisma.FieldRef<"Refund", 'DateTime'> readonly failedAt: Prisma.FieldRef<"Refund", 'DateTime'> readonly externalRefundId: Prisma.FieldRef<"Refund", 'String'> readonly createdAt: Prisma.FieldRef<"Refund", 'DateTime'> readonly updatedAt: Prisma.FieldRef<"Refund", 'DateTime'> } // Custom InputTypes /** * Refund findUnique */ export type RefundFindUniqueArgs = { /** * Select specific fields to fetch from the Refund */ select?: Prisma.RefundSelect | null /** * Omit specific fields from the Refund */ omit?: Prisma.RefundOmit | null /** * Choose, which related nodes to fetch as well */ include?: Prisma.RefundInclude | null /** * Filter, which Refund to fetch. */ where: Prisma.RefundWhereUniqueInput } /** * Refund findUniqueOrThrow */ export type RefundFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Refund */ select?: Prisma.RefundSelect | null /** * Omit specific fields from the Refund */ omit?: Prisma.RefundOmit | null /** * Choose, which related nodes to fetch as well */ include?: Prisma.RefundInclude | null /** * Filter, which Refund to fetch. */ where: Prisma.RefundWhereUniqueInput } /** * Refund findFirst */ export type RefundFindFirstArgs = { /** * Select specific fields to fetch from the Refund */ select?: Prisma.RefundSelect | null /** * Omit specific fields from the Refund */ omit?: Prisma.RefundOmit | null /** * Choose, which related nodes to fetch as well */ include?: Prisma.RefundInclude | null /** * Filter, which Refund to fetch. */ where?: Prisma.RefundWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Refunds to fetch. */ orderBy?: Prisma.RefundOrderByWithRelationInput | Prisma.RefundOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Refunds. */ cursor?: Prisma.RefundWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Refunds from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Refunds. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Refunds. */ distinct?: Prisma.RefundScalarFieldEnum | Prisma.RefundScalarFieldEnum[] } /** * Refund findFirstOrThrow */ export type RefundFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Refund */ select?: Prisma.RefundSelect | null /** * Omit specific fields from the Refund */ omit?: Prisma.RefundOmit | null /** * Choose, which related nodes to fetch as well */ include?: Prisma.RefundInclude | null /** * Filter, which Refund to fetch. */ where?: Prisma.RefundWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Refunds to fetch. */ orderBy?: Prisma.RefundOrderByWithRelationInput | Prisma.RefundOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for searching for Refunds. */ cursor?: Prisma.RefundWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Refunds from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Refunds. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Refunds. */ distinct?: Prisma.RefundScalarFieldEnum | Prisma.RefundScalarFieldEnum[] } /** * Refund findMany */ export type RefundFindManyArgs = { /** * Select specific fields to fetch from the Refund */ select?: Prisma.RefundSelect | null /** * Omit specific fields from the Refund */ omit?: Prisma.RefundOmit | null /** * Choose, which related nodes to fetch as well */ include?: Prisma.RefundInclude | null /** * Filter, which Refunds to fetch. */ where?: Prisma.RefundWhereInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} * * Determine the order of Refunds to fetch. */ orderBy?: Prisma.RefundOrderByWithRelationInput | Prisma.RefundOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * * Sets the position for listing Refunds. */ cursor?: Prisma.RefundWhereUniqueInput /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Take `±n` Refunds from the position of the cursor. */ take?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} * * Skip the first `n` Refunds. */ skip?: number /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} * * Filter by unique combinations of Refunds. */ distinct?: Prisma.RefundScalarFieldEnum | Prisma.RefundScalarFieldEnum[] } /** * Refund create */ export type RefundCreateArgs = { /** * Select specific fields to fetch from the Refund */ select?: Prisma.RefundSelect | null /** * Omit specific fields from the Refund */ omit?: Prisma.RefundOmit | null /** * Choose, which related nodes to fetch as well */ include?: Prisma.RefundInclude | null /** * The data needed to create a Refund. */ data: Prisma.XOR } /** * Refund createMany */ export type RefundCreateManyArgs = { /** * The data used to create many Refunds. */ data: Prisma.RefundCreateManyInput | Prisma.RefundCreateManyInput[] skipDuplicates?: boolean } /** * Refund createManyAndReturn */ export type RefundCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Refund */ select?: Prisma.RefundSelectCreateManyAndReturn | null /** * Omit specific fields from the Refund */ omit?: Prisma.RefundOmit | null /** * The data used to create many Refunds. */ data: Prisma.RefundCreateManyInput | Prisma.RefundCreateManyInput[] skipDuplicates?: boolean /** * Choose, which related nodes to fetch as well */ include?: Prisma.RefundIncludeCreateManyAndReturn | null } /** * Refund update */ export type RefundUpdateArgs = { /** * Select specific fields to fetch from the Refund */ select?: Prisma.RefundSelect | null /** * Omit specific fields from the Refund */ omit?: Prisma.RefundOmit | null /** * Choose, which related nodes to fetch as well */ include?: Prisma.RefundInclude | null /** * The data needed to update a Refund. */ data: Prisma.XOR /** * Choose, which Refund to update. */ where: Prisma.RefundWhereUniqueInput } /** * Refund updateMany */ export type RefundUpdateManyArgs = { /** * The data used to update Refunds. */ data: Prisma.XOR /** * Filter which Refunds to update */ where?: Prisma.RefundWhereInput /** * Limit how many Refunds to update. */ limit?: number } /** * Refund updateManyAndReturn */ export type RefundUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the Refund */ select?: Prisma.RefundSelectUpdateManyAndReturn | null /** * Omit specific fields from the Refund */ omit?: Prisma.RefundOmit | null /** * The data used to update Refunds. */ data: Prisma.XOR /** * Filter which Refunds to update */ where?: Prisma.RefundWhereInput /** * Limit how many Refunds to update. */ limit?: number /** * Choose, which related nodes to fetch as well */ include?: Prisma.RefundIncludeUpdateManyAndReturn | null } /** * Refund upsert */ export type RefundUpsertArgs = { /** * Select specific fields to fetch from the Refund */ select?: Prisma.RefundSelect | null /** * Omit specific fields from the Refund */ omit?: Prisma.RefundOmit | null /** * Choose, which related nodes to fetch as well */ include?: Prisma.RefundInclude | null /** * The filter to search for the Refund to update in case it exists. */ where: Prisma.RefundWhereUniqueInput /** * In case the Refund found by the `where` argument doesn't exist, create a new Refund with this data. */ create: Prisma.XOR /** * In case the Refund was found with the provided `where` argument, update it with this data. */ update: Prisma.XOR } /** * Refund delete */ export type RefundDeleteArgs = { /** * Select specific fields to fetch from the Refund */ select?: Prisma.RefundSelect | null /** * Omit specific fields from the Refund */ omit?: Prisma.RefundOmit | null /** * Choose, which related nodes to fetch as well */ include?: Prisma.RefundInclude | null /** * Filter which Refund to delete. */ where: Prisma.RefundWhereUniqueInput } /** * Refund deleteMany */ export type RefundDeleteManyArgs = { /** * Filter which Refunds to delete */ where?: Prisma.RefundWhereInput /** * Limit how many Refunds to delete. */ limit?: number } /** * Refund.payment */ export type Refund$paymentArgs = { /** * Select specific fields to fetch from the Payment */ select?: Prisma.PaymentSelect | null /** * Omit specific fields from the Payment */ omit?: Prisma.PaymentOmit | null /** * Choose, which related nodes to fetch as well */ include?: Prisma.PaymentInclude | null where?: Prisma.PaymentWhereInput } /** * Refund.reviewedBy */ export type Refund$reviewedByArgs = { /** * Select specific fields to fetch from the User */ select?: Prisma.UserSelect | null /** * Omit specific fields from the User */ omit?: Prisma.UserOmit | null /** * Choose, which related nodes to fetch as well */ include?: Prisma.UserInclude | null where?: Prisma.UserWhereInput } /** * Refund without action */ export type RefundDefaultArgs = { /** * Select specific fields to fetch from the Refund */ select?: Prisma.RefundSelect | null /** * Omit specific fields from the Refund */ omit?: Prisma.RefundOmit | null /** * Choose, which related nodes to fetch as well */ include?: Prisma.RefundInclude | null }