رزرواسیون

رزرواسیون

رزرواسیون

در این سند، انواع مدل‌های متداول رزرو در سیستم‌های آنلاین معرفی شده‌اند. هر مدل بر اساس نوع کسب‌وکار و منطق تخصیص منابع، ساختار داده و قوانین متفاوتی دارد.

۲۸ بهمن ۱۴۰۴14 دقیقه
پست وبلاگ

انواع مدل‌های رزرواسیون

در این سند، انواع مدل‌های متداول رزرو در سیستم‌های آنلاین معرفی شده‌اند. هر مدل بر اساس نوع کسب‌وکار و منطق تخصیص منابع، ساختار داده و قوانین متفاوتی دارد.

۱. مبتنی بر بازه زمانی کوتاه - Time-Slot Based

رزرو بر اساس ساعت یا دقیقه مشخص انجام می‌شود و جلوگیری از تداخل زمانی (overlap) اهمیت بالایی دارد.

کاربردها:

  • کلینیک

  • سالن زیبایی

  • مشاوره آنلاین

  • مربی خصوصی

  • استودیو ضبط

  • زمین ورزشی

ویژگی‌ها:

  • start_datetime

  • end_datetime

  • معمولاً ظرفیت = ۱

  • بررسی تداخل زمانی (Overlap Check)

  • مناسب برای منابعی که در یک زمان فقط به یک نفر اختصاص داده می‌شوند.

ساختار داده‌ها:

یک جدول برای پیکربندی خدمات یک پروژه

services
تعریف خدمات قابل رزرو

ستون

نوع

توضیح

id

uuid / bigint

شناسه یکتا

appsId

uuid / bigint

پروژه

businessId

uuid / bigint

کسب‌وکار

name

json / varchar

نام خدمت - چند زبانه

description

json / text

توضیح خدمت - چند زبانه

duration

int

مدت زمان بر حسب دقیقه

slotInterval

int

فاصله تولید اسلات‌ها، مثلاً 15 دقیقه

capacity

int

ظرفیت هم‌زمان

paddingBefore

int

بافر قبل از رزرو به دقیقه

paddingAfter

int

بافر بعد از رزرو به دقیقه

minAdvanceBookingMinutes

int

حداقل فاصله تا رزرو

maxAdvanceBookingDays

int

حداکثر زمان رزرو در آینده

requiresApproval

boolean

نیاز به تایید

allowCancellation

boolean

امکان کنسلی

allowReschedule

boolean

امکان جابجایی

cancellationDeadlineMinutes

int

مهلت کنسلی

isActive

varchar

true / flase

visibility

varchar

public / private

userId

uuid / bigint

ایجادکننده

meta

jsonb

تنظیمات اضافی

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی

serviceStaff

چون هر خدمت ممکن است توسط چند پرسنل ارائه شود

ستون

نوع

توضیح

id

uuid / bigint

شناسه

serviceId

uuid / bigint

خدمت

staffId

uuid / bigint

پرسنل p-id

isActive

varchar

false / true

userId

uuid / bigint

ایجادکننده

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی

timeSlots

تعریف بازه‌های کاری/دردسترس بودن

ستون

نوع

توضیح

id

uuid / bigint

شناسه

serviceId

uuid / bigint nullable

اگر فقط برای یک خدمت باشد

staffId

uuid / bigint nullable

اگر فقط برای یک پرسنل باشد

dayOfWeek

smallint nullable

0 تا 6، اگر تکرارشونده هفتگی باشد

slotDate

date nullable

اگر فقط برای یک تاریخ خاص باشد

startTime

time

زمان شروع

endTime

time

زمان پایان

isRecurring

boolean

آیا تکرارشونده است

recurrenceEndDate

date nullable

پایان تکرار

isActive

varchar

false / true

userId

uuid / bigint

ایجادکننده

meta

jsonb

توضیحات اضافی

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی

timeSlotExceptions

برای تعطیلی، مرخصی، یا استثناها

ستون

نوع

توضیح

id

uuid / bigint

شناسه

serviceId

uuid / bigint nullable

خدمت

staffId

uuid / bigint nullable

پرسنل

exceptionDate

date

تاریخ خاص

startTime

time nullable

اگر بخشی از روز بسته باشد

endTime

time nullable

پایان

type

varchar

unavailable / extra_available

reason

varchar

دلیل

status

varchar

active / inactive

userId

uuid / bigint

ایجادکننده

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی

servicePrices

