@deliverart/sdk-js-sales-mode

中文文档
3.0.1发布于 2026/11/11TypeScriptESM + CJS近 30 天下载 3995

Deliverart JavaScript SDK for Sales Modes Management

原始使用文档
文档目录23 节
  1. Installation
  2. Exported Types
  3. Core Types
  4. Sales Mode Types
  5. IRI Types
  6. Available Requests
  7. CreateSalesMode
  8. GetSalesModes
  9. GetSalesModeDetails
  10. UpdateSalesMode
  11. DeleteSalesMode
  12. Complete Usage Example
  13. License
  14. Installation
  15. Exported Types
  16. Core Types
  17. IRI Types
  18. Available Requests
  19. Point of Sale Management
  20. Point of Sale Users
  21. Time Overrides (Special Hours)
  22. Complete Usage Example
  23. License

@deliverart/sdk-js-sales-mode

Sales mode management package for the DeliverArt JavaScript SDK.

Installation

npm install @deliverart/sdk-js-sales-mode @deliverart/sdk-js-core

Exported Types

Core Types

  • SalesMode - Sales mode configuration
  • SalesModeDetails - Extended sales mode with settings

Sales Mode Types

Sales modes represent different ways customers can order:

  • Delivery
  • Takeaway
  • Dine-in
  • Reservation

IRI Types

  • SalesModeIri - Sales mode IRI (/sales_modes/:id)

Available Requests

CreateSalesMode

import { CreateSalesMode } from '@deliverart/sdk-js-sales-mode';

const salesMode = await sdk.call(new CreateSalesMode({
  name: 'Delivery',
  pointOfSale: '/point_of_sales/123',
  type: 'DELIVERY',
  enabled: true,
  settings: {
    minOrderAmount: 1000, // 10 EUR in cents
    deliveryRadius: 5000, // 5km in meters
    estimatedDeliveryTime: 30 // minutes
  }
}));

Input Parameters:

  • name: string (required) - Sales mode name
  • pointOfSale: string (required) - Point of sale IRI
  • type: string (required) - Sales mode type
  • enabled: boolean (required) - Enable/disable sales mode
  • settings?: object (optional) - Mode-specific settings

GetSalesModes

import { GetSalesModes } from '@deliverart/sdk-js-sales-mode';

const salesModes = await sdk.call(new GetSalesModes({
  query: {
    pointOfSale: '/point_of_sales/123',
    enabled: true
  }
}));

Query Parameters:

  • pointOfSale?: string - Filter by point of sale
  • type?: string - Filter by type
  • enabled?: boolean - Filter by enabled status
  • page?: number - Page number

GetSalesModeDetails

import { GetSalesModeDetails } from '@deliverart/sdk-js-sales-mode';

const salesMode = await sdk.call(new GetSalesModeDetails('mode-123'));

UpdateSalesMode

import { UpdateSalesMode } from '@deliverart/sdk-js-sales-mode';

const updated = await sdk.call(new UpdateSalesMode('mode-123', {
  enabled: false,
  settings: {
    minOrderAmount: 1500
  }
}));

DeleteSalesMode

import { DeleteSalesMode } from '@deliverart/sdk-js-sales-mode';

await sdk.call(new DeleteSalesMode('mode-123'));

Complete Usage Example

import { sdk } from './lib/sdk';
import {
  CreateSalesMode,
  GetSalesModes,
  UpdateSalesMode
} from '@deliverart/sdk-js-sales-mode';

async function salesModeSetup() {
  const posId = '/point_of_sales/123';

  // Create delivery mode
  const delivery = await sdk.call(new CreateSalesMode({
    name: 'Delivery',
    pointOfSale: posId,
    type: 'DELIVERY',
    enabled: true,
    settings: {
      minOrderAmount: 1000,
      deliveryRadius: 5000,
      estimatedDeliveryTime: 30,
      deliveryFee: 300
    }
  }));

  // Create takeaway mode
  const takeaway = await sdk.call(new CreateSalesMode({
    name: 'Takeaway',
    pointOfSale: posId,
    type: 'TAKEAWAY',
    enabled: true,
    settings: {
      minOrderAmount: 500,
      estimatedPreparationTime: 15
    }
  }));

  // Get all active modes
  const activeModes = await sdk.call(new GetSalesModes({
    query: {
      pointOfSale: posId,
      enabled: true
    }
  }));

  console.log(`Active sales modes: ${activeModes.data.length}`);

  // Temporarily disable delivery
  await sdk.call(new UpdateSalesMode(delivery.id, {
    enabled: false
  }));
}

