Skip to content

[Feature in SDK]: Add Booking scope wrappers and integration tests #473

@fatestr1ngs

Description

@fatestr1ngs

Description

Problem

The SDK does not provide full wrapper coverage for the Bitrix24 Booking scope.

This makes it impossible to work with Booking entities through the SDK in a consistent way, including:

  • client type lookup
  • resources and resource types
  • resource slots
  • waitlist entries
  • waitlist clients and external data
  • bookings
  • booking clients and external data

As a result, developers have to call Booking REST methods manually instead of using typed SDK services and result objects.

Proposed solution

Add a dedicated Booking scope to the SDK and implement wrappers for all currently documented Booking REST methods.

The implementation should include:

  • a new Booking scope service builder registered in the root ServiceBuilder
  • service classes for Booking method groups
  • result classes for single-item and list responses
  • support for the following method families:
    • booking.v1.clienttype.*
    • booking.v1.resource.*
    • booking.v1.resourceType.*
    • booking.v1.resource.slots.*
    • booking.v1.waitlist.*
    • booking.v1.waitlist.client.*
    • booking.v1.waitlist.externalData.*
    • booking.v1.booking.*
    • booking.v1.booking.client.*
    • booking.v1.booking.externalData.*
  • integration tests for the new scope
  • dedicated annotation validation tests for result item classes returned by get and list

Acceptance criteria

  • A new Booking scope builder is added and registered in the root ServiceBuilder
  • All documented Booking REST methods are wrapped by SDK services
  • Result classes are added for Booking entities and list responses
  • Integration tests are added for the new Booking scope
  • Annotation tests are added for result item classes used in get and list
  • Booking tests are registered in phpunit.xml.dist
  • A Makefile command is added for running Booking integration tests
  • Booking-related paths are added to the required linter and test configs
  • CHANGELOG.md is updated with the new Booking scope support

Example

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions