@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
104 lines (103 loc) • 6 kB
TypeScript
import { Arrivals, CheckoutTender, CustomerEndpoints, CustomerIdentifier, CustomerIdentify, Discount, Discounts, ItemTypes, Menu, Order, Orders, OrderCreatePos, OrderTender, OrderUpdate, OrderType, RequestedAt, RevenueCenter, SelectOptions, ServiceType, TicketUpdate, TicketsUpdate, TicketStatusUpdate, EntityType, KioskConfig, Store, Settings, InternalSettings, GiftCardCredit, GiftCardBalance, Employee, Punch, Employees, CashEvent, CashSummary, ErrorAlerts, ErrorAlert, OfflineAuths, OfflineAuthsResult, MenuColors, MenuPages, Surcharges, Taxes, CheckoutTenderPos, Refund, DeviceRead, OrderCreateSendReceipt, Tags, Allergens } from '@open-tender/types';
import { OrdersParams } from '../slices';
export interface InitAPI {
apiUrl: string;
posTerminalId?: number;
kdsTerminalId?: number;
}
declare class PosAPI {
apiUrl: string;
posTerminalId?: number;
kdsTerminalId?: number;
constructor(init: InitAPI);
request: <T>(endpoint: string, method?: string, data?: any) => Promise<T>;
post(endpoint: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
getKioskConfig(): Promise<KioskConfig>;
getStore(): Promise<Store>;
getSelectOptions(): Promise<SelectOptions>;
getItemTypes(): Promise<ItemTypes>;
getCardRead(): Promise<DeviceRead>;
postCardCancel(): Promise<null>;
getBarcodeRead(): Promise<DeviceRead>;
postBarcodeCancel(): Promise<null>;
getSettings<T>(posSettingType: EntityType): Promise<T>;
postSettings(posSettingType?: EntityType): Promise<Settings>;
getInternalSettings(): Promise<InternalSettings>;
postInternalSettings(data: InternalSettings): Promise<InternalSettings>;
postGiftCardCredit(data: GiftCardCredit, checkOnly?: boolean): Promise<GiftCardCredit>;
getGiftCardBalance(code: string | null, cardNumber?: string): Promise<GiftCardBalance>;
getEmployee(identifier: string | number): Promise<Employee>;
getCashier(): Promise<Employee>;
postCardAssign(employeeId: number, code: string): Promise<null>;
postCardUnassign(code: string): Promise<null>;
postTimePunch(data: Punch): Promise<null>;
getTimePunchesReport(businessDate?: string, employeeId?: number): Promise<Employees>;
postPrintShiftSummary(employeeId: number): Promise<null>;
postCashEvent(data: CashEvent): Promise<void>;
getCashSummary(employeeId: number): Promise<CashSummary>;
postPrintCashSummary(employeeId: number): Promise<null>;
getAlerts(): Promise<ErrorAlerts>;
getAlert(alertId: number): Promise<ErrorAlert>;
putAlert(alertId: number, data: ErrorAlert): Promise<ErrorAlert>;
deleteAlert(alertId: number): Promise<null>;
getOfflineAuths(): Promise<OfflineAuths>;
postOfflineAuths(): Promise<OfflineAuthsResult>;
getMenu(revenueCenterId: number, serviceType: ServiceType, requestedAt: RequestedAt): Promise<Menu>;
getMenuColors(): Promise<MenuColors>;
getMenuPages(): Promise<MenuPages>;
getDeals(): Promise<Discounts>;
getSurcharges(serviceType: ServiceType): Promise<Surcharges>;
getDiscounts(serviceType: ServiceType, orderType: OrderType): Promise<Discounts>;
getDiscount(name: string): Promise<Discount>;
getDiscountViaQRCode(code: string): Promise<Discount>;
getTaxes(serviceType: ServiceType, orderType: OrderType): Promise<Taxes>;
getRevenueCenter(revenueCenterId: number): Promise<RevenueCenter>;
postOpenCashDrawer(): Promise<null>;
postTender(orderId: string, data: CheckoutTenderPos): Promise<OrderTender>;
patchTender(orderId: string, index: number, data: CheckoutTenderPos): Promise<OrderTender>;
postTenderVoid(orderId: string, index: number): Promise<OrderTender>;
postCreditTender(orderId: string, data: CheckoutTenderPos): Promise<unknown>;
postChipDNATender(orderId: string, data: CheckoutTender): Promise<unknown>;
postChipDNACancel(): Promise<null>;
postChipDNATmsUpdate(): Promise<null>;
postIdentifyCustomer(data: CustomerIdentifier): Promise<CustomerIdentify>;
postSendReceipt(orderUuid: string, data: OrderCreateSendReceipt): Promise<void>;
getCustomer(customerId: number, endpoints: CustomerEndpoints): Promise<any>;
postOrderValidate(order: OrderCreatePos): Promise<Order>;
postOrder(order: OrderCreatePos): Promise<Order>;
deleteOrder(order: OrderCreatePos): Promise<Order>;
getOrders(args: OrdersParams): Promise<Orders>;
patchOrder(orderId: string, data: OrderUpdate): Promise<Order>;
postReceipt(orderId: string): Promise<Order>;
putTicketsStatus(orderId: string, data: TicketsUpdate): Promise<Order>;
postTicketsPrint(orderId: string, data?: TicketsUpdate): Promise<Order>;
postTicketsReset(orderId: string): Promise<Order>;
putTicketStatus(orderId: string, ticketNo: number, data?: TicketUpdate): Promise<Order>;
postTicketPrint(orderId: string, ticketNo: number, data?: TicketUpdate): Promise<Order>;
postTicketStatus(orderId: string, ticketNo: number, status: TicketStatusUpdate): Promise<Order>;
getArrivals(): Promise<Arrivals>;
postAcknowledgeArrival(orderId: string): Promise<Order>;
postRefundValidate(orderId: string, refund: Refund): Promise<Order>;
postRefund(orderId: string, refund: Refund): Promise<Order>;
getTags(): Promise<Tags>;
getAllergens(): Promise<Allergens>;
testPrint(): Promise<boolean>;
rateOrder(orderId: string, data: any): Promise<unknown>;
fetchPaymentConfigs(): Promise<{
integration: string;
is_testing: false;
merchant_api_key: string;
merchant_id: string;
merchant_password: string;
merchant_username: string;
offline_limit: string;
saved_cards: boolean;
signature_threshold: string | null;
freedompay_store_id: string;
card_stor_service_url: string;
client_selling_system: string;
client_selling_system_version: string;
freedompay_terminal_id: string;
}>;
}
export default PosAPI;