License

MIT

@deliverart/sdk-js-point-of-sale

Point of sale management package for the DeliverArt JavaScript SDK.

Installation

npm install @deliverart/sdk-js-point-of-sale @deliverart/sdk-js-core

Exported Types

Core Types

  • PointOfSale - Point of sale information
  • PointOfSaleDetails - Extended POS with opening hours and settings
  • PointOfSaleUser - User assigned to point of sale
  • OpeningTime - Opening hours configuration
  • PointOfSaleTimeOverride - Special hours (holidays, events)

IRI Types

  • PointOfSaleIri - Point of sale IRI (/point_of_sales/:id)
  • PointOfSaleUserIri - POS user IRI (/point_of_sale_users/:id)
  • PointOfSaleTimeOverrideIri - Time override IRI (/point_of_sale_time_overrides/:id)

Available Requests

Point of Sale Management

CreatePointOfSale

import { CreatePointOfSale } from '@deliverart/sdk-js-point-of-sale';

const pos = await sdk.call(new CreatePointOfSale({
  name: 'Main Restaurant',
  company: '/companies/123',
  address: {
    street: 'Via Restaurant 1',
    city: 'Milano',
    postalCode: '20100',
    country: 'IT',
    location: {
      latitude: 45.464664,
      longitude: 9.188540
    }
  },
  phoneNumber: '+39021234567',
  email: '[email protected]',
  openingTimes: [
    {
      dayOfWeek: 1, // Monday
      openTime: '11:00',
      closeTime: '23:00'
    },
    {
      dayOfWeek: 2, // Tuesday
      openTime: '11:00',
      closeTime: '23:00'
    }
  ],
  enabled: true
}));

Input Parameters:

  • name: string (required) - Point of sale name
  • company: string (required) - Company IRI
  • address: Address (required) - Location address
  • phoneNumber: string (required) - Contact phone
  • email: string (required) - Contact email
  • openingTimes: OpeningTime[] (optional) - Weekly opening hours
  • enabled: boolean (optional) - Enable/disable POS
  • settings?: object (optional) - Additional settings

GetPointOfSales

import { GetPointOfSales } from '@deliverart/sdk-js-point-of-sale';

const pointOfSales = await sdk.call(new GetPointOfSales({
  query: {
    company: '/companies/123',
    enabled: true,
    'address.city': 'Milano',
    page: 1
  }
}));

Query Parameters:

  • company?: string - Filter by company
  • enabled?: boolean - Filter by enabled status
  • address.city?: string - Filter by city
  • address.postalCode?: string - Filter by postal code
  • page?: number - Page number

GetPointOfSaleDetails

import { GetPointOfSaleDetails } from '@deliverart/sdk-js-point-of-sale';

const pos = await sdk.call(new GetPointOfSaleDetails('pos-123'));

UpdatePointOfSale

import { UpdatePointOfSale } from '@deliverart/sdk-js-point-of-sale';

const updated = await sdk.call(new UpdatePointOfSale('pos-123', {
  name: 'Updated Restaurant Name',
  enabled: false
}));

DeletePointOfSale

import { DeletePointOfSale } from '@deliverart/sdk-js-point-of-sale';

await sdk.call(new DeletePointOfSale('pos-123'));

Point of Sale Users

CreatePointOfSaleUser

import { CreatePointOfSaleUser } from '@deliverart/sdk-js-point-of-sale';

const posUser = await sdk.call(new CreatePointOfSaleUser({
  pointOfSale: '/point_of_sales/123',
  user: '/users/456',
  role: 'MANAGER'
}));

Input Parameters:

  • pointOfSale: string (required) - Point of sale IRI
  • user: string (required) - User IRI
  • role: string (required) - Role (e.g., 'MANAGER', 'STAFF', 'DRIVER')

GetPointOfSaleUsers

import { GetPointOfSaleUsers } from '@deliverart/sdk-js-point-of-sale';

const users = await sdk.call(new GetPointOfSaleUsers({
  query: {
    pointOfSale: '/point_of_sales/123',
    role: 'MANAGER'
  }
}));

Time Overrides (Special Hours)

CreatePointOfSaleTimeOverride

import { CreatePointOfSaleTimeOverride } from '@deliverart/sdk-js-point-of-sale';

