179 lines
5.2 KiB
TypeScript
179 lines
5.2 KiB
TypeScript
import BedBunkExtraIcon from "@scandic-hotels/design-system/Icons/BedBunkExtraIcon"
|
|
import BedGenericIcon from "@scandic-hotels/design-system/Icons/BedGenericIcon"
|
|
import BedKingIcon from "@scandic-hotels/design-system/Icons/BedKingIcon"
|
|
import BedPullOutExtraIcon from "@scandic-hotels/design-system/Icons/BedPullOutExtraIcon"
|
|
import BedQueenIcon from "@scandic-hotels/design-system/Icons/BedQueenIcon"
|
|
import BedSingleIcon from "@scandic-hotels/design-system/Icons/BedSingleIcon"
|
|
import BedSofaExtraIcon from "@scandic-hotels/design-system/Icons/BedSofaExtraIcon"
|
|
import BedTwinIcon from "@scandic-hotels/design-system/Icons/BedTwinIcon"
|
|
import BedWallExtraIcon from "@scandic-hotels/design-system/Icons/BedWallExtraIcon"
|
|
|
|
import type { IconProps } from "@scandic-hotels/design-system/Icons"
|
|
|
|
export enum BookingStatusEnum {
|
|
BookingCompleted = "BookingCompleted",
|
|
Cancelled = "Cancelled",
|
|
CheckedOut = "CheckedOut",
|
|
ConfirmedInScorpio = "ConfirmedInScorpio",
|
|
CreatedInOhip = "CreatedInOhip",
|
|
PaymentAuthorized = "PaymentAuthorized",
|
|
PaymentCancelled = "PaymentCancelled",
|
|
PaymentError = "PaymentError",
|
|
PaymentFailed = "PaymentFailed",
|
|
PaymentRegistered = "PaymentRegistered",
|
|
PaymentSucceeded = "PaymentSucceeded",
|
|
PendingAcceptPriceChange = "PendingAcceptPriceChange",
|
|
PendingGuarantee = "PendingGuarantee",
|
|
PendingPayment = "PendingPayment",
|
|
}
|
|
|
|
export enum ChildBedTypeEnum {
|
|
Crib = "Crib",
|
|
ExtraBed = "ExtraBed",
|
|
ParentsBed = "ParentsBed",
|
|
Unknown = "Unknown",
|
|
}
|
|
|
|
export const REDEMPTION = "redemption"
|
|
export const SEARCHTYPE = "searchtype"
|
|
|
|
export const MEMBERSHIP_FAILED_ERROR = "MembershipFailedError"
|
|
|
|
export enum PaymentMethodEnum {
|
|
card = "card",
|
|
swish = "swish",
|
|
vipps = "vipps",
|
|
mobilePay = "mobilePay",
|
|
applePay = "applePay",
|
|
googlePay = "googlePay",
|
|
alipayPlus = "alipayPlus",
|
|
weChatPay = "weChatPay",
|
|
payPal = "payPal",
|
|
klarna = "klarna",
|
|
americanExpress = "americanExpress",
|
|
dankort = "dankort",
|
|
dinersClub = "dinersClub",
|
|
jcb = "jcb",
|
|
masterCard = "masterCard",
|
|
visa = "visa",
|
|
maestro = "maestro",
|
|
chinaUnionPay = "chinaUnionPay",
|
|
discover = "discover",
|
|
}
|
|
|
|
export enum BookingErrorCodeEnum {
|
|
InternalError = "InternalError",
|
|
ReservationError = "ReservationError",
|
|
AvailabilityError = "AvailabilityError",
|
|
BookingStatusNotFound = "BookingStatusNotFound",
|
|
TransactionAbandoned = "TransactionAbandoned",
|
|
TransactionCancelled = "TransactionCancelled",
|
|
TransactionFailed = "TransactionFailed",
|
|
BookingStateError = "BookingStateError",
|
|
MembershipFailedError = "MembershipFailedError",
|
|
}
|
|
|
|
export const PAYMENT_METHOD_TITLES: Record<
|
|
keyof typeof PaymentMethodEnum,
|
|
string
|
|
> = {
|
|
card: "Credit card",
|
|
swish: "Swish",
|
|
vipps: "Vipps",
|
|
mobilePay: "MobilePay",
|
|
applePay: "Apple Pay",
|
|
googlePay: "Google Pay",
|
|
alipayPlus: "Alipay+",
|
|
weChatPay: "WeChat Pay",
|
|
payPal: "PayPal",
|
|
klarna: "Klarna",
|
|
americanExpress: "American Express",
|
|
dankort: "Dankort",
|
|
dinersClub: "Diners Club",
|
|
jcb: "JCB",
|
|
masterCard: "Mastercard",
|
|
visa: "Visa",
|
|
maestro: "Maestro",
|
|
chinaUnionPay: "China UnionPay",
|
|
discover: "Discover",
|
|
}
|
|
|
|
export const PAYMENT_METHOD_ICONS: Record<
|
|
keyof typeof PaymentMethodEnum,
|
|
string
|
|
> = {
|
|
card: "/_static/icons/payment/card-generic.svg",
|
|
swish: "/_static/icons/payment/swish.svg",
|
|
vipps: "/_static/icons/payment/vipps.svg",
|
|
mobilePay: "/_static/icons/payment/mobilepay.svg",
|
|
applePay: "/_static/icons/payment/apple-pay.svg",
|
|
googlePay: "/_static/icons/payment/google-pay.svg",
|
|
alipayPlus: "/_static/icons/payment/alipay-plus.svg",
|
|
weChatPay: "/_static/icons/payment/wechat-pay.svg",
|
|
payPal: "/_static/icons/payment/paypal.svg",
|
|
klarna: "/_static/icons/payment/klarna.svg",
|
|
americanExpress: "/_static/icons/payment/american-express.svg",
|
|
dankort: "/_static/icons/payment/dankort.svg",
|
|
dinersClub: "/_static/icons/payment/diners-club.svg",
|
|
jcb: "/_static/icons/payment/jcb.svg",
|
|
masterCard: "/_static/icons/payment/mastercard.svg",
|
|
visa: "/_static/icons/payment/visa.svg",
|
|
maestro: "/_static/icons/payment/maestro.svg",
|
|
chinaUnionPay: "/_static/icons/payment/china-union-pay.svg",
|
|
discover: "/_static/icons/payment/discover.svg",
|
|
}
|
|
|
|
export enum BedTypeEnum {
|
|
King = "King",
|
|
Queen = "Queen",
|
|
Single = "Single",
|
|
Twin = "Twin",
|
|
Other = "Other",
|
|
}
|
|
|
|
export enum ExtraBedTypeEnum {
|
|
SofaBed = "SofaBed",
|
|
WallBed = "WallBed",
|
|
PullOutBed = "PullOutBed",
|
|
BunkBed = "BunkBed",
|
|
}
|
|
|
|
type BedTypes = keyof typeof BedTypeEnum | keyof typeof ExtraBedTypeEnum
|
|
|
|
export const BED_TYPE_ICONS: Record<
|
|
BedTypes,
|
|
(props: IconProps) => JSX.Element
|
|
> = {
|
|
King: BedKingIcon,
|
|
Queen: BedQueenIcon,
|
|
Single: BedSingleIcon,
|
|
Twin: BedTwinIcon,
|
|
|
|
SofaBed: BedSofaExtraIcon,
|
|
WallBed: BedWallExtraIcon,
|
|
BunkBed: BedBunkExtraIcon,
|
|
PullOutBed: BedPullOutExtraIcon,
|
|
Other: BedGenericIcon,
|
|
}
|
|
|
|
export enum CancellationRuleEnum {
|
|
CancellableBefore6PM = "CancellableBefore6PM",
|
|
NonCancellable = "NonCancellable",
|
|
Changeable = "Changeable",
|
|
}
|
|
|
|
export enum PaymentCallbackStatusEnum {
|
|
Success = "success",
|
|
Error = "error",
|
|
Cancel = "cancel",
|
|
}
|
|
|
|
export function combineRegExps(regexps: RegExp[], flags = "") {
|
|
return new RegExp(regexps.map((r) => r.source).join("|"), flags)
|
|
}
|
|
|
|
export const rateTypeRegex = {
|
|
ARB: /(^B[a-z]{3}\d{6}$)/,
|
|
VOUCHER: /(^VO[0-9a-z]*$)/,
|
|
}
|