قیمت خدمات

ستون

نوع

توضیح

id

uuid / bigint

شناسه

serviceId

uuid / bigint

خدمت

currency

varchar(10)

ارز

amount

decimal(18,2)

مبلغ

pricingType

varchar

fixed / per_person / per_hour

validFrom

datetime nullable

شروع اعتبار

validTo

datetime nullable

پایان اعتبار

isActive

varchar

false / true

userId

uuid / bigint

ایجادکننده

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی

bookings

رزرو اصلی

ستون

نوع

توضیح

id

uuid / bigint

شناسه رزرو

appsId

uuid / bigint

پروژه

type

Time-Slot

businessId

uuid / bigint

کسب‌وکار

serviceId

uuid / bigint

خدمت

staffId

uuid / bigint nullable

پرسنل

userId

uuid / bigint

کاربر رزروکننده

startDate

datetime

شروع رزرو

endDate

datetime

پایان رزرو

status

varchar

pending / confirmed / cancelled / completed / no_show / rejected

paymentStatus

varchar

unpaid / paid / partial / refunded

totalPrice

decimal(18,2)

مبلغ کل

discountAmount

decimal(18,2)

تخفیف

taxAmount

decimal(18,2)

مالیات

finalPrice

decimal(18,2)

مبلغ نهایی

currency

varchar(10)

ارز

notes

text

توضیحات

cancelReason

varchar

دلیل لغو

cancelledBy

uuid / bigint nullable

چه کسی لغو کرده

meta

jsonb

اطلاعات تکمیلی

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی


۲. مبتنی بر بازه تاریخی - Date-Range-Based

رزرو بر اساس چند روز متوالی انجام می‌شود.

کاربردها:

  • هتل

  • ویلا

  • اجاره خودرو

  • اجاره تجهیزات

  • کمپینگ

ویژگی‌ها:

  • check_in

  • check_out

  • قیمت‌گذاری به صورت per_night یا per_day

  • بررسی همپوشانی تاریخ‌ها (Date Overlap)

  • تمرکز بر بازه‌های روزانه، نه ساعتی

ساختار داده‌ها:

resources

منبع قابل رزرو

ستون

نوع

توضیح

id

uuid / bigint

شناسه

businessId

uuid / bigint

کسب‌وکار

appsId

uuid / bigint

پروژه

type

varchar

room / villa / car / equipment / tent

name

json / varchar

نام منبع

description

json / text

توضیح

code

varchar

کد داخلی

capacity

int

ظرفیت

status

varchar

active / inactive / maintenance

userId

uuid / bigint

ایجادکننده

meta

jsonb

داده اضافی

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی

bookings

رزرو بازه‌ای

ستون

نوع

توضیح

id

uuid / bigint

شناسه

appsId

uuid / bigint

پروژه

businessId

uuid / bigint

کسب‌وکار

resourceId

uuid / bigint

منبع

userId

uuid / bigint

مشتری

checkInDate

date

تاریخ ورود

checkOutDate

date

تاریخ خروج

nights

int

تعداد شب

days

int

تعداد روز

guestsCount

int

تعداد مهمان

adultsCount

int

بزرگسال

childrenCount

int

کودک

status

varchar

pending / confirmed / checked_in / checked_out / cancelled

paymentStatus

varchar

unpaid / paid / partial / refunded

pricingMode

varchar

per_night / per_day / fixed

subtotal

decimal(18,2)

مبلغ پایه

discountAmount

decimal(18,2)

تخفیف

taxAmount

decimal(18,2)

مالیات

finalPrice

decimal(18,2)

مبلغ نهایی

currency

varchar(10)

ارز

notes

text

توضیحات

version

int

کنترل همزمانی

meta

jsonb

اطلاعات اضافی

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی

resource_availability_calendar

تقویم موجودی روزانه

ستون

نوع

توضیح

id

uuid / bigint

شناسه

businessId

uuid / bigint

کسب‌وکار

resourceId

uuid / bigint

منبع

resourceUnitId

uuid / bigint nullable

یونیت

date

date

تاریخ

totalInventory

int

موجودی کل

reservedInventory

int

رزرو شده

availableInventory

int

موجودی قابل رزرو

price

decimal(18,2) nullable

قیمت همان روز

currency

varchar(10) nullable

ارز

minStay

int nullable

حداقل اقامت

maxStay

int nullable

حداکثر اقامت

checkInAllowed

boolean

آیا ورود مجاز است

