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

104 lines (103 loc) 6 kB
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;