feat: support phone based booking api (#17635)

* chore: save progress

* feat: support phone based booking using API v2

* chore: change name of the variable

* fix: update event types and booking fields for improved validation and new properties

- Updated imports in input and output event types services to use the correct library version.
- Added new `avatarUrl` and `successRedirectUrl` properties to the Swagger documentation for user and booking schemas.
- Enhanced booking fields validation by changing the `required` property to a boolean type.
- Improved descriptions and examples in the OpenAPI specifications for better clarity.
- Refactored booking fields input and output classes to include new properties and ensure proper validation.

* fix: booking with phone number

* test: add event type update test

* test: add test for creating booking

* chore: update unit test

* fix: tests

* fix: add turbo

* chore: remove emial

* refactor: make email optional and move it to service

* fix: test

* chore: bump platform-libraries

* fix: e2e test

---------

Co-authored-by: supalarry <laurisskraucis@gmail.com>
This commit is contained in:
Udit Takkar
2025-01-08 21:16:10 +05:30
committed by GitHub
co-authored by supalarry
parent 20a5775f31
commit c9c5493de6
19 changed files with 6318 additions and 101 deletions
+21 -8
View File
@@ -7206,6 +7206,9 @@
"label": {
"type": "string"
},
"required": {
"type": "object"
},
"placeholder": {
"type": "string"
},
@@ -7214,7 +7217,7 @@
"description": "Disable this booking field if the URL contains query parameter with key equal to the slug and prefill it with the provided value. For example, if URL contains query parameter `&email=bob@gmail.com`, the email field will be prefilled with this value and disabled."
}
},
"required": ["type", "label", "placeholder"]
"required": ["type", "label", "required", "placeholder"]
},
"TitleDefaultFieldInput_2024_06_14": {
"type": "object",
@@ -7858,6 +7861,10 @@
"label": {
"type": "string"
},
"required": {
"type": "object",
"default": true
},
"placeholder": {
"type": "string"
},
@@ -7874,12 +7881,9 @@
"slug": {
"type": "string",
"default": "email"
},
"required": {
"type": "boolean"
}
},
"required": ["type", "isDefault", "slug", "required"]
"required": ["type", "required", "isDefault", "slug"]
},
"NameDefaultFieldOutput_2024_06_14": {
"type": "object",
@@ -9307,7 +9311,7 @@
},
"customName": {
"type": "string",
"description": "Customizable event name with valid variables: \n {Event type title}, {Organiser}, {Scheduler}, {Location}, {Organiser first name}, \n {Scheduler first name}, {Scheduler last name}, {Event duration}, {LOCATION}, \n {HOST/ATTENDEE}, {HOST}, {ATTENDEE}, {USER}",
"description": "Customizable event name with valid variables:\n {Event type title}, {Organiser}, {Scheduler}, {Location}, {Organiser first name},\n {Scheduler first name}, {Scheduler last name}, {Event duration}, {LOCATION},\n {HOST/ATTENDEE}, {HOST}, {ATTENDEE}, {USER}",
"example": "{Event type title} between {Organiser} and {Scheduler}"
},
"destinationCalendar": {
@@ -11433,7 +11437,7 @@
},
"customName": {
"type": "string",
"description": "Customizable event name with valid variables: \n {Event type title}, {Organiser}, {Scheduler}, {Location}, {Organiser first name}, \n {Scheduler first name}, {Scheduler last name}, {Event duration}, {LOCATION}, \n {HOST/ATTENDEE}, {HOST}, {ATTENDEE}, {USER}",
"description": "Customizable event name with valid variables:\n {Event type title}, {Organiser}, {Scheduler}, {Location}, {Organiser first name},\n {Scheduler first name}, {Scheduler last name}, {Event duration}, {LOCATION},\n {HOST/ATTENDEE}, {HOST}, {ATTENDEE}, {USER}",
"example": "{Event type title} between {Organiser} and {Scheduler}"
},
"destinationCalendar": {
@@ -13017,6 +13021,11 @@
"description": "The time zone of the attendee.",
"example": "America/New_York"
},
"phoneNumber": {
"type": "string",
"description": "The phone number of the attendee in international format.",
"example": "+919876543210"
},
"language": {
"type": "string",
"enum": [
@@ -13068,7 +13077,7 @@
"default": "en"
}
},
"required": ["name", "email", "timeZone"]
"required": ["name", "timeZone"]
},
"CreateBookingInput_2024_08_13": {
"type": "object",
@@ -13628,6 +13637,10 @@
"type": "boolean",
"example": false
},
"phoneNumber": {
"type": "string",
"example": "+1234567890"
},
"seatUid": {
"type": "string",
"example": "3be561a9-31f1-4b8e-aefc-9d9a085f0dd1"