UNPKG

@open-tender/store

Version:

A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our in-store POS API

210 lines (209 loc) 10.3 kB
import { CheckoutTenderPos, CustomerIdentifier, CustomerIdentify, Discount, Money, Order, OrderCreateDiscount, OrderCreateDiscounts, OrderCreateGiftCards, OrderCreatePoints, OrderCreatePos, OrderCreateSurcharge, OrderCreateSurcharges, OrderTender, RequestError, RequestStatus, Taxes } from '@open-tender/types'; import { AppState } from '../app'; import { OrderState } from './order'; export interface CheckoutState { activating: RequestStatus; authorizing: RequestStatus; check: Order | null; completedOrder: Order | null; customer: CustomerIdentify | null; discounts: OrderCreateDiscounts; error: RequestError; giftCards: OrderCreateGiftCards; identifying: RequestStatus; isTaxExempt: boolean; loading: RequestStatus; madeFor: string | null; pendingDiscounts: boolean; phone: string | null; points: OrderCreatePoints; removing: RequestStatus; submitting: RequestStatus; surcharges: OrderCreateSurcharges; taxes: Taxes; tip: Money | null; validating: RequestStatus; rate: any | null; rating: RequestStatus; ratingError: RequestError; } export declare const prepareOrder: (order: OrderState, checkout: CheckoutState) => OrderCreatePos | null; export declare enum CheckoutActionType { AddPromoCode = "checkout/addPromoCode", AddTender = "checkout/addTender", RemoveTender = "checkout/removeTender", UpdateTender = "checkout/updateTender", UpdateCart = "checkout/updateCart", IdentifyCustomer = "checkout/identifyCustomer", CompleteChipDNA = "checkout/completeChipDNA", AddCreditTender = "checkout/addCreditTender", ValidatePosOrder = "checkout/validatePosOrder", SubmitPosOrder = "checkout/submitPosOrder", VoidPosOrder = "checkout/voidPosOrder", ActivateGiftCards = "checkout/activateGiftCards", RateOrder = "checkout/rateOrder" } export declare const addPromoCode: import("@reduxjs/toolkit").AsyncThunk<Discount, string, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const addTender: import("@reduxjs/toolkit").AsyncThunk<void | OrderTender, CheckoutTenderPos, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const removeTender: import("@reduxjs/toolkit").AsyncThunk<void | OrderTender, number, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const updateTender: import("@reduxjs/toolkit").AsyncThunk<void | OrderTender, void, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const updateCart: import("@reduxjs/toolkit").AsyncThunk<void, any, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export interface IdentifyCustomer { data: CustomerIdentifier; callback?: () => void; showError?: boolean; } export declare const identifyCustomer: import("@reduxjs/toolkit").AsyncThunk<void | CustomerIdentify, IdentifyCustomer, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const completeChipDNA: import("@reduxjs/toolkit").AsyncThunk<any, string | null, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; interface FreedomPayRequest { transaction_id: string; cardholder_name: string; card_type: string; masked_pan: string; authorization_code: string; entry_mode: string; merchant_id: string; terminal_id: string; } export declare const addCreditTender: import("@reduxjs/toolkit").AsyncThunk<any, { freedompay: FreedomPayRequest; }, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const validatePosOrder: import("@reduxjs/toolkit").AsyncThunk<void | Order, void, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const submitPosOrder: import("@reduxjs/toolkit").AsyncThunk<void | Order, void, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const voidPosOrder: import("@reduxjs/toolkit").AsyncThunk<void | Order, void, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const activateGiftCards: import("@reduxjs/toolkit").AsyncThunk<any, any, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const rateOrder: import("@reduxjs/toolkit").AsyncThunk<any, any, { state: AppState; rejectValue: RequestError; dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined; extra?: unknown; serializedErrorType?: unknown; pendingMeta?: unknown; fulfilledMeta?: unknown; rejectedMeta?: unknown; }>; export declare const resetPosCheckout: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetPosCheckout">, resetPosCheck: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetPosCheck">, resetPosCheckError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/resetPosCheckError">, handleCheckoutError: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/handleCheckoutError">, addGiftCard: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/addGiftCard">, removeGiftCard: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/removeGiftCard">, addSurcharge: import("@reduxjs/toolkit").ActionCreatorWithPayload<OrderCreateSurcharge, "checkout/addSurcharge">, removeSurcharge: import("@reduxjs/toolkit").ActionCreatorWithPayload<OrderCreateSurcharge, "checkout/removeSurcharge">, addDiscount: import("@reduxjs/toolkit").ActionCreatorWithPayload<OrderCreateDiscount & { index?: number | undefined; }, "checkout/addDiscount">, removeDiscount: import("@reduxjs/toolkit").ActionCreatorWithPayload<OrderCreateDiscount & { index?: number | undefined; }, "checkout/removeDiscount">, addTax: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/addTax">, removeTax: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/removeTax">, addTip: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/addTip">, removeTip: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/removeTip">, setTaxExempt: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setTaxExempt">, addCustomer: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/addCustomer">, removeCustomer: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"checkout/removeCustomer">, setPendingDiscounts: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setPendingDiscounts">, setPoints: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setPoints">, setMadeFor: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setMadeFor">, setPhone: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "checkout/setPhone">; export declare const selectPosCheckout: (state: AppState) => CheckoutState; export declare const selectPosCheck: (state: AppState) => Order | null; export declare const selectPosCustomer: (state: AppState) => CustomerIdentify | null; export declare const selectPosCustomerName: (state: AppState) => string | null; export declare const selectPosCustomerNameShort: (state: AppState) => string | null; export declare const selectPosPendingDiscounts: (state: AppState) => boolean; export declare const selectPosAmountDue: (state: AppState) => `${number}.${number}` | null; export declare const selectPosCheckSubtotal: (state: AppState) => `${number}.${number}`; export declare const selectPosCheckTotal: (state: AppState) => `${number}.${number}`; export declare const selectPosCheckTenders: (state: AppState) => import("@open-tender/types").OrderTenders; export declare const checkoutReducer: import("redux").Reducer<CheckoutState>; export {};