OVIRO LogoOVIRO
BookingTài nguyên Booking

Danh sách Học viên

Lấy danh sách các học viên (khách hàng) của Chuyên viên/Chuyên gia, nhóm theo Nhóm dịch vụ với thông tin khách hàng và gói dịch vụ đã enrich. Dữ liệu được lấy từ BookingEntitlement dựa trên primary_booking_resource_id.

Endpoint

GET /v1/bookingresources/members

Mô tả

API này trả về danh sách các học viên (khách hàng) được gán cho Chuyên viên/Chuyên gia hiện tại đang đăng nhập.

Cơ chế hoạt động:

  1. Xác định BookingResource của user hiện tại thông qua BookingResourceAssignment
  2. Lấy tất cả BookingEntitlementprimary_booking_resource_id = ID của resource đó
  3. Enrich thông tin khách hàng và gói dịch vụ
  4. Nhóm kết quả theo BookingCatalog

Query Parameters

TênKiểuBắt buộcMô tả
keywordstringTìm kiếm theo tên khách hàng.
fstatusintLọc theo trạng thái entitlement (mặc định 1 - Active).
booking_catalog_idintLọc theo ID nhóm dịch vụ.
pageintTrang hiện tại (mặc định 1).
limitintSố bản ghi mỗi trang (mặc định 50).
sortbystringSắp xếp theo cột (mặc định id).
sorttypestringThứ tự sắp xếp (ASC hoặc DESC, mặc định DESC).

Response Schema

HTTP 200 - JSON Object

{
  "total": 25,
  "currentpage": 1,
  "limit": 50,
  "items": [
    {
      "company_id": 1,
      "creator_id": 1,
      "id": 10001,
      "name": "Tăng cơ",
      "type": 1,
      "pre_session_attribute_category_id": 0,
      "post_session_attribute_category_id": 0,
      "rule_mapping": {
        "deduct_mode": 1,
        "deduct_unit": 1,
        "deduct_timing": 1,
        "use_real_time": false,
        "require_resource": true,
        "resource_mode": 1,
        "allow_overuse": false
      },
      "date_created": 1738227600,
      "date_modified": 1738227600,
      "booking_entitlements": [
        {
          "company_id": 10311,
          "creator_id": 1,
          "id": 10014,
          "customer_id": 133,
          "sales_order_id": 1001,
          "sales_order_detail_id": 2001,
          "booking_catalog_id": 10001,
          "booking_package_id": 10002,
          "primary_booking_resource_id": 5,
          "secondary_booking_resource_id": 0,
          "limit_store_id_list": "",
          "total_credits": 24,
          "used_credits": 5,
          "remaining_credits": 19,
          "status": 1,
          "date_started": 1738227600,
          "date_ended": 1740905999,
          "date_created": 1738227600,
          "date_modified": 1738227600,
          "customer_name": "Cao Minh Tuấn",
          "customer_avatar": "https://...",
          "customer_phone": "0987654321",
          "customer_email": "[email protected]",
          "booking_package_name": "Gói tập 10 ngày 60 phút"
        }
      ]
    }
  ]
}

Fields Description

items (Grouped by Nhóm dịch vụ)

Mỗi item là một Nhóm dịch vụ (BookingCatalog) đầy đủ với danh sách hạn mức khách hàng.

FieldMô tả
idID của Nhóm dịch vụ
nameTên nhóm dịch vụ
typeLoại nhóm dịch vụ
rule_mappingCấu hình quy tắc tính hạn mức
booking_entitlementsMảng các hạn mức khách hàng thuộc nhóm dịch vụ này

booking_entitlements (Enriched Data)

Mỗi hạn mức được enrich thêm các field:

FieldKiểuMô tả
idintID của BookingEntitlement
customer_idintID khách hàng
booking_catalog_idintID nhóm dịch vụ
booking_package_idintID gói dịch vụ
primary_booking_resource_idintID chuyên viên/chuyên gia phụ trách
total_creditsintTổng hạn mức của gói
used_creditsintHạn mức đã sử dụng
remaining_creditsintHạn mức còn lại
statusintTrạng thái entitlement
date_startedintNgày bắt đầu hiệu lực (timestamp)
date_endedintNgày kết thúc hiệu lực (timestamp)
customer_namestringTên đầy đủ của khách hàng (enriched)
customer_avatarstringAvatar của khách hàng (enriched)
customer_phonestringSố điện thoại khách hàng (enriched)
customer_emailstringEmail khách hàng (enriched)
booking_package_namestringTên gói dịch vụ (enriched)

Entitlement Status Values

ValueMô tả
1Đang hoạt động (Active)
3Không hoạt động (Inactive)
5Đã hết hạn (Expired)

Error Codes

HTTPCodeMô tả
401ERR_AUTH_REQUIREDThiếu token xác thực
403ERR_NO_PERMISSIONKhông có quyền truy cập
500ERR_INTERNALLỗi máy chủ

Notes

  • API sử dụng implicit staff identity mapping: User ID của người đăng nhập được map sang BookingResource thông qua BookingResourceAssignment
  • Nếu user chưa được assign vào bất kỳ BookingResource nào, API sẽ trả về danh sách rỗng
  • Filter primary_booking_resource_id được sử dụng để lọc các entitlement thuộc về chuyên viên/chuyên gia hiện tại

On this page