mirror of
https://github.com/hanzoai/calendar.git
synced 2026-10-30 14:46:43 +00:00
* feat: skip platform billing for non-platform-managed users - Add isPlatformManaged to user select in saveBooking and findBookingQuery - Update 2024-04-15 booking controller to check isPlatformManaged before billing - Update 2024-08-13 bookings service billBooking methods to check isPlatformManaged - Update buildDryRunBooking to include isPlatformManaged in user object Co-Authored-By: [email protected] <[email protected]> * test: update buildDryRunBooking test to include uuid and isPlatformManaged fields Co-Authored-By: [email protected] <[email protected]> * refactor: simplify to only check isPlatformManaged in normal booking flow Co-Authored-By: [email protected] <[email protected]> * test: add E2E tests for billing behavior based on isPlatformManaged flag Co-Authored-By: [email protected] <[email protected]> * chore: only trigger platform billing for platform user bookingd * test: add E2E tests for cancel and recurring booking billing behavior Co-Authored-By: [email protected] <[email protected]> * fix: correct expected status code for cancel booking endpoint (201 instead of 200) Co-Authored-By: [email protected] <[email protected]> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
37 lines
985 B
TypeScript
37 lines
985 B
TypeScript
/**
|
|
* Domain types for Booking Cancellation Service
|
|
* These types are framework-agnostic and contain only the data required for booking cancellation operations
|
|
*/
|
|
import type { z } from "zod";
|
|
|
|
import type { bookingCancelInput } from "@calcom/prisma/zod-utils";
|
|
|
|
/**
|
|
* The booking data required for cancellation
|
|
*/
|
|
export type CancelRegularBookingData = z.infer<typeof bookingCancelInput>;
|
|
|
|
/**
|
|
* Additional metadata for booking cancellation, typically used for platform integrations
|
|
*/
|
|
export type CancelBookingMeta = {
|
|
userId?: number;
|
|
platformClientId?: string;
|
|
platformRescheduleUrl?: string;
|
|
platformCancelUrl?: string;
|
|
platformBookingUrl?: string;
|
|
arePlatformEmailsEnabled?: boolean;
|
|
};
|
|
|
|
/**
|
|
* The response returned after attempting to cancel a booking
|
|
*/
|
|
export type HandleCancelBookingResponse = {
|
|
success: boolean;
|
|
message: string;
|
|
onlyRemovedAttendee: boolean;
|
|
bookingId: number;
|
|
bookingUid: string;
|
|
isPlatformManagedUserBooking: boolean;
|
|
};
|