checkOutAllowed

boolean

آیا خروج مجاز است

status

varchar

open / closed

meta

jsonb

اطلاعات اضافی

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی

resource_prices

قیمت‌گذاری بازه‌ای

ستون

نوع

توضیح

id

uuid / bigint

شناسه

resourceId

uuid / bigint

منبع

resourceUnitId

uuid / bigint nullable

یونیت

pricingMode

varchar

per_night / per_day / fixed

amount

decimal(18,2)

مبلغ

currency

varchar(10)

ارز

validFrom

date

شروع اعتبار

validTo

date

پایان اعتبار

dayOfWeek

smallint nullable

قیمت ویژه روز خاص

seasonName

varchar nullable

نام فصل

status

varchar

active / inactive

createdAt

datetime

تاریخ ایجاد

۳. ظرفیت‌محور - Capacity-Based

تمرکز بر تعداد افراد ثبت‌نام‌کننده است، نه تخصیص یک منبع خاص.

کاربردها:

  • کلاس آموزشی

  • تور گردشگری

  • کارگاه

  • بوت‌کمپ

  • بلیت کنسرت

ویژگی‌ها:

  • total_capacity

  • reserved_count

  • جلوگیری از ثبت‌نام بیش از ظرفیت

  • عدم نیاز به مدیریت پیچیده تداخل زمانی (در صورت تک‌سانس بودن)

ساختار داده‌ها:

events

تعریف رویداد/کلاس

ستون

نوع

توضیح

id

uuid / bigint

شناسه

appsId

uuid / bigint

پروژه

businessId

uuid / bigint

کسب‌وکار

name

json / varchar

عنوان

description

json / text

توضیح

type

varchar

class / workshop / tour / event

startDatetime

datetime

شروع

endDatetime

datetime

پایان

registrationStart

datetime nullable

شروع ثبت‌نام

registrationEnd

datetime nullable

پایان ثبت‌نام

capacity

int

ظرفیت کل

minCapacity

int nullable

حداقل ظرفیت

waitlistEnabled

boolean

لیست انتظار

requiresApproval

boolean

نیاز به تایید

status

varchar

draft / published / full / cancelled / completed

locationType

varchar

offline / online / hybrid

location

jsonb

آدرس

organizerId

uuid / bigint nullable

برگزارکننده

meta

jsonb

اطلاعات اضافی

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی

event_registrations

ثبت‌نام کاربران

ستون

نوع

توضیح

id

uuid / bigint

شناسه

eventId

uuid / bigint

رویداد

userId

uuid / bigint nullable

کاربر

customerName

varchar

نام

customerPhone

varchar

موبایل

customerEmail

varchar

ایمیل

quantity

int

تعداد ثبت‌نام

status

varchar

pending / confirmed / waitlisted / cancelled / attended / no_show

approvalStatus

varchar

pending / approved / rejected

paymentStatus

varchar

unpaid / paid / partial / refunded

unitPrice

decimal(18,2)

قیمت واحد

subtotal

decimal(18,2)

جمع

discountAmount

decimal(18,2)

تخفیف

taxAmount

decimal(18,2)

مالیات

finalPrice

decimal(18,2)

نهایی

currency

varchar(10)

ارز

notes

text

توضیحات

meta

jsonb

داده اضافی

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی

event_waitlist

لیست انتظار

ستون

نوع

توضیح

id

uuid / bigint

شناسه

eventId

uuid / bigint

رویداد

userId

uuid / bigint nullable

کاربر

customerName

varchar

نام

customerPhone

varchar

موبایل

customerEmail

varchar

ایمیل

quantity

int

تعداد

priority

int

اولویت

status

varchar

waiting / converted / expired / cancelled

createdAt

datetime

تاریخ ایجاد

event_prices

قیمت رویداد

ستون

نوع

توضیح

id

uuid / bigint

شناسه

eventId

uuid / bigint

رویداد

ticketType

varchar

normal / vip / early_bird / student

amount

decimal(18,2)

مبلغ

currency

varchar(10)

ارز

capacity

int nullable

ظرفیت این نوع بلیت

validFrom

datetime nullable

شروع اعتبار

validTo

datetime nullable

پایان اعتبار

status

varchar

active / inactive

createdAt

datetime

تاریخ ایجاد

۴. موجودی‌محور - Quantity-Based

رزرو بر اساس تعداد آیتم‌های قابل اجاره یا فروش انجام می‌شود.

کاربردها:

  • اجاره دوربین

  • اجاره دوچرخه

  • تجهیزات نور

  • فروش بلیت با SKU

ویژگی‌ها:

  • total_quantity

  • کاهش موجودی در یک بازه زمانی مشخص

  • امکان رزرو چند واحد در یک سفارش

  • نیاز به مدیریت موجودی در سطح زمان

ساختار داده‌ها:

inventory_items

آیتم قابل رزرو یا اجاره

ستون

نوع

توضیح

id

uuid / bigint

شناسه

businessId

uuid / bigint

کسب‌وکار

appsId

uuid / bigint

پروژه

sku

varchar

کد کالا

name

json / varchar

نام

description

text / json

توضیح

itemType

varchar

rental / sellable / ticketable

totalQuantity

int

موجودی کل

minOrderQuantity

int

حداقل سفارش

maxOrderQuantity

int

حداکثر سفارش

status

varchar

active / inactive

trackInventoryByTime

boolean

آیا موجودی وابسته به زمان است

meta

jsonb

اطلاعات تکمیلی

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی


inventory_reservations

رزرو آیتم

ستون

نوع

توضیح

id

uuid / bigint

شناسه

businessId

uuid / bigint

کسب‌وکار

itemId

uuid / bigint

آیتم

userId

uuid / bigint nullable

کاربر

customerName

varchar

نام

customerPhone

varchar

موبایل

customerEmail

varchar

ایمیل

quantity

int

تعداد رزرو

startDatetime

datetime nullable

شروع بازه

endDatetime

datetime nullable

پایان بازه

status

varchar

pending / confirmed / cancelled / returned / completed

paymentStatus

varchar

unpaid / paid / partial / refunded

unitPrice

decimal(18,2)

قیمت واحد

subtotal

decimal(18,2)

جمع

discountAmount

decimal(18,2)

تخفیف

taxAmount

decimal(18,2)

مالیات

finalPrice

decimal(18,2)

مبلغ نهایی

currency

varchar(10)

ارز

notes

text

توضیحات

version

int

کنترل همزمانی

meta

jsonb

داده اضافی

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی


inventory_availability

موجودی در بازه زمانی

ستون

نوع

توضیح

id

uuid / bigint

شناسه

itemId

uuid / bigint

آیتم

date

date

تاریخ

totalQuantity

int

کل موجودی

reservedQuantity

int

رزرو شده

availableQuantity

int

مانده

status

varchar

open / closed

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی


inventory_prices

قیمت آیتم

ستون

نوع

توضیح

id

uuid / bigint

شناسه

itemId

uuid / bigint

آیتم

pricingMode

varchar

fixed / per_hour / per_day / per_unit

amount

decimal(18,2)

مبلغ

currency

varchar(10)

ارز

validFrom

datetime nullable

شروع

validTo

datetime nullable

پایان

status

varchar

active / inactive

createdAt

datetime

تاریخ ایجاد

۵. جایگاه‌محور - Seat-Based

مدل پیشرفته‌تر از Capacity-Based که در آن هر صندلی یا جایگاه یک واحد مستقل محسوب می‌شود.

کاربردها:

  • سینما

  • هواپیما

  • اتوبوس

  • سالن تئاتر

ویژگی‌ها:

  • هر صندلی یک یونیت مستقل

  • انتخاب دستی صندلی توسط کاربر

  • جلوگیری از رزرو همزمان (Seat Locking / Concurrency Control)

  • مدیریت وضعیت هر صندلی (Available / Reserved / Sold)

ساختار داده‌ها:

venues

سالن یا محل برگزاری

ستون

نوع

توضیح

id

uuid / bigint

شناسه

businessId

uuid / bigint

کسب‌وکار

name

varchar

نام سالن

description

text

توضیح

address

text

آدرس

status

varchar

active / inactive

meta

jsonb

اطلاعات تکمیلی

createdAt

datetime

تاریخ ایجاد


venue_sections

بخش‌های سالن

ستون

نوع

توضیح

id

uuid / bigint

شناسه

venueId

uuid / bigint

سالن

name

varchar

نام بخش

code

varchar

کد

level

varchar nullable

طبقه

sortOrder

int

ترتیب

status

varchar

active / inactive

meta

jsonb

اطلاعات تکمیلی

createdAt

datetime

تاریخ ایجاد


seats

صندلی‌ها

ستون

نوع

توضیح

id

uuid / bigint

شناسه

venueId

uuid / bigint

سالن

sectionId

uuid / bigint nullable

سکشن

rowLabel

varchar

ردیف

seatNumber

varchar

شماره

seatCode

varchar

کد یکتا

seatType

varchar

normal / vip / wheelchair / couple

xPosition

decimal nullable

موقعیت نقشه

yPosition

decimal nullable

موقعیت نقشه

status

varchar

active / inactive / broken

meta

jsonb

داده اضافی

createdAt

datetime

تاریخ ایجاد


seat_events

اجرای خاص یا سانس مشخص

ستون

نوع

توضیح

id

uuid / bigint

شناسه

businessId

uuid / bigint

کسب‌وکار

venueId

uuid / bigint

سالن

title

varchar

نام اجرا

description

text

توضیح

startDatetime

datetime

شروع سانس

endDatetime

datetime

پایان سانس

salesStart

datetime nullable

شروع فروش

salesEnd

datetime nullable

پایان فروش

status

varchar

draft / on_sale / sold_out / cancelled / completed

meta

jsonb

اطلاعات اضافی

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی


seat_event_inventory

وضعیت هر صندلی برای هر اجرا

ستون

نوع

توضیح

id

uuid / bigint

شناسه

eventId

uuid / bigint

اجرا

seatId

uuid / bigint

صندلی

status

varchar

available / locked / reserved / sold / blocked

price

decimal(18,2)

قیمت

currency

varchar(10)

ارز

lockExpiresAt

datetime nullable

انقضای قفل

lockedBySession

varchar nullable

شناسه سشن

bookingId

uuid / bigint nullable

رزرو مرتبط

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی


seat_bookings

رزرو اصلی صندلی

ستون

نوع

توضیح

id

uuid / bigint

شناسه

eventId

uuid / bigint

اجرا

userId

uuid / bigint nullable

کاربر

customerName

varchar

نام

customerPhone

varchar

موبایل

customerEmail

varchar

ایمیل

quantity

int

تعداد صندلی

status

varchar

pending / confirmed / cancelled / expired

paymentStatus

varchar

unpaid / paid / refunded

subtotal

decimal(18,2)

مبلغ

discountAmount

decimal(18,2)

تخفیف

taxAmount

decimal(18,2)

مالیات

finalPrice

decimal(18,2)

مبلغ نهایی

currency

varchar(10)

ارز

expiresAt

datetime nullable

پایان مهلت پرداخت

meta

jsonb

داده اضافی

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی


seat_booking_items

آیتم‌های رزرو صندلی

ستون

نوع

توضیح

id

uuid / bigint

شناسه

bookingId

uuid / bigint

رزرو

eventId

uuid / bigint

اجرا

seatId

uuid / bigint

صندلی

unitPrice

decimal(18,2)

قیمت صندلی

currency

varchar(10)

ارز

status

varchar

reserved / sold / cancelled

createdAt

datetime

تاریخ ایجاد

۶. رزرو تکرارشونده - Recurring-Booking

رزروهایی که به صورت دوره‌ای و سریالی ایجاد می‌شوند.

کاربردها:

  • کلاس هفتگی

  • اجاره بلندمدت

  • قرارداد ماهانه

ویژگی‌ها:

  • پشتیبانی از RRULE (مشابه Google Calendar)

  • تولید خودکار booking instance‌ها

  • امکان مدیریت تک‌جلسه (لغو یا ویرایش یک occurrence)

  • اتصال به یک الگوی مادر (Parent Booking)

ساختار داده‌ها:

booking_series

الگوی مادر رزرو

ستون

نوع

توضیح

id

uuid / bigint

شناسه

businessId

uuid / bigint

کسب‌وکار

appsId

uuid / bigint

پروژه

bookingType

varchar

time_slot / date_range / capacity

parentEntityId

uuid / bigint nullable

شناسه خدمت/رویداد/منبع

userId

uuid / bigint

کاربر

customerName

varchar

نام

customerPhone

varchar

موبایل

customerEmail

varchar

ایمیل

startDate

date

شروع سری

endDate

date nullable

پایان سری

startTime

time nullable

ساعت شروع

endTime

time nullable

ساعت پایان

timezone

varchar

منطقه زمانی

rrule

text

قانون تکرار

occurrencesCount

int nullable

تعداد رخدادها

status

varchar

active / paused / cancelled / completed

notes

text

توضیحات

meta

jsonb

داده اضافی

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی

recurring_booking_instances

