Skip to main content

Preview time slots for pickup

POST /v2/fulfillment/service_options/pickup

Lists the available pickup service options for the specified postal code. In this context, service options are time slots, such as within 2 hours of creating the order or tomorrow between 2pm and 4pm. Availability is based on current and anticipated shopper availability for the relevant store location.

Use this endpoint when you want to display a list of available time slots before a customer logs in or starts shopping.

If you permit a potential customer to select a preview time slot, save the service_option_id. When the customer is ready to check out, call Reserve a previewed time slot with the service_option_id and the cart items.

If you don't permit a potential customer to select a preview time slot, or if you need to prompt the customer to pick a different time slot, call List time slots for delivery at checkout.

Security#

NameInDescription
AuthorizationheaderThe Authorization header with the bearer token acquired during authentication.

Parameters#

Request#

FieldTypeRequiredDescription
location_codestringโœ…The location code of the store fulfilling the order.
cart_total_centsintegerThe total value of all items for the order in cents.
items_countintegerThe number of items in the order.

Request Examples#

curl --request POST \  --url https://connect.instacart.com/v2/fulfillment/service_options/pickup \  --header 'Accept: application/json' \  --header 'Authorization: Bearer <token>' \  --header 'Content-Type: application/json' \  --data '{  "location_code": "string",  "cart_total_cents": 1,  "items_count": 1}'

Response#

FieldTypeRequiredDescription
service_optionsArray(Service_options)โœ…The returned service options.

Service_options Object#

FieldTypeRequiredDescription
idintegerโœ…The ID of the service option.
datestringโœ…The date the service will take place in ISO 8601 format.
windowWindowโœ…The time window when the service will take place.
availabilityAvailabilityโœ…The availability of this service option.

Availability Object#

FieldTypeRequiredDescription
availablebooleanโœ…Indicates if this service option is available for the user.
reasonsArray(string)If the service option is unavailable, this will contain the reasons why.
item_codesArray(string)The item codes which caused the option to be unavailable.

Window Object#

One of the following:

FieldTypeRequiredDescription
start_atstringโœ…The start of the delivery window in ISO 8601 format.
end_atstringโœ…The end of the delivery window in ISO 8601 format.
typestringโœ…The type of service option. One of 'scheduled', 'eta' (contact your Instacart Connect representative), or 'asap' (contact your Instacart Connect representative).
asapbooleanIndicates if delivery will happen as soon as possible. Only true when type is asap.

or

FieldTypeRequiredDescription
immediate_hourintegerโœ…Indicates the number of hours after order creation that delivery will occur.
typestringโœ…Indicates this is an immediate option. Defaults to immediate.

Response Examples#

{  "service_options": [    {      "id": 138,      "date": "2018-02-22",      "window": {        "start_at": "2018-02-22T00:00:00Z",        "end_at": "2018-02-22T02:00:00Z",        "type": "scheduled",        "asap": false      },      "availability": {        "available": true,        "reasons": [],        "item_codes": []      }    }  ]}