npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@deliverart/sdk-js-delivery

v2.8.17

Published

Deliverart JavaScript SDK for Delivery Management

Readme

@deliverart/sdk-js-delivery

Delivery management package for the DeliverArt JavaScript SDK.

Installation

npm install @deliverart/sdk-js-delivery @deliverart/sdk-js-core

Exported Types

Core Types

  • Delivery - Delivery information
  • DeliveryDetails - Extended delivery with order and driver
  • DeliveryPosition - GPS tracking position
  • DeliveryFee - Delivery fee configuration
  • DeliveryStatus - Delivery status

Delivery Status Types

type DeliveryStatus = 
  | 'PENDING'
  | 'ASSIGNED'
  | 'PICKING_UP'
  | 'IN_TRANSIT'
  | 'DELIVERED'
  | 'FAILED'
  | 'CANCELLED'

IRI Types

  • DeliveryIri - Delivery IRI (/deliveries/:id)
  • DeliveryPositionIri - Position IRI (/delivery_positions/:id)
  • DeliveryFeeIri - Fee IRI (/delivery_fees/:id)

Available Requests

Deliveries

CreateDelivery

import { CreateDelivery } from '@deliverart/sdk-js-delivery';

const delivery = await sdk.call(new CreateDelivery({
  order: '/orders/123',
  driver: '/users/456',
  pickupAddress: {
    street: 'Via Restaurant 1',
    city: 'Milano',
    postalCode: '20100',
    country: 'IT',
    location: {
      latitude: 45.464664,
      longitude: 9.188540
    }
  },
  deliveryAddress: {
    street: 'Via Customer 10',
    city: 'Milano',
    postalCode: '20100',
    country: 'IT',
    location: {
      latitude: 45.478664,
      longitude: 9.201540
    }
  },
  estimatedPickupTime: '2024-12-25T19:00:00+00:00',
  estimatedDeliveryTime: '2024-12-25T19:30:00+00:00'
}));

Input Parameters:

  • order: string (required) - Order IRI
  • driver?: string (optional) - Driver user IRI
  • pickupAddress: Address (required) - Restaurant/pickup address
  • deliveryAddress: Address (required) - Customer delivery address
  • estimatedPickupTime?: string (optional) - Estimated pickup time (ISO 8601)
  • estimatedDeliveryTime?: string (optional) - Estimated delivery time (ISO 8601)
  • distance?: number (optional) - Distance in meters
  • fee?: number (optional) - Delivery fee in cents

GetDeliveries

import { GetDeliveries } from '@deliverart/sdk-js-delivery';

const deliveries = await sdk.call(new GetDeliveries({
  query: {
    'status[]': ['IN_TRANSIT', 'ASSIGNED'],
    driver: '/users/456',
    'order[estimatedDeliveryTime]': 'asc',
    page: 1
  }
}));

Query Parameters:

  • order?: string - Filter by order
  • driver?: string - Filter by driver
  • status[]?: DeliveryStatus[] - Filter by statuses
  • createdAt[before]?: string - Created before date
  • createdAt[after]?: string - Created after date
  • order[estimatedDeliveryTime]?: 'asc' | 'desc' - Sort by delivery time
  • page?: number - Page number

GetDeliveryDetails

import { GetDeliveryDetails } from '@deliverart/sdk-js-delivery';

const delivery = await sdk.call(new GetDeliveryDetails('delivery-123'));

UpdateDelivery

import { UpdateDelivery } from '@deliverart/sdk-js-delivery';

const updated = await sdk.call(new UpdateDelivery('delivery-123', {
  status: 'IN_TRANSIT',
  actualPickupTime: '2024-12-25T19:05:00+00:00'
}));

Delivery Positions (GPS Tracking)

CreateDeliveryPosition

import { CreateDeliveryPosition } from '@deliverart/sdk-js-delivery';

const position = await sdk.call(new CreateDeliveryPosition({
  delivery: '/deliveries/123',
  latitude: 45.470664,
  longitude: 9.195540,
  accuracy: 10,
  heading: 45,
  speed: 15
}));

Input Parameters:

  • delivery: string (required) - Delivery IRI
  • latitude: number (required) - GPS latitude
  • longitude: number (required) - GPS longitude
  • accuracy?: number (optional) - Position accuracy in meters
  • heading?: number (optional) - Direction in degrees (0-360)
  • speed?: number (optional) - Speed in km/h

GetDeliveryPositions

import { GetDeliveryPositions } from '@deliverart/sdk-js-delivery';

const positions = await sdk.call(new GetDeliveryPositions({
  query: {
    delivery: '/deliveries/123',
    'order[createdAt]': 'asc'
  }
}));

Delivery Fees

CreateDeliveryFee

import { CreateDeliveryFee } from '@deliverart/sdk-js-delivery';

const fee = await sdk.call(new CreateDeliveryFee({
  pointOfSale: '/point_of_sales/123',
  minDistance: 0,
  maxDistance: 5000, // 5km in meters
  baseFee: 300, // 3 EUR in cents
  perKmFee: 50 // 0.50 EUR per km
}));

GetDeliveryFees

import { GetDeliveryFees } from '@deliverart/sdk-js-delivery';

const fees = await sdk.call(new GetDeliveryFees({
  query: {
    pointOfSale: '/point_of_sales/123'
  }
}));

Complete Usage Example

import { sdk } from './lib/sdk';
import {
  CreateDelivery,
  UpdateDelivery,
  CreateDeliveryPosition,
  GetDeliveries
} from '@deliverart/sdk-js-delivery';

async function deliveryWorkflow() {
  // Create delivery
  const delivery = await sdk.call(new CreateDelivery({
    order: '/orders/123',
    driver: '/users/456',
    pickupAddress: {
      street: 'Via Restaurant 1',
      city: 'Milano',
      postalCode: '20100',
      country: 'IT',
      location: { latitude: 45.464664, longitude: 9.188540 }
    },
    deliveryAddress: {
      street: 'Via Customer 10',
      city: 'Milano',
      postalCode: '20100',
      country: 'IT',
      location: { latitude: 45.478664, longitude: 9.201540 }
    }
  }));

  // Driver picks up order
  await sdk.call(new UpdateDelivery(delivery.id, {
    status: 'PICKING_UP',
    actualPickupTime: new Date().toISOString()
  }));

  // Driver starts delivery
  await sdk.call(new UpdateDelivery(delivery.id, {
    status: 'IN_TRANSIT'
  }));

  // Track position
  await sdk.call(new CreateDeliveryPosition({
    delivery: `/deliveries/${delivery.id}`,
    latitude: 45.470664,
    longitude: 9.195540,
    speed: 25,
    heading: 90
  }));

  // Complete delivery
  await sdk.call(new UpdateDelivery(delivery.id, {
    status: 'DELIVERED',
    actualDeliveryTime: new Date().toISOString()
  }));
}

License

MIT

@deliverart/sdk-js-menu

Menu and menu items management package for the DeliverArt JavaScript SDK.

Installation

npm install @deliverart/sdk-js-menu @deliverart/sdk-js-core

Exported Types

Core Types

  • MenuItem - Menu item basic information
  • MenuItemDetails - Extended menu item with variants and modifiers
  • MenuItemCategory - Menu item category
  • MenuItemModifier - Item modifier (e.g., extra cheese, no onions)
  • MenuItemPriceOverride - Price variant for menu items
  • MenuVersion - Menu version for point of sale

IRI Types

  • MenuItemIri - Menu item IRI (/menu_items/:id)
  • MenuItemCategoryIri - Category IRI (/menu_item_categories/:id)
  • MenuItemModifierIri - Modifier IRI (/menu_item_modifiers/:id)
  • MenuItemPriceOverrideIri - Price override IRI (/menu_item_price_overrides/:id)
  • MenuVersionIri - Menu version IRI (/menu_versions/:id)

Available Requests

Menu Items

CreateMenuItem

import { CreateMenuItem } from '@deliverart/sdk-js-menu';

const item = await sdk.call(new CreateMenuItem({
  name: [
    { locale: 'it_IT', text: 'Margherita' },
    { locale: 'en_US', text: 'Margherita' }
  ],
  description: [
    { locale: 'it_IT', text: 'Pizza con pomodoro e mozzarella' },
    { locale: 'en_US', text: 'Pizza with tomato and mozzarella' }
  ],
  type: 'PIZZA',
  category: '/menu_item_categories/123',
  company: '/companies/456',
  price: 850, // In cents
  taxRate: 10,
  available: true
}));

Input Parameters:

  • name: LocaleItem[] (required) - Localized names
  • description: LocaleItem[] (optional) - Localized descriptions
  • type: string (required) - Item type (e.g., 'PIZZA', 'PASTA', 'DRINK')
  • category: string (required) - Category IRI
  • company: string (required) - Company IRI
  • price: number (required) - Base price in cents
  • taxRate: number (required) - Tax rate percentage
  • available: boolean (optional) - Availability status
  • image?: string (optional) - Image IRI

GetMenuItems

import { GetMenuItems } from '@deliverart/sdk-js-menu';

const items = await sdk.call(new GetMenuItems({
  query: {
    company: '/companies/123',
    category: '/menu_item_categories/456',
    available: true,
    'order[name]': 'asc',
    page: 1
  }
}));

Query Parameters:

  • company?: string - Filter by company
  • category?: string - Filter by category
  • type?: string - Filter by type
  • available?: boolean - Filter by availability
  • order[name]?: 'asc' | 'desc' - Sort by name
  • order[price]?: 'asc' | 'desc' - Sort by price
  • page?: number - Page number

GetMenuItemDetails

import { GetMenuItemDetails } from '@deliverart/sdk-js-menu';

const item = await sdk.call(new GetMenuItemDetails('item-123'));

UpdateMenuItem

import { UpdateMenuItem } from '@deliverart/sdk-js-menu';

const updated = await sdk.call(new UpdateMenuItem('item-123', {
  price: 900,
  available: false
}));

DeleteMenuItem

import { DeleteMenuItem } from '@deliverart/sdk-js-menu';

