PHPackages                             moovone/timekit-php-sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. moovone/timekit-php-sdk

AbandonedArchivedLibrary[API Development](/categories/api)

moovone/timekit-php-sdk
=======================

A basic PHP SDK for timekit.io API

v0.12.0(6y ago)516.1k4GPL-3.0-or-laterPHPPHP ^7.1

Since Jan 9Pushed 4y agoCompare

[ Source](https://github.com/MoovOne/timekit-php-sdk)[ Packagist](https://packagist.org/packages/moovone/timekit-php-sdk)[ Docs](http://github.com/MoovOne/timekit-php-sdk)[ RSS](/packages/moovone-timekit-php-sdk/feed)WikiDiscussions stable Synced yesterday

READMEChangelogDependencies (3)Versions (16)Used By (0)

Timekit.io PHP SDK
==================

[](#timekitio-php-sdk)

**Warning: this library is in development. First release should be ready in few days.**

This library is a basic PHP SDK for the timekit.io API.

This SDK doesn't fully cover the timekit.io API endpoints. Only the following endpoints are covered:

Covered end-pointTimekit.io documentation`POST /resources``PUT /resources/{id}``DELETE /resources/{id}``GET /resources/{id}``POST /bookings``DELETE /bookings/{id}``PUT /bookings/{id}/{state}``POST /availability`Installation
============

[](#installation)

`composer require moovone/timekit-php-sdk`

Usage
=====

[](#usage)

```
use Moovone\TimekitPhpSdk\GuzzleClient;

$httpClient = new GuzzleClient($apiKey);

$payload = [
  'timezone' => 'Europe/Paris',
  'name' => 'John Doe',
];

$resource = $this->httpClient->createResource($payload);
```

Models
======

[](#models)

This SDK provides models for the following availability constraints:

- allow day and time: [AllowDayAndTimeAvailabilityConstraint](src/Model/AvailabilityConstraint/DayAndTime/AllowDayAndTimeAvailabilityConstraint.php)
- block day and time: [BlockDayAndTimeAvailabilityConstraint](src/Model/AvailabilityConstraint/DayAndTime/BlockDayAndTimeAvailabilityConstraint.php)
- allow hours: [AllowHoursAvailabilityConstraint](src/Model/AvailabilityConstraint/Hours/AllowHoursAvailabilityConstraint.php)
- block hours: [BlockHoursAvailabilityConstraint](src/Model/AvailabilityConstraint/Hours/BlockHoursAvailabilityConstraint.php)
- allow day: [AllowDayAvailabilityConstraint](src/Model/AvailabilityConstraint/Day/AllowDayAvailabilityConstraint.php)
- block day: [BlockDayAvailabilityConstraint](src/Model/AvailabilityConstraint/Day/BlockDayAvailabilityConstraint.php)
- allow period: [AllowPeriodAvailabilityConstraint](src/Model/AvailabilityConstraint/Period/AllowPeriodAvailabilityConstraint.php)
- block period: [BlockPeriodAvailabilityConstraint](src/Model/AvailabilityConstraint/Period/BlockPeriodAvailabilityConstraint.php)
- allow weekdays: [AllowWeekdaysAvailabilityConstraint](src/Model/AvailabilityConstraint/Weekdays/AllowWeekdaysAvailabilityConstraint.php)
- block weekdays: [BlockWeekdaysAvailabilityConstraint](src/Model/AvailabilityConstraint/Weekdays/BlockWeekdaysAvailabilityConstraint.php)
- allow weekends: [AllowWeekendsAvailabilityConstraint](src/Model/AvailabilityConstraint/Weekends/AllowWeekendsAvailabilityConstraint.php)
- block weekends: [BlockWeekendsAvailabilityConstraint](src/Model/AvailabilityConstraint/Weekends/BlockWeekendsAvailabilityConstraint.php)

All those models provide a `convertToPayloadEntry` method which will convert them to a timekit-api payload-compliant json.

Examples
========

[](#examples)

Create a resource
-----------------

[](#create-a-resource)

```
$payload = [
  'timezone' => $timezone,
  'first_name' => $firstName,
  'last_name' => $lastName,
  'name' => sprintf('%s %s', $firstName, $lastName),
];

$resource = $this->httpClient->createResource($payload);
```

Update a resource
-----------------

[](#update-a-resource)

```
$payload = [
  'timezone' => $timezone,
  'first_name' => $firstName,
  'last_name' => $lastName,
  'name' => sprintf('%s %s', $firstName, $lastName),
];

$this->httpClient->updateResource($resourceId, $payload);
```

Delete a resource
-----------------

[](#delete-a-resource)

```
$this->httpClient->deleteResource($resourceId);
```

Get a resource
--------------

[](#get-a-resource)

```
$resource = $this->httpClient->getResource($resourceId);
```

Create a booking
----------------

[](#create-a-booking)

```
$start = (new \DateTime())->modify('+1 hour');
$booking = $this->httpClient->createBooking($remoteId, $start, (clone $start)->modify('+30 minutes'), 'My first booking');
```

Delete a booking
----------------

[](#delete-a-booking)

```
$this->httpClient->deleteBooking($bookingId);
```

Update a booking state
----------------------

[](#update-a-booking-state)

```
use MoovOne\TimekitPhpSdk\Model\Booking;

$booking = $this->httpClient->updateBookingState($bookingId, Booking::STATE_CANCEL);
```

Get availabilities
------------------

[](#get-availabilities)

```
use MoovOne\TimekitPhpSdk\Model\Availability;

$payload = [
	'mode' => Availability::TYPE_ROUNDROBIN_RANDOM,
	'length' => '60 minutes',
	'round_to_nearest_hour' => false,
	'from' => 'tomorrow',
	'to' => '3 days',
	'buffer' => '5 minutes',
	'timeslot_increments' => '15 minutes',
	'resources' => [$resourceId],
];

$availabilities = $this->httpClient->getAvailabilities($payload);
```

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 95.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~21 days

Recently: every ~50 days

Total

12

Last Release

2448d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0fa78a36e91c0bef036f8afcb403574e0013f3d5b0414198dcb4fe118e91c6c9?d=identicon)[VaN-dev](/maintainers/VaN-dev)

---

Top Contributors

[![VaN-dev](https://avatars.githubusercontent.com/u/2815055?v=4)](https://github.com/VaN-dev "VaN-dev (62 commits)")[![superh2m](https://avatars.githubusercontent.com/u/6178360?v=4)](https://github.com/superh2m "superh2m (3 commits)")

---

Tags

phpapisdkmoovonetimekit

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/moovone-timekit-php-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/moovone-timekit-php-sdk/health.svg)](https://phpackages.com/packages/moovone-timekit-php-sdk)
```

###  Alternatives

[openai-php/laravel

OpenAI PHP for Laravel is a supercharged PHP API client that allows you to interact with the Open AI API

3.7k7.6M74](/packages/openai-php-laravel)[hubspot/api-client

Hubspot API client

23414.2M16](/packages/hubspot-api-client)[php-opencloud/openstack

PHP SDK for OpenStack APIs. Supports BlockStorage, Compute, Identity, Images, Networking and Metric Gnocchi

2292.2M24](/packages/php-opencloud-openstack)[mailchimp/transactional

458.9M16](/packages/mailchimp-transactional)[resend/resend-php

Resend PHP library.

564.7M21](/packages/resend-resend-php)[checkout/checkout-sdk-php

Checkout.com SDK for PHP

553.3M7](/packages/checkout-checkout-sdk-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
