Перейти к основному содержимому

data

Описание

Необязательный. Массив объектов, содержащих данные карточек

Использование

data: [
{
id: string | number,
title: string,
category?: string,
subtitle?: string,
details?: string,
preview?: string, // ссылка на изображение
price?: string,
review?: {
stars: number,
count: number
},
slots?: [
{
from: number | string, // часы от 0 до 24
to: number | string, // часы от 0 до 24
size?: number, // продолжительность слота в минутах
gap?: number, // промежуток между слотами в минутах
days?: array, // дни недели, для которых применяется правило, от 0 до 6
dates?: array, // конкретные даты, для которых применяется правило, метки времени
}
],
availableSlots?: [number, number][], // каждый слот: [метка времени, продолжительность слота в минутах]
usedSlots?: number[], //метки времени
slotSize?: number, //минуты
slotGap?: number //минуты
}
];

Параметры

Для каждого объекта карточки можно указать следующие параметры:

  • id - (обязательный) идентификатор карточки
  • title - (обязательный) заголовок карточки (например, имя специалиста)
  • category - (необязательный) название категории карточки (например, должность специалиста)
  • subtitle - (необязательный) подзаголовок карточки
  • details - (необязательный) дополнительные сведения о карточке
  • preview - (необязательный) превью карточки — ссылка на изображение карточки
  • price - (необязательный) стоимость услуги
  • review - (необязательный) информация о рейтинге, включающая следующие параметры:
    • stars - (необязательный) количество звёзд рейтинга (из пяти)
    • count - (необязательный) количество отзывов
  • slots - (необязательный) массив объектов, задающих правила слотов (для отображения доступных для бронирования временных промежутков необходимо указать либо slots, либо availableSlots); каждый объект слота имеет следующие параметры:
    • from - (обязательный) время начала слота в часах от 0 до 24
    • to - (обязательный) время окончания слота в часах от 0 до 24
    • size - (необязательный) продолжительность одного слота в минутах
    • gap - (необязательный) промежуток между слотами в минутах; по умолчанию равен 0
    • days - (необязательный) дни недели, когда слот доступен для бронирования; возможные значения: от 0 до 6, где 0 — воскресенье, а 6 — суббота; если дни не указаны, правило применяется ко всем дням по умолчанию; если дни указаны, для этих дней применяются параметры слота (to, from, size, gap), заданные для них
    • dates - (необязательный) массив меток времени в миллисекундах, указывающих конкретные даты, когда слот доступен; для этих конкретных дат применяются параметры слота (to, from, size, gap) (метки времени указываются в миллисекундах и должны представлять местное время)
примечание

Параметры слота, заданные для конкретных дней, переопределяют общие параметры, установленные для всех дней. Параметры слота, заданные для конкретных дат, переопределяют параметры, установленные для отдельных дней и для всех дней. Если несколько объектов слота нацелены на один и тот же день с разными значениями size или gap, их временные диапазоны (fromto) не должны пересекаться. При наличии перекрытия виджет пропускает все слоты для этого дня.

  • availableSlots - (необязательный) массив доступных слотов; каждый слот представляет собой массив [timestamp, duration], где метка времени указана в миллисекундах (представляет местное время), а продолжительность — длину слота в минутах; если здесь указаны доступные слоты, все слоты из массива slots игнорируются (то есть становятся недоступными)
  • usedSlots - (необязательный) массив меток времени забронированных слотов в миллисекундах (метки времени указываются в миллисекундах и должны представлять местное время)
  • slotSize - (необязательный) продолжительность слота в минутах; значение применяется ко всем слотам этой карточки, если иное значение не задано внутри объекта slots; по умолчанию установлено 60 минут
  • slotGap - (необязательный) промежуток между слотами в минутах, устанавливаемый для всех слотов текущей карточки; это значение применяется, если иное не задано внутри объекта slots; по умолчанию равен 0

Пример

const data = [
{
id: "5cf364d8-9997-4d8c-9586-48f90f3cb736",
title: "Debra Weeks",
category: "Allergist",
subtitle: "7 years of experience",
details:
"Silverstone Medical Center (Vanderbilt Avenue 13, Chestnut, New Zealand)",
preview: "https://snippet.dhtmlx.com/codebase/data/booking/01/img/01.jpg",
price: "37 $",
review: {
stars: 1,
count: 40
},
slots: [
{
//общее правило слота для всех дней, кроме указанных в days и dates ниже
from: 14,
to: 17,
size: 30,
gap: 10
},
{
//это правило применяется к дням 2 и 5 (вторникам и пятницам), кроме
//пятницы из объекта слота ниже
from: 12,
to: 17,
size: 50,
gap: 20,
days: [2, 5]
},
{
//это правило применяется к дням 3 и 4 (средам и четвергам) и конкретной дате
from: 18,
to: 20,
size: 45,
gap: 20,
days: [3, 4],
dates: [ 1683234000000 ] // конкретная дата (5 мая 2023 года, пятница)
}
]
}
];

new booking.Booking("#root", {
data,
// другие параметры
});

Связанные статьи: Определение правил слотов