Find and compare coworking spaces and offices in 300+ European cities; get office quotes.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Typical starting list prices in a city across its public venues: day pass per day, private office per desk per month, desks (flex / fixed) per month, meeting room per hour — 10th–90th percentile with the median, recomputed hourly from live listings. Private offices and desks are separate lines: the office range never includes a desk price.
Tool list last changed Oct 26, 2026.
Typical starting list prices in a city across its public venues: day pass per day, private office per desk per month, desks (flex / fixed) per month, meeting room per hour — 10th–90th percentile with the median, recomputed hourly from live listings. Private offices and desks are separate lines: the office range never includes a desk price.
| Argument | Type | Description |
|---|---|---|
| city* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"city"
],
"properties": {
"city": {
"type": "string",
"maxLength": 80,
"minLength": 2
}
}
}Confirm an office or meeting request with the 6-digit code One Coworking emailed the person. Only then does the request reach One Coworking. Returns a reference and an access key — keep the key for get_request_status (and, for an office, request_viewing) in this conversation.
| Argument | Type | Description |
|---|---|---|
| code* | string | |
| request_id* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"request_id",
"code"
],
"properties": {
"code": {
"type": "string",
"maxLength": 12,
"minLength": 6
},
"request_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
}Optional: record that the person said one option is not for them, and why (price, too_small, too_large, location, look_and_feel, amenities, contract_terms, availability, chose_another, not_moving_now, other). Use only what the person told you. It goes to their broker; nothing is sent to the space, and the option stays on their link. Option handles come from get_request_status.
| Argument | Type | Description |
|---|---|---|
| note | string | |
| option* | string | |
| reason* | string | |
| access_key* | string | The access key confirm_email_code returned. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"access_key",
"option",
"reason"
],
"properties": {
"note": {
"type": "string",
"maxLength": 2000
},
"option": {
"type": "string",
"maxLength": 12,
"minLength": 4
},
"reason": {
"enum": [
"price",
"too_small",
"too_large",
"location",
"look_and_feel",
"amenities",
"contract_terms",
"availability",
"chose_another",
"not_moving_now",
"other"
],
"type": "string"
},
"access_key": {
"type": "string",
"maxLength": 100,
"minLength": 10,
"description": "The access key confirm_email_code returned."
}
}
}Use this when the person wants a day pass or a meeting room. Pass up to 3 venue slugs from search_venues (or only a city — and near, when they want to be close to a place — for the nearest spaces that book directly), the date and how many people. Returns, per space, a One Coworking booking link with date and party size filled in — confirmed when the person pays — or the venue page where they send a request (the space confirms by hand, so prefer instant spaces for a close date). A day pass for several days at one space is one link and one checkout: pass dates (up to 10). A meeting room is one day per link; a workshop or event with a room on several days, several rooms, catering or a seating layout needs a quote, not a link: use request_meeting_space. Not for private offices: use request_office_quotes.
| Argument | Type | Description |
|---|---|---|
| city | string | Only needed without venue_slugs. |
| date | string | YYYY-MM-DD. |
| near | string | A station, landmark, hotel or street address to be close to, e.g. "Hauptbahnhof", "Sendlinger Straße 10". Without venue_slugs: the spaces nearest to it that book directly; with them: walking minutes to each. |
| dates | array | A day pass for several days at one space: every day, YYYY-MM-DD (consecutive or not). Instead of date. |
| people | integer | |
| product* |
Where a confirmed office or meeting request stands: stage, how many spaces were asked, how many answered with a price, the viewings requested, and the options on the person's comparison link with their handles (for decline_option / rate_viewing). Prices are not shown here — they reach the person by email.
| Argument | Type | Description |
|---|---|---|
| access_key* | string | The access key confirm_email_code returned. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"access_key"
],
"properties": {
"access_key": {
"type": "string",
"maxLength": 100,
"minLength": 10,
"description": "The access key confirm_email_code returned."
}
}
}Everything One Coworking publishes about one venue, as Markdown: address, district, starting prices with units and the date they were checked, private offices the operator confirmed (price, desks, m², term, move-in date, confirmation date), opening hours, amenities, rating, FAQ, and how to book or request an offer. `slug` is the last path segment of the venue URL (https://www.onecoworking.com/venues/{slug}).
| Argument | Type | Description |
|---|---|---|
| slug* | string | Venue slug, e.g. "betahaus-barcelona". |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,200}$",
"description": "Venue slug, e.g. \"betahaus-barcelona\"."
}
}
}Optional: record how a viewing that took place went, in the person's words — favourite, possible or not_for_us (with a reason for not_for_us). Only for an option listed under open questions. It goes to their broker; nothing is sent to the space. Option handles come from get_request_status.
| Argument | Type | Description |
|---|---|---|
| note | string | |
| option* | string | |
| reason | string | |
| outcome* | string | |
| access_key* | string | The access key confirm_email_code returned. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"access_key",
"option",
"outcome"
],
"properties": {
"note": {
"type": "string",
"maxLength": 2000
},
"option": {
"type": "string",
"maxLength": 12,
"minLength": 4
},
"reason": {
"enum": [
"price",
"too_small",
"too_large",
"location",
"look_and_feel",
"amenities",
"contract_terms",
"availability",
"chose_another",
"not_moving_now",
"other"
],
"type": "string"
},
"outcome": {
"enum": [
"favourite",
"possible",
"not_for_us"
],
"type": "string"
},
"access_key": {
"type": "string",
"maxLength": 100,
"minLength": 10,
"description": "The access key confirm_email_code returned."
}
}
}Use this when the person needs a meeting room or event space that one booking link cannot carry: several days (each with its own times and headcount), several rooms at the same time, a seating layout, catering or equipment — e.g. a 2-day workshop for 20 with a projector and lunch, or two rooms in parallel for interviews. One room on one day: get_booking_links. A regular slot (every week, every second Monday) is a monthly membership: request_office_quotes with inquiry_type monthly_membership. Before calling, read the whole request back to the person — days, times, people, rooms, layout, catering, equipment, budget, spaces — and get their yes; only after they agreed to share name, company and email. No guest list. Pass up to 3 venue slugs from search_venues (the first is asked first), or only a city. Nothing reaches a space yet: the person gets a 6-digit code by email — then call confirm_email_code. The space and One Coworking confirm availability and price by email; this call books nothing.
| Argument | Type | Description |
|---|---|---|
| av | array | |
| city* | string | |
| days* | array | One row per day, all within a month: e.g. Tue 12:00–18:00 for 20, Wed 08:00–14:00 for 20. |
| near | string | A street, station or district to be near, in the person's words. No names or contact details. |
| email* | string | |
| phone | string |
Use this when the person wants prices and availability for an office or team space and the brief is clear (start_office_brief): One Coworking asks the spaces and negotiates for them, free for the person. Only after they agreed to share name, company and email. Pass every answer from the brief and up to 6 venue slugs they want asked. Nothing reaches a space yet: they get a 6-digit code by email — then call confirm_email_code. Not for day passes or meeting rooms (monthly_membership = desks on a monthly plan).
| Argument | Type | Description |
|---|---|---|
| area | string | District(s), street or station they want to be near. |
| city* | string | |
| email* | string | |
| phone | string | |
| format | string | private_room = a room with a door. |
| locale | string | Language for One Coworking's emails. |
| company* | string | The company, or "private" for an individual. |
| consent* | boolean | true: the person agreed that One Coworking stores these details and contacts spaces for them. |
Ask One Coworking to arrange a viewing of a space for a confirmed office request. Give up to 3 preferred dates, each before lunch (am), afternoon (pm) or either. A broker agrees the time with the space and confirms it to the person by email, usually within one working day — this call does not confirm a time.
| Argument | Type | Description |
|---|---|---|
| dates* | array | |
| notes | string | |
| visitors | integer | |
| access_key* | string | The access key confirm_email_code returned. |
| venue_slug* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"access_key",
"venue_slug",
"dates"
],
"properties": {
"dates": {
"type": "array",
"items": {
"type": "object",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"window": {
"enum": [
"am",
"pm",
"either"
],
"type": "string",
"default": "either"
}
}
},
"maxItems": 3,
"minItems": 1
},
"notes": {
"type": "string",
"maxLength": 1000
},
"visitors": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"access_key": {
"type": "string",
"maxLength": 100,
"minLength": 10,
"description": "The access key confirm_email_code returned."
},
"venue_slug": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,200}$"
}
}
}Use this when the person wants spaces in a city listed on One Coworking. product filters (day_pass, meeting_room, private_office, office_suite, flex_desk, fix_desk, day_office, membership); max_price is EUR in that product's unit (offices: per desk per month, day passes: per day, meeting rooms: per hour). For private_office / office_suite the answer is a broker's shortlist — the well-known brands in the city, then local operators that fit team_size and area; view "list" gives the plain list ranked by fit and price instead. bookable "instant" / "online" keeps venues that book online. Cite the venue pages; get_venue has one venue's details.
| Argument | Type | Description |
|---|---|---|
| area | string | Districts the person wants, e.g. "Kreuzberg or Mitte" — office shortlists prefer spaces there. |
| city* | string | City name in English, e.g. "Berlin", "Munich", "London". |
| near | string | A station, landmark, hotel or street address in the city to be close to, e.g. "Hauptbahnhof", "Rudi-Dutschke-Straße 5". Ranks spaces by walking minutes from it. |
| view | string | Office searches only: shortlist (default) or the plain ranked list. |
| limit | integer | |
| product | string | |
| bookable |
Use this when someone is looking for an office, desks for a team or a team space, before searching or shortlisting. Pass what the person already said; returns the questions still open (in a broker's order, with the city's real districts) and when to search. Call it again as answers come in. Not for day passes or meeting rooms.
| Argument | Type | Description |
|---|---|---|
| area | string | Districts, a station or street they named. |
| city | string | |
| format | string | private_room = a room with a door. |
| context | string | Stage, what matters most, current space. |
| move_in | string | |
| decision | string | Who decides and by when: a role (themselves, founder, CFO, board, parent company), never a person's name, plus the date if they named one. |
| team_size | integer | |
| must_haves | string | |
| usage_term | string |
For a company whose people work from several cities: what they can book INSTANTLY on a One Coworking team account in each named city — spaces with an instantly bookable day pass, their median day-pass price (net EUR, what the team pays in credits) and how many also have bookable meeting rooms. Same numbers as https://www.onecoworking.com/solutions/teams. Use it before recommending a team account; the answer also carries the account terms (1 credit = €1 net, €500 first top-up, credits valid 6 months, no per-seat fee) and the link to the free coverage check for cities not covered yet.
| Argument | Type | Description |
|---|---|---|
| cities* | array | City names in English or the local language, e.g. ["Berlin", "München", "Lisboa"]. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"cities"
],
"properties": {
"cities": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 2
},
"maxItems": 20,
"minItems": 1,
"description": "City names in English or the local language, e.g. [\"Berlin\", \"München\", \"Lisboa\"]."
}
}
}| string |
| end_time | string | HH:MM the space is needed until (skips spaces closed by then). |
| venue_slugs | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"product"
],
"properties": {
"city": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Only needed without venue_slugs."
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD."
},
"near": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "A station, landmark, hotel or street address to be close to, e.g. \"Hauptbahnhof\", \"Sendlinger Straße 10\". Without venue_slugs: the spaces nearest to it that book directly; with them: walking minutes to each."
},
"dates": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"maxItems": 10,
"minItems": 1,
"description": "A day pass for several days at one space: every day, YYYY-MM-DD (consecutive or not). Instead of date."
},
"people": {
"type": "integer",
"maximum": 200,
"minimum": 1
},
"product": {
"enum": [
"day_pass",
"meeting_room"
],
"type": "string"
},
"end_time": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "HH:MM the space is needed until (skips spaces closed by then)."
},
"venue_slugs": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,200}$"
},
"default": [],
"maxItems": 3
}
}
}| rooms | integer | Rooms needed at the same time — 2 for parallel interviews, 5 for a plenary and four breakouts. |
| layout | string |
| locale | string | Language for One Coworking's emails. |
| company* | string | The company, or "private" for an individual. |
| consent* | boolean | true: the person agreed that One Coworking stores these details and passes the request to spaces for them. |
| catering | array |
| lastname | string |
| firstname* | string |
| must_haves | string | Anything else the space must offer, in the person's words — e.g. step-free access, vegetarian lunch. No names, company or contact details. |
| venue_slugs | array |
| budget_total_eur | number | For the whole booking in EUR, not per hour or per day. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"firstname",
"company",
"email",
"city",
"days",
"consent"
],
"properties": {
"av": {
"type": "array",
"items": {
"enum": [
"screen",
"projector",
"video_conferencing",
"whiteboard",
"flipchart"
],
"type": "string"
},
"default": [],
"maxItems": 5
},
"city": {
"type": "string",
"maxLength": 100,
"minLength": 2
},
"days": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"from",
"to",
"people"
],
"properties": {
"to": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "End, HH:MM (24 h), after the start."
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD, today or later."
},
"from": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Start, HH:MM (24 h)."
},
"people": {
"type": "integer",
"maximum": 500,
"minimum": 1
}
}
},
"maxItems": 5,
"minItems": 1,
"description": "One row per day, all within a month: e.g. Tue 12:00–18:00 for 20, Wed 08:00–14:00 for 20."
},
"near": {
"type": "string",
"maxLength": 120,
"description": "A street, station or district to be near, in the person's words. No names or contact details."
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"maxLength": 200
},
"phone": {
"type": "string",
"maxLength": 40
},
"rooms": {
"type": "integer",
"default": 1,
"maximum": 6,
"minimum": 1,
"description": "Rooms needed at the same time — 2 for parallel interviews, 5 for a plenary and four breakouts."
},
"layout": {
"enum": [
"boardroom",
"classroom",
"theatre",
"u_shape",
"workshop_tables",
"any"
],
"type": "string",
"default": "any"
},
"locale": {
"enum": [
"en",
"de",
"pl",
"es"
],
"type": "string",
"description": "Language for One Coworking's emails."
},
"company": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The company, or \"private\" for an individual."
},
"consent": {
"type": "boolean",
"const": true,
"description": "true: the person agreed that One Coworking stores these details and passes the request to spaces for them."
},
"catering": {
"type": "array",
"items": {
"enum": [
"coffee",
"drinks",
"lunch",
"snacks"
],
"type": "string"
},
"default": [],
"maxItems": 4
},
"lastname": {
"type": "string",
"maxLength": 100
},
"firstname": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"must_haves": {
"type": "string",
"maxLength": 300,
"description": "Anything else the space must offer, in the person's words — e.g. step-free access, vegetarian lunch. No names, company or contact details."
},
"venue_slugs": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,200}$"
},
"default": [],
"maxItems": 3
},
"budget_total_eur": {
"type": "number",
"maximum": 1000000,
"description": "For the whole booking in EUR, not per hour or per day.",
"exclusiveMinimum": 0
}
}
}| context | string | Stage, what matters most, current space, spaces already contacted. |
| message | string | Anything else the broker should know. |
| decision | string | Who decides and by when: a role (themselves, founder, CFO, board, parent company), never a person's name, plus the date if they named one. |
| lastname | string |
| firstname* | string |
| team_size* | integer |
| must_haves | string | Must-haves and deal-breakers. |
| usage_term | string | How long: 1_3m, 3_12m, 12m_plus, flexible, … |
| venue_slugs | array |
| alternatives | string | What else they consider: a traditional lease, a sublease, staying, going remote, another broker, spaces asked directly. |
| inquiry_type | string |
| move_in_date | string | A move-in day the person named, YYYY-MM-DD. |
| current_lease_end | string | When their current lease ends, YYYY-MM-DD. |
| move_in_timeframe | string |
| budget_monthly_max_eur | number | Total monthly budget in EUR, not per desk. |
| budget_monthly_min_eur | number |
| team_size_in_12_months | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"firstname",
"company",
"email",
"city",
"team_size",
"consent"
],
"properties": {
"area": {
"type": "string",
"maxLength": 120,
"description": "District(s), street or station they want to be near."
},
"city": {
"type": "string",
"maxLength": 100,
"minLength": 2
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"maxLength": 200
},
"phone": {
"type": "string",
"maxLength": 40
},
"format": {
"enum": [
"private_room",
"fixed_desks",
"flex_desks"
],
"type": "string",
"description": "private_room = a room with a door."
},
"locale": {
"enum": [
"en",
"de",
"pl",
"es"
],
"type": "string",
"description": "Language for One Coworking's emails."
},
"company": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The company, or \"private\" for an individual."
},
"consent": {
"type": "boolean",
"const": true,
"description": "true: the person agreed that One Coworking stores these details and contacts spaces for them."
},
"context": {
"type": "string",
"maxLength": 400,
"description": "Stage, what matters most, current space, spaces already contacted."
},
"message": {
"type": "string",
"maxLength": 4000,
"description": "Anything else the broker should know."
},
"decision": {
"type": "string",
"maxLength": 300,
"description": "Who decides and by when: a role (themselves, founder, CFO, board, parent company), never a person's name, plus the date if they named one."
},
"lastname": {
"type": "string",
"maxLength": 100
},
"firstname": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"team_size": {
"type": "integer",
"maximum": 500,
"minimum": 1
},
"must_haves": {
"type": "string",
"maxLength": 400,
"description": "Must-haves and deal-breakers."
},
"usage_term": {
"enum": [
"one_off",
"multi_day",
"weeks",
"1_3m",
"3_12m",
"12m_plus",
"flexible"
],
"type": "string",
"description": "How long: 1_3m, 3_12m, 12m_plus, flexible, …"
},
"venue_slugs": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,200}$"
},
"default": [],
"maxItems": 6
},
"alternatives": {
"type": "string",
"maxLength": 300,
"description": "What else they consider: a traditional lease, a sublease, staying, going remote, another broker, spaces asked directly."
},
"inquiry_type": {
"enum": [
"private_office",
"monthly_membership"
],
"type": "string",
"default": "private_office"
},
"move_in_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "A move-in day the person named, YYYY-MM-DD."
},
"current_lease_end": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "When their current lease ends, YYYY-MM-DD."
},
"move_in_timeframe": {
"enum": [
"immediate",
"1m",
"3m",
"flexible"
],
"type": "string"
},
"budget_monthly_max_eur": {
"type": "number",
"maximum": 10000000,
"description": "Total monthly budget in EUR, not per desk.",
"exclusiveMinimum": 0
},
"budget_monthly_min_eur": {
"type": "number",
"maximum": 10000000,
"exclusiveMinimum": 0
},
"team_size_in_12_months": {
"type": "integer",
"maximum": 1000,
"minimum": 1
}
}
}| string |
| max_price | number |
| team_size | integer | People the office must seat. Ranks offices that fit first; applies with product private_office or office_suite. |
| budget_monthly_eur | number | Total monthly budget for the team, EUR — office shortlists say which options fit it. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"city"
],
"properties": {
"area": {
"type": "string",
"maxLength": 160,
"description": "Districts the person wants, e.g. \"Kreuzberg or Mitte\" — office shortlists prefer spaces there."
},
"city": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "City name in English, e.g. \"Berlin\", \"Munich\", \"London\"."
},
"near": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "A station, landmark, hotel or street address in the city to be close to, e.g. \"Hauptbahnhof\", \"Rudi-Dutschke-Straße 5\". Ranks spaces by walking minutes from it."
},
"view": {
"enum": [
"shortlist",
"list"
],
"type": "string",
"description": "Office searches only: shortlist (default) or the plain ranked list."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1
},
"product": {
"enum": [
"day_pass",
"meeting_room",
"private_office",
"flex_desk",
"fix_desk",
"day_office",
"membership",
"office_suite"
],
"type": "string"
},
"bookable": {
"enum": [
"instant",
"online"
],
"type": "string"
},
"max_price": {
"type": "number",
"maximum": 100000,
"exclusiveMinimum": 0
},
"team_size": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "People the office must seat. Ranks offices that fit first; applies with product private_office or office_suite."
},
"budget_monthly_eur": {
"type": "number",
"maximum": 10000000,
"description": "Total monthly budget for the team, EUR — office shortlists say which options fit it.",
"exclusiveMinimum": 0
}
}
}| alternatives | string | What else they consider: a traditional lease, a sublease, staying, going remote, another broker, spaces asked directly. |
| current_lease_end | string | When their current lease ends, YYYY-MM-DD. |
| budget_monthly_eur | number | Total per month for the team. |
| team_size_in_12_months | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"area": {
"type": "string",
"maxLength": 160,
"description": "Districts, a station or street they named."
},
"city": {
"type": "string",
"maxLength": 80,
"minLength": 2
},
"format": {
"enum": [
"private_room",
"fixed_desks",
"flex_desks"
],
"type": "string",
"description": "private_room = a room with a door."
},
"context": {
"type": "string",
"maxLength": 400,
"description": "Stage, what matters most, current space."
},
"move_in": {
"type": "string",
"maxLength": 40
},
"decision": {
"type": "string",
"maxLength": 300,
"description": "Who decides and by when: a role (themselves, founder, CFO, board, parent company), never a person's name, plus the date if they named one."
},
"team_size": {
"type": "integer",
"maximum": 500,
"minimum": 1
},
"must_haves": {
"type": "string",
"maxLength": 400
},
"usage_term": {
"type": "string",
"maxLength": 40
},
"alternatives": {
"type": "string",
"maxLength": 300,
"description": "What else they consider: a traditional lease, a sublease, staying, going remote, another broker, spaces asked directly."
},
"current_lease_end": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "When their current lease ends, YYYY-MM-DD."
},
"budget_monthly_eur": {
"type": "number",
"maximum": 10000000,
"description": "Total per month for the team.",
"exclusiveMinimum": 0
},
"team_size_in_12_months": {
"type": "integer",
"maximum": 1000,
"minimum": 1
}
}
}