Qronomnom.Items (Qronomnom v0.1.1)

Functions for interacting with Items resource.

Link to this section Summary

Link to this section Types

Link to this type

booking_interval_type()

Specs

booking_interval_type() :: :daily | :hourly

Specs

item_type() :: %{
  optional(:id) => String.t(),
  :name => String.t(),
  optional(:default_image) => String.t(),
  :handle => String.t(),
  optional(:description) => String.t(),
  :account => String.t(),
  optional(:booking_interval) => booking_interval_type(),
  optional(:default_available) => boolean(),
  optional(:metadata) => %{atom: String.t()}
}

Link to this section Functions

Link to this function

calendar(client, item_id, start_datetime, end_datetime)

Specs

calendar(Tesla.Client.t(), String.t(), any(), any()) ::
  {:error, map()} | {:ok, map()}

Shows an item's calendar.

Examples

iex> Qronomnom.client(%{api_key: "MY_KEY"}) |> Qronomnom.Items.calendar() {:ok, [%{}, %{}]}

Link to this function

create(client, item_data)

Specs

create(Tesla.Client.t(), item_type()) :: {:error, any()} | {:ok, item_type()}

Creates an item.

Examples

iex> Qronomnom.client(%{api_key: "MY_KEY"}) |> Qronomnom.Items.create(%{

    name: "string",
    default_image: "string",
    handle: "string",
    description: "string",
    metadata: %{
      additionalProp: "foo"
    },
    booking_interval: :daily,
    default_available: true

}) {:ok, %{item_id: "itm_EwYbBY2"}}

Specs

index(Tesla.Client.t()) :: {:error, any()} | {:ok, item_type()}

Lists items.

Examples

iex> Qronomnom.client(%{api_key: "MY_KEY"}) |> Qronomnom.Items.index()
{:ok, [%{item_id: 1}, %{item_id: 2}]}
Link to this function

show(client, item_id)

Specs

show(Tesla.Client.t(), String.t()) :: {:error, any()} | {:ok, item_type()}

Shows a single item.

Examples

iex> Qronomnom.client(%{api_key: "MY_KEY"}) |> Qronomnom.Items.index()
{:ok, [%{item_id: "itm_EwYbBY2"}, %{item_id: "itm_LKH5L"}]}
Link to this function

timeblocks(client, item_id, start_datetime, end_datetime)

Specs

timeblocks(Tesla.Client.t(), String.t(), any(), any()) ::
  {:error, map()} | {:ok, map()}

Shows an item's timeblocks.

Examples

iex> Qronomnom.client(%{api_key: "MY_KEY"}) |> Qronomnom.Items.timeblocks() {:ok, [%{}, %{}]}

Link to this function

update(client, item_id, item_data)

Specs

update(Tesla.Client.t(), String.t(), item_type()) ::
  {:error, any()} | {:ok, item_type()}

Updates an item.

Examples

iex> Qronomnom.client(%{api_key: "MY_KEY"}) |> Qronomnom.Items.update("itm_EwYbBY2", %{
      name: "string",
      default_image: "string",
      handle: "string",
      description: "string",
      metadata: %{
        additionalProp: "foo"
      },
      booking_interval: :daily,
      default_available: true
})
{:ok, %{item_id: "itm_EwYbBY2"}}