await sdk.call(new DeleteMenuItem('item-123'));

Menu Item Categories

CreateMenuItemCategory

import { CreateMenuItemCategory } from '@deliverart/sdk-js-menu';

const category = await sdk.call(new CreateMenuItemCategory({
  name: [
    { locale: 'it_IT', text: 'Pizze' },
    { locale: 'en_US', text: 'Pizzas' }
  ],
  company: '/companies/123',
  position: 1
}));

GetMenuItemCategories

import { GetMenuItemCategories } from '@deliverart/sdk-js-menu';

const categories = await sdk.call(new GetMenuItemCategories({
  query: {
    company: '/companies/123',
    'order[position]': 'asc'
  }
}));

UpdateMenuItemCategory

import { UpdateMenuItemCategory } from '@deliverart/sdk-js-menu';

const updated = await sdk.call(new UpdateMenuItemCategory('category-123', {
  position: 2
}));

DeleteMenuItemCategory

import { DeleteMenuItemCategory } from '@deliverart/sdk-js-menu';

await sdk.call(new DeleteMenuItemCategory('category-123'));

Menu Item Modifiers

CreateMenuItemModifier

import { CreateMenuItemModifier } from '@deliverart/sdk-js-menu';

const modifier = await sdk.call(new CreateMenuItemModifier({
  name: [
    { locale: 'it_IT', text: 'Mozzarella extra' },
    { locale: 'en_US', text: 'Extra mozzarella' }
  ],
  company: '/companies/123',
  price: 150, // In cents
  taxRate: 10,
  available: true
}));

GetMenuItemModifiers

import { GetMenuItemModifiers } from '@deliverart/sdk-js-menu';

const modifiers = await sdk.call(new GetMenuItemModifiers({
  query: {
    company: '/companies/123',
    available: true
  }
}));

Menu Item Price Overrides (Variants)

CreateMenuItemPriceOverride

import { CreateMenuItemPriceOverride } from '@deliverart/sdk-js-menu';

const variant = await sdk.call(new CreateMenuItemPriceOverride({
  menuItem: '/menu_items/123',
  name: [
    { locale: 'it_IT', text: 'Grande' },
    { locale: 'en_US', text: 'Large' }
  ],
  price: 1200,
  available: true
}));

GetMenuItemPriceOverrides

import { GetMenuItemPriceOverrides } from '@deliverart/sdk-js-menu';

const variants = await sdk.call(new GetMenuItemPriceOverrides({
  query: {
    menuItem: '/menu_items/123'
  }
}));

Menu Versions

Menu versions allow you to assign different menus to different sales modes or points of sale.

CreateMenuVersion

import { CreateMenuVersion } from '@deliverart/sdk-js-menu';

const version = await sdk.call(new CreateMenuVersion({
  name: 'Delivery Menu',
  pointOfSale: '/point_of_sales/123',
  salesMode: '/sales_modes/456',
  items: [
    '/menu_items/1',
    '/menu_items/2',
    '/menu_items/3'
  ]
}));

GetMenuVersions

import { GetMenuVersions } from '@deliverart/sdk-js-menu';

const versions = await sdk.call(new GetMenuVersions({
  query: {
    pointOfSale: '/point_of_sales/123'
  }
}));

Complete Usage Example

import { sdk } from './lib/sdk';
import {
  CreateMenuItemCategory,
  CreateMenuItem,
  CreateMenuItemModifier,
  CreateMenuItemPriceOverride,
  GetMenuItems
} from '@deliverart/sdk-js-menu';

async function setupMenu() {
  // Create category
  const category = await sdk.call(new CreateMenuItemCategory({
    name: [
      { locale: 'it_IT', text: 'Pizze' },
      { locale: 'en_US', text: 'Pizzas' }
    ],
    company: '/companies/123',
    position: 1
  }));

  // Create menu item
  const pizza = await sdk.call(new CreateMenuItem({
    name: [
      { locale: 'it_IT', text: 'Margherita' },
      { locale: 'en_US', text: 'Margherita' }
    ],
    description: [
      { locale: 'it_IT', text: 'Pomodoro e mozzarella' }
    ],
    type: 'PIZZA',
    category: `/menu_item_categories/${category.id}`,
    company: '/companies/123',
    price: 850,
    taxRate: 10,
    available: true
  }));

  // Create modifier
  const modifier = await sdk.call(new CreateMenuItemModifier({
    name: [
      { locale: 'it_IT', text: 'Mozzarella extra' }
    ],
    company: '/companies/123',
    price: 150,
    taxRate: 10,
    available: true
  }));

  // Create size variant
  const largeVariant = await sdk.call(new CreateMenuItemPriceOverride({
    menuItem: `/menu_items/${pizza.id}`,
    name: [
      { locale: 'it_IT', text: 'Grande' }
    ],
    price: 1200,
    available: true
  }));

  // Get all pizzas
  const pizzas = await sdk.call(new GetMenuItems({
    query: {
      category: `/menu_item_categories/${category.id}`,
      available: true
    }
  }));

  console.log(`Found ${pizzas.pagination.totalItems} pizzas`);
}

License

MIT