رخدادهای تولیدشده

ستون

نوع

توضیح

id

uuid / bigint

شناسه

seriesId

uuid / bigint

سری مادر

occurrenceDate

date

تاریخ رخداد

startDatetime

datetime

شروع

endDatetime

datetime

پایان

entityType

varchar

booking / event_registration / reservation

entityId

uuid / bigint nullable

رکورد اصلی

status

varchar

scheduled / completed / cancelled / skipped / modified

isException

boolean

آیا از الگو منحرف شده

originalStartDatetime

datetime nullable

زمان اصلی قبل از ویرایش

originalEndDatetime

datetime nullable

زمان اصلی

notes

text

توضیحات

meta

jsonb

داده اضافی

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی

recurring_exceptions

برای لغو یا تغییر یک occurrence خاص

ستون

نوع

توضیح

id

uuid / bigint

شناسه

seriesId

uuid / bigint

سری

occurrenceDate

date

تاریخ رخداد

exceptionType

varchar

cancelled / rescheduled / modified

newStartDatetime

datetime nullable

زمان جدید

newEndDatetime

datetime nullable

پایان جدید

reason

varchar nullable

دلیل

createdBy

uuid / bigint

ایجادکننده

meta

jsonb

اطلاعات تکمیلی

createdAt

datetime

تاریخ ایجاد


booking status

pending
confirmed
approved
rejected
cancelled
completed
expired
no_show

payment status

unpaid
pending
paid
partial
failed
refunded
partially_refunded

availability status

open
closed
blocked
maintenance


جداول مشترک مالی و عمومی

این جداول بهتر است برای همه مدل‌ها مشترک باشند.

payments

ثبت پرداخت

ستون

نوع

توضیح

id

uuid / bigint

شناسه

businessId

uuid / bigint

کسب‌وکار

payableType

varchar

booking / registration / reservation / seat_booking

payableId

uuid / bigint

شناسه رکورد مرتبط

userId

uuid / bigint nullable

کاربر

gateway

varchar

درگاه

transactionId

varchar

شماره تراکنش

amount

decimal(18,2)

مبلغ

currency

varchar(10)

ارز

status

varchar

pending / paid / failed / refunded

paidAt

datetime nullable

زمان پرداخت

meta

jsonb

پاسخ درگاه

createdAt

datetime

تاریخ ایجاد

updatedAt

datetime

تاریخ بروزرسانی


refunds

استرداد وجه

ستون

نوع

توضیح

id

uuid / bigint

شناسه

paymentId

uuid / bigint

پرداخت

amount

decimal(18,2)

مبلغ برگشتی

reason

varchar

دلیل

status

varchar

pending / completed / failed

refundedAt

datetime nullable

زمان استرداد

meta

jsonb

اطلاعات تکمیلی

createdAt

datetime

تاریخ ایجاد


coupons

کد تخفیف

ستون

نوع

توضیح

id

uuid / bigint

شناسه

businessId

uuid / bigint

کسب‌وکار

code

varchar

کد تخفیف

discountType

varchar

fixed / percentage

discountValue

decimal(18,2)

مقدار تخفیف

currency

varchar(10) nullable

ارز در تخفیف ثابت

maxDiscountAmount

decimal(18,2) nullable

سقف تخفیف

minOrderAmount

decimal(18,2) nullable

حداقل خرید

usageLimit

int nullable

سقف استفاده

usedCount

int

تعداد استفاده شده

validFrom

datetime

شروع اعتبار

validTo

datetime

پایان اعتبار

status

varchar

active / inactive / expired

meta

jsonb

اطلاعات اضافی

createdAt

datetime

تاریخ ایجاد


auditLogs

ثبت تغییرات مهم

ستون

نوع

توضیح

id

uuid / bigint

شناسه

businessId

uuid / bigint

کسب‌وکار

actorUserId

uuid / bigint nullable

انجام‌دهنده

entityType

varchar

نوع رکورد

entityId

uuid / bigint

شناسه رکورد

action

varchar

create / update / cancel / approve / refund

oldData

jsonb

مقدار قبلی

newData

jsonb

مقدار جدید

ipAddress

varchar

آی‌پی

userAgent

text

مرورگر

createdAt

datetime

تاریخ ایجاد

امین کیانی

امین کیانی

اسکن برای دسترسی با موبایل

رزرواسیون

لطفا وارد شوید تا نظر دهید

افزودن نظر

دیدگاه

Pazh0.1.0