cal.com
cal.com copied to clipboard
Lauris/cal 3580 apiv2 schedules endpoints should be client agnostic
What does this PR do?
Fixes # (issue)
Requirement/Documentation
- If there is a requirement document, please, share it here.
- If there is a UI/UX design document, please, share it here.
Type of change
- Bug fix (non-breaking change which fixes an issue)
- Chore (refactoring code, technical debt, workflow improvements)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing functionality to not work as expected)
- Tests (Unit/Integration/E2E or any other test)
- This change requires a documentation update
How should this be tested?
- Are there environment variables that should be set?
- What are the minimal test data to have?
- What is expected (happy path) to have (input and output)?
- Any other important info that could help to test that PR
Mandatory Tasks
- [ ] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected.
Checklist
- I haven't read the contributing guide
- My code doesn't follow the style guidelines of this project
- I haven't commented my code, particularly in hard-to-understand areas
- I haven't checked if my PR needs changes to the documentation
- I haven't checked if my changes generate no new warnings
- I haven't added tests that prove my fix is effective or that my feature works
- I haven't checked if new and existing unit tests pass locally with my changes
Thank you for following the naming conventions! 🙏 Feel free to join our discord and post your PR link.
The latest updates on your projects. Learn more about Vercel for Git ↗︎
3 Ignored Deployments
| Name | Status | Preview | Comments | Updated (UTC) |
|---|---|---|---|---|
| ai | ⬜️ Ignored (Inspect) | Visit Preview | May 16, 2024 8:08am | |
| cal | ⬜️ Ignored (Inspect) | Visit Preview | May 16, 2024 8:08am | |
| calcom-web-canary | ⬜️ Ignored (Inspect) | Visit Preview | May 16, 2024 8:08am |
📦 Next.js Bundle Analysis for @calcom/web
This analysis was generated by the Next.js Bundle Analysis action. 🤖
This PR introduced no changes to the JavaScript bundle! 🙌
Current Playwright Test Results Summary
✅ 321 Passing - ⚠️ 24 Flaky
Run may still be in progress, this comment will be updated as current testing workflow or job completes...
(Last updated on 05/16/2024 08:24:35am UTC)
Run Details
Running Workflow PR Update on Github Actions
Commit: 2251f3ca482930a3195127e01c234ffa25d7a180
Started: 05/16/2024 08:20:02am UTC
⚠️ Flakes
📄 apps/web/playwright/integrations-stripe.e2e.ts • 3 Flakes
Top 1 Common Error Messages
|
|
3 Test Cases Affected |
Test Case Results
| Test Case | Last 7 days Failures | Last 7 days Flakes |
|---|---|---|
|
Stripe integration Can book a paid booking
Retry 1 • Initial Attempt |
3.43% (7)7 / 204 runsfailed over last 7 days |
15.20% (31)31 / 204 runsflaked over last 7 days |
|
Stripe integration Paid booking should be able to be rescheduled
Retry 1 • Initial Attempt |
3.47% (7)7 / 202 runsfailed over last 7 days |
16.34% (33)33 / 202 runsflaked over last 7 days |
|
Stripe integration Paid booking should be able to be cancelled
Retry 1 • Initial Attempt |
2.49% (5)5 / 201 runsfailed over last 7 days |
11.94% (24)24 / 201 runsflaked over last 7 days |
📄 apps/web/playwright/event-types.e2e.ts • 2 Flakes
Top 1 Common Error Messages
|
|
2 Test Cases Affected |
Test Case Results
| Test Case | Last 7 days Failures | Last 7 days Flakes |
|---|---|---|
|
Event Types tests -- future user can add multiple organizer address
Retry 1 • Initial Attempt |
1.81% (4)4 / 221 runsfailed over last 7 days |
22.62% (50)50 / 221 runsflaked over last 7 days |
|
Event Types tests -- future user Different Locations Tests can select 'display on booking page' option when multiple organizer input type are present
Retry 1 • Initial Attempt |
0% (0)0 / 219 runsfailed over last 7 days |
10.96% (24)24 / 219 runsflaked over last 7 days |
📄 packages/embeds/embed-core/playwright/tests/action-based.e2e.ts • 9 Flakes
Top 1 Common Error Messages
|
|
9 Test Cases Affected |
Test Case Results
| Test Case | Last 7 days Failures | Last 7 days Flakes |
|---|---|---|
|
Popup Tests should open embed iframe on click - Configured with light theme
Retry 1 • Initial Attempt |
-0.93% (-2)-2 / 214 runsfailed over last 7 days |
61.68% (132)132 / 214 runsflaked over last 7 days |
|
Popup Tests should be able to reschedule
Retry 1 • Initial Attempt |
-157.14% (-132)-132 / 84 runsfailed over last 7 days |
157.14% (132)132 / 84 runsflaked over last 7 days |
|
Popup Tests should open Routing Forms embed on click
Retry 1 • Initial Attempt |
-154.76% (-130)-130 / 84 runsfailed over last 7 days |
154.76% (130)130 / 84 runsflaked over last 7 days |
|
Popup Tests Floating Button Popup Pro User - Configured in App with default setting of system theme should open embed iframe according to system theme when no theme is configured through Embed API
Retry 1 • Initial Attempt |
-148.81% (-125)-125 / 84 runsfailed over last 7 days |
151.19% (127)127 / 84 runsflaked over last 7 days |
|
Popup Tests Floating Button Popup Pro User - Configured in App with default setting of system theme should open embed iframe according to system theme when configured with 'auto' theme using Embed API
Retry 1 • Initial Attempt |
-154.88% (-127)-127 / 82 runsfailed over last 7 days |
154.88% (127)127 / 82 runsflaked over last 7 days |
|
Popup Tests Floating Button Popup Pro User - Configured in App with default setting of system theme should open embed iframe(Booker Profile Page) with dark theme when configured with dark theme using Embed API
Retry 1 • Initial Attempt |
-154.88% (-127)-127 / 82 runsfailed over last 7 days |
154.88% (127)127 / 82 runsflaked over last 7 days |
|
Popup Tests Floating Button Popup Pro User - Configured in App with default setting of system theme should open embed iframe(Event Booking Page) with dark theme when configured with dark theme using Embed API
Retry 1 • Initial Attempt |
-154.88% (-127)-127 / 82 runsfailed over last 7 days |
154.88% (127)127 / 82 runsflaked over last 7 days |
|
Popup Tests prendered embed should be loaded and apply the config given to it
Retry 1 • Initial Attempt |
-154.88% (-127)-127 / 82 runsfailed over last 7 days |
154.88% (127)127 / 82 runsflaked over last 7 days |
|
Popup Tests should open on clicking child element
Retry 1 • Initial Attempt |
-151.85% (-123)-123 / 81 runsfailed over last 7 days |
151.85% (123)123 / 81 runsflaked over last 7 days |
📄 apps/web/playwright/profile.e2e.ts • 2 Flakes
Top 1 Common Error Messages
|
|
2 Test Cases Affected |
Test Case Results
| Test Case | Last 7 days Failures | Last 7 days Flakes |
|---|---|---|
|
Update Profile Can update a users email (verification enabled)
Retry 1 • Initial Attempt |
39.92% (97)97 / 243 runsfailed over last 7 days |
31.28% (76)76 / 243 runsflaked over last 7 days |
|
Update Profile Can verify the newly added secondary email
Retry 1 • Initial Attempt |
2.45% (6)6 / 245 runsfailed over last 7 days |
21.63% (53)53 / 245 runsflaked over last 7 days |
📄 packages/app-store/routing-forms/playwright/tests/basic.e2e.ts • 1 Flake
Test Case Results
| Test Case | Last 7 days Failures | Last 7 days Flakes |
|---|---|---|
|
Routing Forms Seeded Routing Form Test preview should return correct route
Retry 1 • Initial Attempt |
0.94% (2)2 / 212 runsfailed over last 7 days |
32.55% (69)69 / 212 runsflaked over last 7 days |
📄 apps/web/playwright/teams.e2e.ts • 1 Flake
Test Case Results
| Test Case | Last 7 days Failures | Last 7 days Flakes |
|---|---|---|
|
Teams - NonOrg -- legacy Can create a booking for Round Robin EventType
Retry 1 • Initial Attempt |
6.31% (14)14 / 222 runsfailed over last 7 days |
29.73% (66)66 / 222 runsflaked over last 7 days |
📄 packages/embeds/embed-core/playwright/tests/namespacing.e2e.ts • 4 Flakes
Top 1 Common Error Messages
|
|
4 Test Cases Affected |
Test Case Results
| Test Case | Last 7 days Failures | Last 7 days Flakes |
|---|---|---|
|
Namespacing Inline Embed Double install Embed Snippet with inline embed using a namespace
Retry 1 • Initial Attempt |
0% (0)0 / 212 runsfailed over last 7 days |
58.49% (124)124 / 212 runsflaked over last 7 days |
|
Namespacing Inline Embed Add inline embed using a namespace without reload
Retry 1 • Initial Attempt |
0.47% (1)1 / 212 runfailed over last 7 days |
58.96% (125)125 / 212 runsflaked over last 7 days |
|
Namespacing Different namespaces can have different init configs
Retry 1 • Initial Attempt |
0% (0)0 / 210 runsfailed over last 7 days |
58.57% (123)123 / 210 runsflaked over last 7 days |
|
Namespacing Inline Embed Double install Embed Snippet with inline embed without a namespace(i.e. default namespace)
Retry 1 • Initial Attempt |
0% (0)0 / 212 runsfailed over last 7 days |
62.26% (132)132 / 212 runsflaked over last 7 days |
📄 apps/web/playwright/login.e2e.ts • 1 Flake
Test Case Results
| Test Case | Last 7 days Failures | Last 7 days Flakes |
|---|---|---|
|
user can login & logout succesfully -- future login flow user & logout using dashboard
Retry 1 • Initial Attempt |
4.59% (10)10 / 218 runsfailed over last 7 days |
31.65% (69)69 / 218 runsflaked over last 7 days |
📄 apps/web/playwright/ab-tests-redirect.e2e.ts • 1 Flake
Test Case Results
| Test Case | Last 7 days Failures | Last 7 days Flakes |
|---|---|---|
|
apps/ A/B tests -- future should render the /getting-started
Retry 1 • Initial Attempt |
0.46% (1)1 / 217 runfailed over last 7 days |
0.92% (2)2 / 217 runsflaked over last 7 days |
New and removed dependencies detected. Learn more about Socket for GitHub ↗︎
🚮 Removed packages: npm/@0no-co/[email protected], npm/@47ng/[email protected], npm/@achrinza/[email protected], npm/@achrinza/[email protected], npm/@achrinza/[email protected], npm/@adobe/[email protected], npm/@algora/[email protected], npm/@ampproject/[email protected], npm/@antfu/[email protected], npm/@anthropic-ai/[email protected], npm/@apidevtools/[email protected], npm/@apidevtools/[email protected], npm/@apidevtools/[email protected], npm/@apidevtools/[email protected], npm/@ardatan/[email protected], npm/@aw-web-design/[email protected], npm/@aws-crypto/[email protected], npm/@aws-crypto/[email protected], npm/@aws-crypto/[email protected], npm/@aws-crypto/[email protected], npm/@aws-crypto/[email protected], npm/@aws-crypto/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@aws-sdk/[email protected], npm/@azure/[email protected], npm/@azure/[email protected], npm/@azure/[email protected], npm/@azure/[email protected], npm/@azure/[email protected], npm/@azure/[email protected], npm/@azure/[email protected], npm/@azure/[email protected], npm/@azure/[email protected], npm/@azure/[email protected], npm/@azure/[email protected], npm/@azure/[email protected], npm/@azure/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@changesets/[email protected], npm/@changesets/[email protected], npm/@changesets/[email protected], npm/@changesets/[email protected], npm/@changesets/[email protected], npm/@changesets/[email protected], npm/@changesets/[email protected], npm/@changesets/[email protected], npm/@changesets/[email protected], npm/@changesets/[email protected], npm/@changesets/[email protected], npm/@changesets/[email protected], npm/@changesets/[email protected], npm/@changesets/[email protected], npm/@changesets/[email protected], npm/@changesets/[email protected], npm/@daily-co/[email protected], npm/@deploysentinel/[email protected], npm/@deploysentinel/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@esbuild/[email protected], npm/@eslint-community/[email protected], npm/@faker-js/[email protected], npm/@humanwhocodes/[email protected], npm/@isaacs/[email protected], npm/@jest/[email protected], npm/@jest/[email protected], npm/@jest/[email protected], npm/@jridgewell/[email protected], npm/@jridgewell/[email protected], npm/@jridgewell/[email protected], npm/@jsdevtools/[email protected], npm/@ljharb/[email protected], npm/@manypkg/[email protected], npm/@manypkg/[email protected], npm/@next/[email protected], npm/@next/[email protected], npm/@next/[email protected], npm/@next/[email protected], npm/@next/[email protected], npm/@next/[email protected], npm/@next/[email protected], npm/@next/[email protected], npm/@next/[email protected], npm/@next/[email protected], npm/@node-ipc/[email protected], npm/@nodelib/[email protected], npm/@nodelib/[email protected], npm/@oclif/[email protected], npm/@oclif/[email protected], npm/@oclif/[email protected], npm/@oclif/[email protected], npm/@oclif/[email protected], npm/@oclif/[email protected], npm/@paralleldrive/[email protected], npm/@playwright/[email protected], npm/@prisma/[email protected], npm/@rollup/[email protected], npm/@rollup/[email protected], npm/@rollup/[email protected], npm/@rollup/[email protected], npm/@rollup/[email protected], npm/@rollup/[email protected], npm/@rollup/[email protected], npm/@rollup/[email protected], npm/@rollup/[email protected], npm/@rollup/[email protected], npm/@rollup/[email protected], npm/@rollup/[email protected], npm/@rollup/[email protected], npm/@sentry-internal/[email protected], npm/@sentry-internal/[email protected], npm/@sentry-internal/[email protected], npm/@sentry/[email protected], npm/@sentry/[email protected], npm/@sentry/[email protected], npm/@sentry/[email protected], npm/@sentry/[email protected], npm/@sentry/[email protected], npm/@sinclair/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@smithy/[email protected], npm/@snaplet/[email protected], npm/@stablelib/[email protected], npm/@stablelib/[email protected], npm/@stablelib/[email protected], npm/@swc/[email protected], npm/@swc/[email protected], npm/@testing-library/[email protected], npm/@tootallnate/[email protected], npm/@trpc/[email protected], npm/@trpc/[email protected], npm/@tsconfig/[email protected], npm/@tsconfig/[email protected], npm/@tsconfig/[email protected], npm/@tsconfig/[email protected], npm/@types/[email protected], npm/@types/[email protected], npm/@types/[email protected], npm/@types/[email protected], npm/@types/[email protected], npm/@types/[email protected], npm/@types/[email protected], npm/@types/[email protected], npm/@types/[email protected], npm/@types/[email protected], npm/@types/[email protected], npm/@types/[email protected], npm/@types/[email protected], npm/@types/[email protected], npm/@vitest/[email protected], npm/@vitest/[email protected], npm/@vitest/[email protected], npm/@vitest/[email protected], npm/@vitest/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected]
👍 Dependency issues cleared. Learn more about Socket for GitHub ↗︎
This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.
Graphite Automations
"Add foundation team as reviewer" took an action on this PR • (05/14/24)
1 reviewer was added to this PR based on Keith Williams's automation.
"Add platform team as reviewer" took an action on this PR • (05/14/24)
1 reviewer was added to this PR based on Keith Williams's automation.
"Add consumer team as reviewer" took an action on this PR • (05/14/24)
1 reviewer was added to this PR based on Keith Williams's automation.
schedules refactor: before & after
Creating schedule
1. Before
- availabilities days are numbers instead of names
- start and end times must be dates even though api only cares about hours and minutes
- no way to pass overrides - dates and times when availabilities change
Request body:
{
"name": "working hours",
"timeZone": "Europe/Rome",
"availabilities": [
{
"days": [
1,
2,
3,
4,
5
],
"startTime": "1970-01-01T09:00:00.289Z",
"endTime": "1970-01-01T17:00:00.289Z"
}
],
"isDefault": true
}
Response:
{
"status": "success",
"data": {
"id": 256,
"name": "working hours",
"isManaged": false,
"workingHours": [
{
"days": [
1,
2,
3,
4,
5
],
"startTime": 540,
"endTime": 1020,
"userId": 480
}
],
"schedule": [
{
"id": 462,
"userId": 480,
"eventTypeId": null,
"days": [
1,
2,
3,
4,
5
],
"startTime": "1970-01-01T09:00:00.000Z",
"endTime": "1970-01-01T17:00:00.000Z",
"date": null,
"scheduleId": 256
}
],
"availability": [
[],
[
{
"start": "2024-05-15T09:00:00.000Z",
"end": "2024-05-15T17:00:00.000Z"
}
],
[
{
"start": "2024-05-15T09:00:00.000Z",
"end": "2024-05-15T17:00:00.000Z"
}
],
[
{
"start": "2024-05-15T09:00:00.000Z",
"end": "2024-05-15T17:00:00.000Z"
}
],
[
{
"start": "2024-05-15T09:00:00.000Z",
"end": "2024-05-15T17:00:00.000Z"
}
],
[
{
"start": "2024-05-15T09:00:00.000Z",
"end": "2024-05-15T17:00:00.000Z"
}
],
[]
],
"timeZone": "Europe/Rome",
"dateOverrides": [],
"isDefault": true,
"isLastSchedule": true,
"readOnly": false
}
}
2. After
availabilitiesbody key has been renamed toavailability- Days are words e.g.
Sundayinstead of number e.g.0 - Overrides can be passed.
Updating schedule
1. Before
- To update availabilities they had to be passed under
body.schedulein data format different than when creating a schedule. - The response did not include schedule availabilities
Request body:
{
"schedule": [
[],
[{ "start": "2022-01-01T10:00:00.000Z", "end": "2022-01-02T16:00:00.000Z" }],
[],
[],
[],
[],
[]
]
}
Response:
{
"status": "success",
"data": {
"schedule": {
"userId": 480,
"name": "working hours",
"id": 256
},
"isDefault": true
}
}
2. After
- Shape is exactly the same as when creating schedule
- Response includes availabilities and is in same shape as when creating a schedule
Fetching schedule
1. Before
Response is in same shape as when creating.
2. After
Response is in same shape as wen creating and updating.