{ "business": { "name": "Frrokushouse", "phone": "281 302 3498", "address": "θερισου ,22 Ηράκλειο , 713 04", "latitude": "35.33484276836451", "longitude": "25.12330830587655", "url": "https://frrokushouse.datelly.gr", "currency": "EUR" }, "businessHours": [ { "day": "Monday", "open": false, "from": "01:00", "to": "23:58" }, { "day": "Tuesday", "open": true, "from": "09:00", "to": "21:00" }, { "day": "Wednesday", "open": true, "from": "09:00", "to": "21:00" }, { "day": "Thursday", "open": true, "from": "09:00", "to": "21:00" }, { "day": "Friday", "open": true, "from": "09:00", "to": "21:00" }, { "day": "Saturday", "open": true, "from": "09:00", "to": "19:00" }, { "day": "Sunday", "open": false, "from": "01:00", "to": "23:58" } ], "services": [ { "id": 1, "name": "Hair cut", "nameEn": "Hair cut", "category": "Men", "categoryId": 1, "type": "incall", "price": 14, "durationMin": 30, "description": "" }, { "id": 2, "name": "Beard &amp; care", "nameEn": "Beard &amp; care", "category": "Men", "categoryId": 1, "type": "incall", "price": 5, "durationMin": 15, "description": "" }, { "id": 3, "name": "Haircut &amp; Beard care", "nameEn": "Haircut &amp; Beard care", "category": "Men", "categoryId": 1, "type": "incall", "price": 16, "durationMin": 30, "description": "" }, { "id": 4, "name": "Side Fade", "nameEn": "Side Fade", "category": "Men", "categoryId": 1, "type": "incall", "price": 10, "durationMin": 15, "description": "" }, { "id": 5, "name": "Kids Haircut", "nameEn": "Kids Haircut", "category": "Men", "categoryId": 1, "type": "incall", "price": 12, "durationMin": 30, "description": "Up to 8 years old" }, { "id": 6, "name": "Eyebrows", "nameEn": "Eyebrows", "category": "Men", "categoryId": 1, "type": "incall", "price": 5, "durationMin": 15, "description": "" }, { "id": 9, "name": "Small Pattern Design", "nameEn": "Small Pattern Design", "category": "Men", "categoryId": 1, "type": "incall", "price": 17, "durationMin": 30, "description": "" }, { "id": 8, "name": "Haircut + Medium Design", "nameEn": "Haircut + Medium Design", "category": "Men", "categoryId": 1, "type": "incall", "price": 44, "durationMin": 60, "description": "" }, { "id": 10, "name": "Full Head Design", "nameEn": "Full Head Design", "category": "Men", "categoryId": 1, "type": "incall", "price": 70, "durationMin": 90, "description": "" }, { "id": 11, "name": "Men’s Braids", "nameEn": "Men’s Braids", "category": "Men", "categoryId": 1, "type": "incall", "price": 25, "durationMin": 60, "description": "" }, { "id": 25, "name": "Men’ permanant", "nameEn": "Men’ permanant", "category": "Men", "categoryId": 1, "type": "incall", "price": 40, "durationMin": 150, "description": "" }, { "id": 22, "name": "Keratin Men&apos;s", "nameEn": "Keratin Men&apos;s", "category": "Men", "categoryId": 1, "type": "incall", "price": 40, "durationMin": 60, "description": "" }, { "id": 12, "name": "Woman’s haircut", "nameEn": "Woman’s haircut", "category": "Women", "categoryId": 2, "type": "incall", "price": 20, "durationMin": 60, "description": "" }, { "id": 13, "name": "Haircut &amp; Styling", "nameEn": "Haircut &amp; Styling", "category": "Women", "categoryId": 2, "type": "incall", "price": 30, "durationMin": 90, "description": "" }, { "id": 14, "name": "Evening Hairstyling", "nameEn": "Evening Hairstyling", "category": "Women", "categoryId": 2, "type": "incall", "price": 25, "durationMin": 60, "description": "" }, { "id": 15, "name": "Women’s Keratin", "nameEn": "Women’s Keratin", "category": "Women", "categoryId": 2, "type": "incall", "price": 100, "durationMin": 180, "description": "" }, { "id": 16, "name": "Women’s hair color", "nameEn": "Women’s hair color", "category": "Women", "categoryId": 2, "type": "incall", "price": 40, "durationMin": 120, "description": "" }, { "id": 17, "name": "Balayage", "nameEn": "Balayage", "category": "Women", "categoryId": 2, "type": "incall", "price": 120, "durationMin": 300, "description": "Maximum price 160€" }, { "id": 18, "name": "Women&apos;s Braids", "nameEn": "Women&apos;s Braids", "category": "Women", "categoryId": 2, "type": "incall", "price": 25, "durationMin": 90, "description": "" }, { "id": 19, "name": "Permanent", "nameEn": "Permanent", "category": "Women", "categoryId": 2, "type": "incall", "price": 40, "durationMin": 120, "description": "" }, { "id": 20, "name": "Hair hydration treatment", "nameEn": "Hair hydration treatment", "category": "Women", "categoryId": 2, "type": "incall", "price": 40, "durationMin": 45, "description": "" }, { "id": 21, "name": "Hair wash &amp; straightening", "nameEn": "Hair wash &amp; straightening", "category": "Women", "categoryId": 2, "type": "incall", "price": 15, "durationMin": 60, "description": "" }, { "id": 23, "name": "Eyebrows woman", "nameEn": "Eyebrows woman", "category": "Women", "categoryId": 2, "type": "incall", "price": 5, "durationMin": 15, "description": "" }, { "id": 24, "name": "Hightlights", "nameEn": "Hightlights", "category": "Women", "categoryId": 2, "type": "incall", "price": 100, "durationMin": 240, "description": "" } ], "categories": [ { "id": 1, "name": "Men" }, { "id": 2, "name": "Women" } ], "workers": [ { "id": 1, "name": "Στέλιος Φ", "nameEn": "Stelios F", "incall": true, "outcall": false }, { "id": 2, "name": "Jurgi B", "nameEn": "Jurgi B", "incall": true, "outcall": false }, { "id": 3, "name": "Γιώργος M", "nameEn": "George M", "incall": true, "outcall": false }, { "id": 4, "name": "Σοφία Γ", "nameEn": "Sofia G", "incall": true, "outcall": false }, { "id": 5, "name": "Μαρία Ι", "nameEn": "Maria I", "incall": true, "outcall": false }, { "id": 6, "name": "Χαράλαμπος Α", "nameEn": "Xaralampos Α", "incall": true, "outcall": false }, { "id": 7, "name": "Μιχάλης", "nameEn": "Mike O", "incall": true, "outcall": false }, { "id": 8, "name": "Άντα Α", "nameEn": "Anta A", "incall": true, "outcall": false } ], "workerSchedules": [ { "workerId": 1, "workerName": "Stelios F", "schedule": [ { "day": "Tuesday", "open": true, "from": "10:00:00", "to": "19:00:00" }, { "day": "Wednesday", "open": true, "from": "10:30:00", "to": "19:00:00" }, { "day": "Thursday", "open": true, "from": "10:00:00", "to": "19:00:00" }, { "day": "Friday", "open": true, "from": "10:30:00", "to": "19:00:00" }, { "day": "Saturday", "open": true, "from": "09:00:00", "to": "19:00:00" } ] }, { "workerId": 2, "workerName": "Jurgi B", "schedule": [ { "day": "Tuesday", "open": true, "from": "09:00:00", "to": "13:00:00" }, { "day": "Tuesday", "open": true, "from": "17:00:00", "to": "21:00:00" }, { "day": "Wednesday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Wednesday", "open": false, "from": "17:00:00", "to": "21:00:00" }, { "day": "Thursday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Thursday", "open": false, "from": "17:00:00", "to": "21:00:00" }, { "day": "Friday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Friday", "open": false, "from": "17:00:00", "to": "21:00:00" }, { "day": "Saturday", "open": true, "from": "09:00:00", "to": "19:00:00" } ] }, { "workerId": 3, "workerName": "George M", "schedule": [ { "day": "Tuesday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Wednesday", "open": true, "from": "09:00:00", "to": "13:00:00" }, { "day": "Wednesday", "open": true, "from": "17:00:00", "to": "21:00:00" }, { "day": "Thursday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Friday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Saturday", "open": true, "from": "09:00:00", "to": "19:00:00" } ] }, { "workerId": 4, "workerName": "Sofia G", "schedule": [ { "day": "Tuesday", "open": true, "from": "13:30:00", "to": "19:30:00" }, { "day": "Wednesday", "open": true, "from": "13:30:00", "to": "19:30:00" }, { "day": "Wednesday", "open": false, "from": "13:30:00", "to": "21:00:00" }, { "day": "Wednesday", "open": false, "from": "13:30:00", "to": "21:00:00" }, { "day": "Thursday", "open": true, "from": "13:30:00", "to": "19:30:00" }, { "day": "Friday", "open": true, "from": "13:30:00", "to": "19:30:00" }, { "day": "Saturday", "open": true, "from": "09:00:00", "to": "19:00:00" } ] }, { "workerId": 5, "workerName": "Maria I", "schedule": [ { "day": "Tuesday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Wednesday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Wednesday", "open": false, "from": "17:00:00", "to": "21:00:00" }, { "day": "Thursday", "open": true, "from": "09:00:00", "to": "13:00:00" }, { "day": "Thursday", "open": false, "from": "17:00:00", "to": "21:00:00" }, { "day": "Thursday", "open": false, "from": "17:00:00", "to": "21:00:00" }, { "day": "Thursday", "open": true, "from": "17:00:00", "to": "21:00:00" }, { "day": "Friday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Saturday", "open": true, "from": "09:00:00", "to": "17:00:00" } ] }, { "workerId": 6, "workerName": "Xaralampos Α", "schedule": [ { "day": "Tuesday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Wednesday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Thursday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Friday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Saturday", "open": true, "from": "09:00:00", "to": "19:00:00" } ] }, { "workerId": 7, "workerName": "Mike O", "schedule": [ { "day": "Tuesday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Wednesday", "open": false, "from": "10:30:00", "to": "21:00:00" }, { "day": "Wednesday", "open": false, "from": "10:30:00", "to": "21:00:00" }, { "day": "Wednesday", "open": true, "from": "09:00:00", "to": "13:00:00" }, { "day": "Wednesday", "open": true, "from": "17:00:00", "to": "21:00:00" }, { "day": "Thursday", "open": false, "from": "10:30:00", "to": "21:00:00" }, { "day": "Thursday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Friday", "open": true, "from": "09:00:00", "to": "13:00:00" }, { "day": "Friday", "open": true, "from": "17:00:00", "to": "21:00:00" }, { "day": "Saturday", "open": true, "from": "09:00:00", "to": "19:00:00" } ] }, { "workerId": 8, "workerName": "Anta A", "schedule": [ { "day": "Tuesday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Wednesday", "open": false, "from": "13:00:00", "to": "19:00:00" }, { "day": "Wednesday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Wednesday", "open": false, "from": "17:00:00", "to": "21:00:00" }, { "day": "Thursday", "open": true, "from": "09:00:00", "to": "13:00:00" }, { "day": "Thursday", "open": true, "from": "17:00:00", "to": "21:00:00" }, { "day": "Friday", "open": true, "from": "13:00:00", "to": "21:00:00" }, { "day": "Saturday", "open": true, "from": "09:00:00", "to": "19:00:00" } ] } ], "booking": { "deepLinkFormat": "https://frrokushouse.datelly.gr/?services={serviceIds}&worker={workerId}&date={YYYY-MM-DD}&time={HH:MM}&name={customerName}&phone={customerPhone}&email={customerEmail}&autobook=1&autobook_token={token}", "autobook_token": "eyJleHAiOjE3ODMxMTk5ODksInN1YiI6ImZycm9rdXNob3VzZSIsIm5vbmNlIjoiNzE0NzEzNzliOWM5NDFjNyIsImlhdCI6MTc4MzExOTA4OX0.0efb2411bc82919874add6b7a45d8370333d407d6d2fcb3ab6dd7a56b09dde71", "autobook_token_expires_in": "15 minutes", "parameters": [ { "name": "services", "required": true, "description": "Comma-separated list of service IDs to book. Use the \"id\" field from the services array.", "example": "1,2,3" }, { "name": "worker", "required": false, "description": "Worker/professional ID. If omitted, the first available worker is auto-selected.", "example": "1" }, { "name": "date", "required": false, "description": "Appointment date in YYYY-MM-DD format. Must be today or a future date when the business is open.", "example": "2026-07-05" }, { "name": "time", "required": false, "description": "Desired start time in HH:MM (24-hour) format. Must match an available slot on the selected date.", "example": "10:00" }, { "name": "name", "required": false, "description": "Customer full name (first and last). Auto-fills the booking form.", "example": "John Doe" }, { "name": "phone", "required": false, "description": "Customer phone number (10 digits, no country code prefix).", "example": "6900000000" }, { "name": "email", "required": false, "description": "Customer email address. Auto-fills the booking form.", "example": "john@example.com" }, { "name": "autobook", "required": false, "description": "Set to \"1\" to automatically accept terms and submit the booking. MUST be paired with a valid autobook_token.", "example": "1" }, { "name": "autobook_token", "required": false, "description": "HMAC-signed security token required for autobook. Get a fresh token from this endpoint (booking.autobook_token). Tokens expire after 15 minutes. Without a valid token, autobook will be ignored and the user must manually confirm.", "example": "<use the autobook_token value from this response>" } ], "notes": [ "If a requested service, worker, date, or time is unavailable, the user is shown a warning and can choose an alternative.", "All parameters except \"services\" are optional. If only services are provided, the user starts at the date/time selection step.", "If date and time are both provided, the system auto-navigates to the booking confirmation step.", "Times use 24-hour format (e.g., 14:30 for 2:30 PM).", "IMPORTANT: To use autobook=1, you MUST first fetch this endpoint to get a fresh autobook_token. The token expires in 15 minutes.", "For AI agents: 1) Fetch this endpoint, 2) Get the autobook_token from the response, 3) Include both autobook=1 and autobook_token={token} in the deep-link URL.", "Rate limiting: Max 5 bookings per IP per hour and 3 per phone per day. Duplicate appointments at the same date/time are rejected.", "A hidden honeypot field protects against simple bots. Legitimate AI agents and users are not affected." ] }
}