@apideck/node
Version:
Apideck Node.js SDK
251 lines (244 loc) • 8.89 kB
text/typescript
/* tslint:disable */
/* eslint-disable */
/**
* Apideck
* The Apideck OpenAPI Spec: SDK Optimized
*
* The version of the OpenAPI document: 10.13.0
* Contact: support@apideck.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists } from '../runtime'
import {
OrderPickupDetailsCurbsidePickupDetails,
OrderPickupDetailsCurbsidePickupDetailsFromJSON,
OrderPickupDetailsCurbsidePickupDetailsToJSON
} from './OrderPickupDetailsCurbsidePickupDetails'
import {
OrderPickupDetailsRecipient,
OrderPickupDetailsRecipientFromJSON,
OrderPickupDetailsRecipientToJSON
} from './OrderPickupDetailsRecipient'
/**
*
* @export
* @interface OrderPickupDetails
*/
export interface OrderPickupDetails {
/**
*
* @type {Date}
* @memberof OrderPickupDetails
*/
readonly accepted_at?: Date | null
/**
* The duration of time after which an open and accepted pickup fulfillment is automatically moved to the COMPLETED state. The duration must be in RFC 3339 format (for example, 'P1W3D').
* @type {string}
* @memberof OrderPickupDetails
*/
auto_complete_duration?: string | null
/**
* A description of why the pickup was canceled.
* @type {string}
* @memberof OrderPickupDetails
*/
cancel_reason?: string | null
/**
* Indicating when this fulfillment expires if it is not accepted. The timestamp must be in RFC 3339 format
* (for example, "2016-09-04T23:59:33.123Z"). The expiration time can only be set up to 7 days in the future.
* If `expires_at` is not set, this pickup fulfillment is automatically accepted when
* placed.
* @type {Date}
* @memberof OrderPickupDetails
*/
expires_at?: Date
/**
* The schedule type of the pickup fulfillment.
* @type {string}
* @memberof OrderPickupDetails
*/
schedule_type?: OrderPickupDetailsScheduleType
/**
* The timestamp that represents the start of the pickup window. Must be in RFC 3339 timestamp format, e.g.,
* "2016-09-04T23:59:33.123Z".
*
* For fulfillments with the schedule type `ASAP`, this is automatically set
* to the current time plus the expected duration to prepare the fulfillment.
* @type {Date}
* @memberof OrderPickupDetails
*/
pickup_at?: Date
/**
* The window of time in which the order should be picked up after the `pickup_at` timestamp.
* Must be in RFC 3339 duration format, e.g., "P1W3D". Can be used as an
* informational guideline for merchants.
* @type {string}
* @memberof OrderPickupDetails
*/
pickup_window_duration?: string
/**
* The duration of time it takes to prepare this fulfillment.
* The duration must be in RFC 3339 format (for example, "P1W3D").
* @type {string}
* @memberof OrderPickupDetails
*/
prep_time_duration?: string
/**
* A note meant to provide additional instructions about the pickup
* fulfillment displayed in the Square Point of Sale application and set by the API.
* @type {string}
* @memberof OrderPickupDetails
*/
note?: string
/**
* Indicating when the fulfillment was placed. The timestamp must be in RFC 3339 format
* (for example, "2016-09-04T23:59:33.123Z").
* @type {Date}
* @memberof OrderPickupDetails
*/
placed_at?: Date
/**
* Indicating when the fulfillment was rejected. The timestamp must be in RFC 3339 format
* (for example, "2016-09-04T23:59:33.123Z").
* @type {Date}
* @memberof OrderPickupDetails
*/
rejected_at?: Date
/**
* Indicating when the fulfillment is marked as ready for pickup. The timestamp must be in RFC 3339 format
* (for example, "2016-09-04T23:59:33.123Z").
* @type {Date}
* @memberof OrderPickupDetails
*/
ready_at?: Date
/**
* Indicating when the fulfillment expired. The timestamp must be in RFC 3339 format
* (for example, "2016-09-04T23:59:33.123Z").
* @type {Date}
* @memberof OrderPickupDetails
*/
expired_at?: Date
/**
* Indicating when the fulfillment was picked up by the recipient. The timestamp must be in RFC 3339 format
* (for example, "2016-09-04T23:59:33.123Z").
* @type {Date}
* @memberof OrderPickupDetails
*/
picked_up_at?: Date
/**
* Indicating when the fulfillment was canceled. The timestamp must be in RFC 3339 format
* (for example, "2016-09-04T23:59:33.123Z").
* @type {Date}
* @memberof OrderPickupDetails
*/
canceled_at?: Date
/**
* If set to `true`, indicates that this pickup order is for curbside pickup, not in-store pickup.
* @type {boolean}
* @memberof OrderPickupDetails
*/
is_curbside_pickup?: boolean
/**
*
* @type {OrderPickupDetailsCurbsidePickupDetails}
* @memberof OrderPickupDetails
*/
curbside_pickup_details?: OrderPickupDetailsCurbsidePickupDetails
/**
*
* @type {OrderPickupDetailsRecipient}
* @memberof OrderPickupDetails
*/
recipient?: OrderPickupDetailsRecipient
}
/**
* @export
* @enum {string}
*/
export enum OrderPickupDetailsScheduleType {
scheduled = 'scheduled'
}
export function OrderPickupDetailsFromJSON(json: any): OrderPickupDetails {
return OrderPickupDetailsFromJSONTyped(json, false)
}
export function OrderPickupDetailsFromJSONTyped(
json: any,
ignoreDiscriminator: boolean
): OrderPickupDetails {
if (json === undefined || json === null) {
return json
}
return {
accepted_at: !exists(json, 'accepted_at')
? undefined
: json['accepted_at'] === null
? null
: new Date(json['accepted_at']),
auto_complete_duration: !exists(json, 'auto_complete_duration')
? undefined
: json['auto_complete_duration'],
cancel_reason: !exists(json, 'cancel_reason') ? undefined : json['cancel_reason'],
expires_at: !exists(json, 'expires_at') ? undefined : new Date(json['expires_at']),
schedule_type: !exists(json, 'schedule_type') ? undefined : json['schedule_type'],
pickup_at: !exists(json, 'pickup_at') ? undefined : new Date(json['pickup_at']),
pickup_window_duration: !exists(json, 'pickup_window_duration')
? undefined
: json['pickup_window_duration'],
prep_time_duration: !exists(json, 'prep_time_duration')
? undefined
: json['prep_time_duration'],
note: !exists(json, 'note') ? undefined : json['note'],
placed_at: !exists(json, 'placed_at') ? undefined : new Date(json['placed_at']),
rejected_at: !exists(json, 'rejected_at') ? undefined : new Date(json['rejected_at']),
ready_at: !exists(json, 'ready_at') ? undefined : new Date(json['ready_at']),
expired_at: !exists(json, 'expired_at') ? undefined : new Date(json['expired_at']),
picked_up_at: !exists(json, 'picked_up_at') ? undefined : new Date(json['picked_up_at']),
canceled_at: !exists(json, 'canceled_at') ? undefined : new Date(json['canceled_at']),
is_curbside_pickup: !exists(json, 'is_curbside_pickup')
? undefined
: json['is_curbside_pickup'],
curbside_pickup_details: !exists(json, 'curbside_pickup_details')
? undefined
: OrderPickupDetailsCurbsidePickupDetailsFromJSON(json['curbside_pickup_details']),
recipient: !exists(json, 'recipient')
? undefined
: OrderPickupDetailsRecipientFromJSON(json['recipient'])
}
}
export function OrderPickupDetailsToJSON(value?: OrderPickupDetails | null): any {
if (value === undefined) {
return undefined
}
if (value === null) {
return null
}
return {
auto_complete_duration: value.auto_complete_duration,
cancel_reason: value.cancel_reason,
expires_at:
value.expires_at === undefined ? undefined : new Date(value.expires_at).toISOString(),
schedule_type: value.schedule_type,
pickup_at: value.pickup_at === undefined ? undefined : new Date(value.pickup_at).toISOString(),
pickup_window_duration: value.pickup_window_duration,
prep_time_duration: value.prep_time_duration,
note: value.note,
placed_at: value.placed_at === undefined ? undefined : new Date(value.placed_at).toISOString(),
rejected_at:
value.rejected_at === undefined ? undefined : new Date(value.rejected_at).toISOString(),
ready_at: value.ready_at === undefined ? undefined : new Date(value.ready_at).toISOString(),
expired_at:
value.expired_at === undefined ? undefined : new Date(value.expired_at).toISOString(),
picked_up_at:
value.picked_up_at === undefined ? undefined : new Date(value.picked_up_at).toISOString(),
canceled_at:
value.canceled_at === undefined ? undefined : new Date(value.canceled_at).toISOString(),
is_curbside_pickup: value.is_curbside_pickup,
curbside_pickup_details: OrderPickupDetailsCurbsidePickupDetailsToJSON(
value.curbside_pickup_details
),
recipient: OrderPickupDetailsRecipientToJSON(value.recipient)
}
}