const override = await sdk.call(new CreatePointOfSaleTimeOverride({
  pointOfSale: '/point_of_sales/123',
  date: '2024-12-25', // Christmas
  openTime: null, // Closed
  closeTime: null,
  reason: 'Christmas Day - Closed'
}));

Input Parameters:

  • pointOfSale: string (required) - Point of sale IRI
  • date: string (required) - Date (YYYY-MM-DD)
  • openTime: string | null (required) - Opening time or null if closed
  • closeTime: string | null (required) - Closing time or null if closed
  • reason?: string (optional) - Override reason

GetPointOfSaleTimeOverrides

import { GetPointOfSaleTimeOverrides } from '@deliverart/sdk-js-point-of-sale';

const overrides = await sdk.call(new GetPointOfSaleTimeOverrides({
  query: {
    pointOfSale: '/point_of_sales/123',
    'date[after]': '2024-12-01',
    'date[before]': '2024-12-31'
  }
}));

Complete Usage Example

import { sdk } from './lib/sdk';
import {
  CreatePointOfSale,
  CreatePointOfSaleUser,
  CreatePointOfSaleTimeOverride,
  UpdatePointOfSale
} from '@deliverart/sdk-js-point-of-sale';

async function setupPointOfSale() {
  // Create point of sale
  const pos = await sdk.call(new CreatePointOfSale({
    name: 'Pizzeria da Mario',
    company: '/companies/123',
    address: {
      street: 'Via Napoli 10',
      city: 'Milano',
      postalCode: '20100',
      country: 'IT',
      location: {
        latitude: 45.464664,
        longitude: 9.188540
      }
    },
    phoneNumber: '+39021234567',
    email: '[email protected]',
    openingTimes: [
      { dayOfWeek: 1, openTime: '11:00', closeTime: '23:00' },
      { dayOfWeek: 2, openTime: '11:00', closeTime: '23:00' },
      { dayOfWeek: 3, openTime: '11:00', closeTime: '23:00' },
      { dayOfWeek: 4, openTime: '11:00', closeTime: '23:00' },
      { dayOfWeek: 5, openTime: '11:00', closeTime: '23:30' },
      { dayOfWeek: 6, openTime: '11:00', closeTime: '23:30' },
      { dayOfWeek: 0, openTime: '12:00', closeTime: '22:00' }
    ],
    enabled: true
  }));

  // Assign manager
  await sdk.call(new CreatePointOfSaleUser({
    pointOfSale: `/point_of_sales/${pos.id}`,
    user: '/users/456',
    role: 'MANAGER'
  }));

  // Add holiday closure
  await sdk.call(new CreatePointOfSaleTimeOverride({
    pointOfSale: `/point_of_sales/${pos.id}`,
    date: '2024-12-25',
    openTime: null,
    closeTime: null,
    reason: 'Christmas Day'
  }));

  // Temporarily disable
  await sdk.call(new UpdatePointOfSale(pos.id, {
    enabled: false
  }));
}

License

MIT

版本与发布记录

@deliverart/sdk-js-sales-mode 共发布 324 个版本,首次发布于 2025/06/29;过去 12 个月发布了 232 个版本。

版本发布日期距今
3.0.1latest2026/11/111 天前
3.0.02026/11/092 天前
3.0.0-dev.1dev2026/11/092 天前
2.48.12026/10/2518 天前
2.48.02026/10/2319 天前
2.47.02026/10/2319 天前

关于 @deliverart/sdk-js-sales-mode 的常见问题

@deliverart/sdk-js-sales-mode 是什么?

Deliverart JavaScript SDK for Sales Modes Management

如何安装 @deliverart/sdk-js-sales-mode?

在项目目录运行 npm install @deliverart/sdk-js-sales-mode,或使用 pnpm add / yarn add / bun add。

@deliverart/sdk-js-sales-mode 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@deliverart/sdk-js-sales-mode 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@deliverart/sdk-js-sales-mode 可以商用吗?

@deliverart/sdk-js-sales-mode 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@deliverart/sdk-js-sales-mode 的下载量有多少?

根据 npm 官方下载统计,@deliverart/sdk-js-sales-mode 在 2026/10/12 – 2026/11/10 这 30 天内被下载 3,995 次,日均约 133 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@deliverart/sdk-js-sales-mode 还在维护吗?

最新版本 3.0.1 发布于 2026/11/11(1 天前);至今共发布 324 个版本,其中过去 12 个月发布了 232 个;首次发布于 2025/06/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。