2 operations. Every schema and example on this page is generated from the platform contract.
Merchant read of the store’s per-weekday Now/Collect availability and one-off date overrides.
Store whose schedule to fetch (also authorises the merchant).
The store’s per-weekday Now/Collect schedule + one-off date overrides.
Always 7 entries, day_of_week 0..6.
0..6 (0=Sun).
Buy-now (at-counter) available this weekday.
Click & Collect available this weekday.
YYYY-MM-DD.
e.g. "Bank holiday".
curl -G "https://www.membber.com/api/v1/fulfilment-schedule" \
-H "Authorization: Bearer $MEMBBER_TOKEN" \
--data-urlencode "store_id=6659c139-0000-4000-8000-d0c500000066"import { createMembberClient } from "@membber/sdk-ts";
const membber = createMembberClient({
getAccessToken: () => process.env.MEMBBER_TOKEN,
});
const { data, error } = await membber.raw.GET("/api/v1/fulfilment-schedule", {
params: { query: { store_id: "6659c139-0000-4000-8000-d0c500000066" } },
});
if (error) {
// Typed error envelope: { error: { code, message, requestId } }
throw new Error(`${error.error.code}: ${error.error.message}`);
}
console.log(data);import MembberSwift
let client = MembberClient(
serverURL: MembberClient.productionServerURL,
tokenProvider: { session.accessToken }
)
let response = try await client.api.getFulfilmentSchedule(
query: .init(storeId: "6659c139-0000-4000-8000-d0c500000066")
).ok.body.json
print(response){
"schedule": {
"weekdays": [
{
"day_of_week": 1,
"is_closed": true,
"opens_at": "<opens_at>",
"closes_at": "<closes_at>",
"now_enabled": true,
"collect_enabled": true
}
],
"overrides": [
{
"id": "00000d1b-0000-4000-8000-d0c500000000",
"override_date": "<override_date>",
"is_closed": true,
"now_enabled": true,
"collect_enabled": true,
"note": "Added at the front desk"
}
]
}
}Upserts the supplied weekday rows and, when `overrides` is present, fully replaces the override set. A null/absent `overrides` key leaves overrides untouched. Idempotent (upsert).
Store whose schedule to update (also authorises the merchant).
Upsert these weekday rows (omit to leave weekdays untouched).
Fully REPLACE the override set with these (omit/null to leave overrides untouched).
YYYY-MM-DD.
The store’s per-weekday Now/Collect schedule + one-off date overrides.
Always 7 entries, day_of_week 0..6.
0..6 (0=Sun).
Buy-now (at-counter) available this weekday.
Click & Collect available this weekday.
YYYY-MM-DD.
e.g. "Bank holiday".
curl -X PATCH "https://www.membber.com/api/v1/fulfilment-schedule" \
-H "Authorization: Bearer $MEMBBER_TOKEN" \
-H "Idempotency-Key: 1f0e2d3c-4b5a-4678-9abc-def012345678" \
-H "Content-Type: application/json" \
-d '{
"store_id": "6659c139-0000-4000-8000-d0c500000066"
}'import { createMembberClient } from "@membber/sdk-ts";
const membber = createMembberClient({
getAccessToken: () => process.env.MEMBBER_TOKEN,
});
const { data, error } = await membber.raw.PATCH("/api/v1/fulfilment-schedule", {
body: {
store_id: "6659c139-0000-4000-8000-d0c500000066"
},
headers: { "Idempotency-Key": crypto.randomUUID() },
});
if (error) {
// Typed error envelope: { error: { code, message, requestId } }
throw new Error(`${error.error.code}: ${error.error.message}`);
}
console.log(data);import MembberSwift
let client = MembberClient(
serverURL: MembberClient.productionServerURL,
tokenProvider: { session.accessToken }
)
let response = try await client.api.updateFulfilmentSchedule(
body: .json(.init(
storeId: "6659c139-0000-4000-8000-d0c500000066"
))
).ok.body.json
print(response){
"schedule": {
"weekdays": [
{
"day_of_week": 1,
"is_closed": true,
"opens_at": "<opens_at>",
"closes_at": "<closes_at>",
"now_enabled": true,
"collect_enabled": true
}
],
"overrides": [
{
"id": "00000d1b-0000-4000-8000-d0c500000000",
"override_date": "<override_date>",
"is_closed": true,
"now_enabled": true,
"collect_enabled": true,
"note": "Added at the front desk"
}
]
}
}