Module: Booker::V4::BusinessREST
Constant Summary
RequestHelper::DEFAULT_PAGINATION_PARAMS
Instance Method Summary
collapse
-
#find_appointments_partial(booker_location_id:, start_date:, end_date:, fetch_all: true, options: {}) ⇒ Object
-
#find_employees(booker_location_id:, fetch_all: true, options: {}) ⇒ Object
-
#find_locations(options: {}) ⇒ Object
-
#find_treatments(booker_location_id:, fetch_all: true, options: {}) ⇒ Object
-
#get_location_day_schedules(booker_location_id:, params: {}) ⇒ Object
-
#get_location_feature_settings(booker_location_id:) ⇒ Object
-
#get_location_notification_settings(booker_location_id:) ⇒ Object
-
#get_logged_in_user ⇒ Object
-
#update_location_notification_settings(booker_location_id:, send_appointment_reminders:) ⇒ Object
Methods included from CommonREST
#confirm_appointment, #get_location, #get_online_booking_settings
Instance Method Details
#find_appointments_partial(booker_location_id:, start_date:, end_date:, fetch_all: true, options: {}) ⇒ Object
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/booker/v4/business_rest.rb', line 53
def find_appointments_partial(booker_location_id:, start_date:, end_date:, fetch_all: true, options: {})
additional_params = {
LocationID: booker_location_id,
FromStartDate: start_date.to_date,
ToStartDate: end_date.to_date
}
paginated_request(
method: :post,
path: '/appointments/partial',
params: build_params(additional_params, options, true),
model: Booker::V4::Models::Appointment,
fetch_all: fetch_all
)
end
|
#find_employees(booker_location_id:, fetch_all: true, options: {}) ⇒ Object
33
34
35
36
37
38
39
40
41
|
# File 'lib/booker/v4/business_rest.rb', line 33
def find_employees(booker_location_id:, fetch_all: true, options: {})
paginated_request(
method: :post,
path: '/employees',
params: build_params({LocationID: booker_location_id}, options, true),
model: Booker::V4::Models::Employee,
fetch_all: fetch_all
)
end
|
#find_locations(options: {}) ⇒ Object
24
25
26
27
28
29
30
31
|
# File 'lib/booker/v4/business_rest.rb', line 24
def find_locations(options: {})
paginated_request(
method: :post,
path: '/locations',
params: build_params({}, options, true),
model: Booker::V4::Models::Location
)
end
|
#find_treatments(booker_location_id:, fetch_all: true, options: {}) ⇒ Object
43
44
45
46
47
48
49
50
51
|
# File 'lib/booker/v4/business_rest.rb', line 43
def find_treatments(booker_location_id:, fetch_all: true, options: {})
paginated_request(
method: :post,
path: '/treatments',
params: build_params({LocationID: booker_location_id}, options, true),
model: Booker::V4::Models::Treatment,
fetch_all: fetch_all
)
end
|
#get_location_day_schedules(booker_location_id:, params: {}) ⇒ Object
14
15
16
17
18
19
20
21
22
|
# File 'lib/booker/v4/business_rest.rb', line 14
def get_location_day_schedules(booker_location_id:, params: {})
random_datetime = Booker::V4::Models::Model.time_to_booker_datetime(Time.now)
additional_params = {getDefaultDaySchedule: true, fromDate: random_datetime, toDate: random_datetime}
response = get("/location/#{booker_location_id}/schedule", build_params(additional_params, params))
response['LocationDaySchedules'].map { |sched| Booker::V4::Models::LocationDaySchedule.from_hash(sched) }
end
|
#get_location_feature_settings(booker_location_id:) ⇒ Object
82
83
84
85
|
# File 'lib/booker/v4/business_rest.rb', line 82
def get_location_feature_settings(booker_location_id:)
response = get "/location/#{booker_location_id}/feature_settings", build_params
Booker::V4::Models::FeatureSettings.from_hash response['FeatureSettings']
end
|
#get_location_notification_settings(booker_location_id:) ⇒ Object
69
70
71
72
|
# File 'lib/booker/v4/business_rest.rb', line 69
def get_location_notification_settings(booker_location_id:)
response = get "/location/#{booker_location_id}/notification_settings", build_params
Booker::V4::Models::NotificationSettings.from_hash response['NotificationSettings']
end
|
#get_logged_in_user ⇒ Object
6
7
8
9
10
11
12
|
# File 'lib/booker/v4/business_rest.rb', line 6
def get_logged_in_user
response = get('/user', build_params)
result = Booker::V4::Models::User.from_hash(response['User'])
result.LocationID = response['LocationID']
result.BrandID = response['BrandID']
result
end
|
#update_location_notification_settings(booker_location_id:, send_appointment_reminders:) ⇒ Object
74
75
76
77
78
79
80
|
# File 'lib/booker/v4/business_rest.rb', line 74
def update_location_notification_settings(booker_location_id:, send_appointment_reminders:)
put "/location/#{booker_location_id}/notification_settings", build_params({
NotificationSettings: {
SendAppointmentReminders: send_appointment_reminders
}
})
end
|