{ "version": 3, "sources": ["src/app/cart/cart.model.ts"], "sourcesContent": ["import { ItemWithMetadata } from 'src/app/models/item';\r\nimport { GUID } from '../core/types';\r\nimport { TariffEnum, UnitEnum } from '../models/item';\r\nimport { ItemDetailsForTree } from '../root-store/object-tree-store/object-tree.models';\r\n\r\nexport interface CartItem {\r\n allowCopy: boolean\r\n allowDelete: boolean\r\n allowEdit: boolean\r\n allowEditOnStatusPage?: boolean\r\n allowSorting: boolean\r\n permissionChangeReservation: boolean\r\n allowUsage: boolean\r\n articleNumber: string | number\r\n itemUnit: UnitEnum | null\r\n itemTariff: TariffEnum | null\r\n availabilityPlanId: number\r\n comment: string\r\n duration: string\r\n endTimeRaw?: string\r\n preparationMinutes?: number\r\n followUpMinutes?: number\r\n externalComment: string\r\n genericFields: Array<{\r\n fieldId: number\r\n fieldName: string\r\n title: string\r\n value: string | number\r\n }>\r\n isAccepted: boolean\r\n isPrintable: boolean\r\n isProcessed: boolean\r\n isReservationGroupChild: boolean\r\n itemId?: number\r\n itemName: string\r\n priceExclTax: number\r\n priceInclTax: number\r\n priceFormatted: string\r\n manualPrice?: boolean\r\n priceOnRequest: boolean\r\n printCol1: string\r\n printCol2: string\r\n printCol3: string\r\n recurrence: string\r\n isRecurrence: boolean\r\n recurrenceGroupId: number\r\n availability?: AvailabilityCheckResult\r\n reservationGroupChildText: string\r\n reservationGroupId: number\r\n reservationId: number\r\n startTimeRaw: string\r\n when: string\r\n quantity?: number\r\n entryType: EntryType\r\n collapseRecurrence?: boolean\r\n recurrenceHumanString?: string\r\n occurrencesCount?: number\r\n priceCalculation?: string\r\n changeRequestByCustomer?: string\r\n senderName?: string\r\n recipientName?: string\r\n message?: string\r\n couponCode?: string\r\n}\r\n\r\nexport interface AvailabilityCheckResult {\r\n available: boolean\r\n availableQuantity: number | null\r\n bookedQuantity: number | null\r\n itemId: number\r\n itemQuantity: number | null\r\n overlappings: {\r\n id: number | string\r\n start: string\r\n end: string\r\n quantity: number | null\r\n }[]\r\n}\r\n\r\nexport enum EntryType {\r\n Additional = 'Additional',\r\n Block = 'Block',\r\n BlockInfo = 'Block - Info',\r\n Discount = 'Discount',\r\n RecurrenceGroup = 'RecurrenceGroup',\r\n Reservation = 'Reservation',\r\n ReservationInfo = 'Reservation - Info',\r\n GiftCard = 'GiftCard'\r\n}\r\n\r\nexport interface Cart {\r\n customerGroupId: number\r\n customerGroupName: string\r\n items: CartItem[]\r\n price: CartTotalPrice\r\n priceHint: string\r\n hasOrder: boolean\r\n lastModified: string\r\n isBlockCart: boolean\r\n customerGroups: { id: number; name: string }[]\r\n recommendedItems?: ItemWithMetadata[]\r\n appliedGiftCards?: AppliedGiftCard[]\r\n allowAddEditItems: boolean\r\n}\r\n\r\nexport interface AppliedGiftCard {\r\n couponCode: string\r\n amountCanBeUsed: number\r\n remainingAmount: number\r\n hint?: string\r\n}\r\n\r\nexport interface CartTotalPrice {\r\n subTotalTax: number\r\n subTotalInclTax: number\r\n taxRates?: { [key: number]: number }\r\n totalTax: number\r\n totalInclTax: number\r\n\r\n acceptedSubTotalInclTax?: number\r\n acceptedSubTotalTax?: number\r\n acceptedTaxRates?: { [key: number]: number }\r\n acceptedTotalInclTax?: number\r\n acceptedTotalTax?: number\r\n}\r\n\r\nexport interface SaveReservationResult {\r\n succeeded: boolean\r\n error?: string\r\n errorDetails?: string\r\n created?: number\r\n}\r\n\r\n\r\nexport type CartMode = 'Default' | 'Checkout' | 'Admin' | 'Status' | 'SelectReservations'\r\n\r\nexport interface CartItemExtended extends CartItem {\r\n item?: ItemDetailsForTree\r\n iCalUrl: string\r\n changeRequestByCustomerTyped?: ReservationChangeRequest\r\n previewUrl?: string\r\n}\r\n\r\ninterface ReservationChangeRequest {\r\n action: ChangeRequestAction\r\n newOfReservationId?: number\r\n newReservation?: {\r\n start: string\r\n end: string\r\n newReservationId: number\r\n }\r\n}\r\n\r\nenum ChangeRequestAction {\r\n Delete = 'Delete',\r\n ChangeWhen = 'ChangeWhen',\r\n New = 'New'\r\n}\r\n\r\nexport interface OrderBase {\r\n customer: Customer\r\n additionalNotes: string\r\n purpose: string\r\n adminComment: string\r\n paymentMethod: string\r\n orderFields: { [key: string]: string }\r\n}\r\n\r\nexport interface PlaceOrder extends OrderBase {\r\n mailToCustomer?: boolean\r\n internalNotes: string\r\n}\r\n\r\nexport interface PlaceOrderResult {\r\n succeeded: boolean\r\n error: string\r\n displayText: string\r\n mailToCustomerSent: boolean\r\n debugNotes: string\r\n orderId: GUID\r\n payment?: PostProcessPaymentResult\r\n}\r\n\r\nexport interface PostProcessPaymentResult {\r\n integration: PspIntegration\r\n redirectUrl?: string\r\n postData?: string\r\n}\r\n\r\nexport enum PspIntegration {\r\n Redirect = 'Redirect',\r\n PostData = 'PostData'\r\n}\r\n\r\nexport interface Order extends OrderBase {\r\n orderNumber: number\r\n status: ReservationSetStatus\r\n printReceiptUrl: string\r\n printReceiptPdfUrl: string\r\n userHasPermissionToCompleteOrder: boolean\r\n oldId?: number\r\n readonly: boolean\r\n exportedOn?: string\r\n paymentStatus: PaymentStatus\r\n paidDate: string\r\n paidAmount: number\r\n payment?: PostProcessPaymentResult\r\n notes: OrderNote[]\r\n}\r\n\r\nexport enum PaymentStatus {\r\n Pending = 'Pending',\r\n Paid = 'Paid'\r\n}\r\n\r\nexport interface OrderNote {\r\n id: number\r\n created?: string\r\n createdByUserMail?: string\r\n createdByUserName?: string\r\n modified: string\r\n modifiedByUserMail?: string\r\n modifiedByUserName?: string\r\n message: string\r\n completed: boolean\r\n allowEdit: boolean\r\n allowEditByEveryone: boolean\r\n}\r\n\r\nexport interface OrderLog {\r\n id: number\r\n created: string\r\n createdByUserName?: string\r\n createdByUserFullName?: string\r\n shortMessage: string\r\n fullMessage: any\r\n type: OrderLogType\r\n}\r\n\r\nexport enum OrderLogType {\r\n Status = 'Status',\r\n Mail = 'Mail',\r\n Payment = 'Payment'\r\n}\r\n\r\nexport enum ReservationSetStatus {\r\n Approved = 'Approved',\r\n Canceled = 'Canceled',\r\n Closed = 'Closed',\r\n Open = 'Open',\r\n Rescinded = 'Rescinded'\r\n}\r\n\r\nexport interface UserModelBase {\r\n firstName: string | null\r\n lastName: string | null\r\n email: string\r\n phone: string | null\r\n password?: string | null\r\n}\r\n\r\nexport interface Customer extends UserModelBase {\r\n greeting?: string\r\n company: string\r\n street: string\r\n zip: string\r\n city: string\r\n}\r\n\r\nexport interface GiftCardValidationModel {\r\n balance?: number\r\n status: GiftCardValidationStatus\r\n}\r\n\r\nexport enum GiftCardValidationStatus {\r\n Valid = 'Valid',\r\n Invalid = 'Invalid',\r\n Expired = 'Expired',\r\n NotEnoughBalance = 'NotEnoughBalance'\r\n}\r\n"], "mappings": "AA+EA,IAAYA,EAAZ,SAAYA,EAAS,CACnBA,OAAAA,EAAA,WAAA,aACAA,EAAA,MAAA,QACAA,EAAA,UAAA,eACAA,EAAA,SAAA,WACAA,EAAA,gBAAA,kBACAA,EAAA,YAAA,cACAA,EAAA,gBAAA,qBACAA,EAAA,SAAA,WARUA,CASZ,EATYA,GAAS,CAAA,CAAA,EAmIrB,IAAYC,EAAZ,SAAYA,EAAa,CACvBA,OAAAA,EAAA,QAAA,UACAA,EAAA,KAAA,OAFUA,CAGZ,EAHYA,GAAa,CAAA,CAAA,EAmCzB,IAAYC,EAAZ,SAAYA,EAAoB,CAC9BA,OAAAA,EAAA,SAAA,WACAA,EAAA,SAAA,WACAA,EAAA,OAAA,SACAA,EAAA,KAAA,OACAA,EAAA,UAAA,YALUA,CAMZ,EANYA,GAAoB,CAAA,CAAA", "names": ["EntryType", "PaymentStatus", "ReservationSetStatus"] }