wcway

Find the nearest public toilet worldwide. Read-only tools, no account, no API key.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
94%
命名品質
100%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~4,495Token(工具定義)
~27.7 KB典型回應大小
顯著的注意力影響(128k 上下文的 3.51%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "wcway": {
      "url": "https://wcway.com/mcp"
    }
  }
}

遠端端點

https://wcway.com/mcpstreamable-http

它能做什麼

工具清單

工具(2)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢find_toilets_near(place, country, lat, lon, limit, ...)

Use this when the user asks for the nearest public toilet, or for toilets near a street, station or town. Returns up to 20 toilets sorted by distance, with walk time, access rule, fee, open now, closing time, wheelchair access and a map link. Do not use it for toilet products or plumbing.

輸入結構描述

{
  "type": "object",
  "properties": {
    "place": {
      "type": "string",
      "minLength": 2,
      "maxLength": 200,
      "description": "Street, station, landmark or town from the user message, for example Darmstadt Hauptbahnhof."
    },
    "country": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "ISO 3166-1 alpha-2 code. Narrows the place lookup."
    },
    "lat": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "description": "Latitude, WGS84. Send with lon, if you already know the coordinates."
    },
    "lon": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Longitude, WGS84."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "default": 5
    },
    "open_now": {
      "type": "boolean",
      "description": "Drop toilets that are closed now. Toilets with unknown hours stay and show open_now unknown."
    },
    "wheelchair": {
      "type": "boolean",
      "description": "Only wheelchair-accessible toilets."
    },
    "changing_table": {
      "type": "boolean",
      "description": "Only toilets with a changing table."
    },
    "free": {
      "type": "boolean",
      "description": "Only toilets known to be free of charge."
    },
    "no_purchase_needed": {
      "type": "boolean",
      "description": "Only toilets that need no purchase."
    }
  },
  "required": [],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "required": [
        "status",
        "origin",
        "results",
        "attribution",
        "display_note"
      ],
      "additionalProperties": false,
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "ok",
            "no_results",
            "needs_location",
            "place_not_found"
          ],
          "description": "needs_location and place_not_found are not errors. Ask the user the question in ask_user."
        },
        "origin": {
          "anyOf": [
            {
              "type": "object",
              "required": [
                "lat",
                "lon",
                "label",
                "source"
              ],
              "additionalProperties": false,
              "properties": {
                "lat": {
                  "type": "number"
                },
                "lon": {
                  "type": "number"
                },
                "label": {
                  "type": "string",
                  "description": "The place and its city. A position without a name shows its coordinates.",
                  "examples": [
                    "Luisenplatz, Darmstadt"
                  ]
                },
                "source": {
                  "type": "string",
                  "enum": [
                    "place",
                    "coordinates",
                    "host_hint"
                  ]
                }
              }
            },
            {
              "type": "null"
            }
          ]
        },
        "results": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "name",
              "lat",
              "lon",
              "access",
              "access_rule",
              "scheme_name",
              "fee",
              "opening_hours",
              "open_now",
              "closes_at",
              "wheelchair",
              "changing_table",
              "gender",
              "operator",
              "last_confirmed_at",
              "verification_state",
              "confirmations",
              "cleanliness",
              "confidence",
              "source",
              "partner",
              "provenance",
              "url",
              "directions",
              "geo",
              "distance_m",
              "walk_min",
              "bearing"
            ],
            "additionalProperties": false,
            "properties": {
              "id": {
                "type": "string",
                "examples": [
                  "lt_01J9ZQ"
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "lat": {
                "type": "number"
              },
              "lon": {
                "type": "number"
              },
              "access": {
                "type": "string",
                "enum": [
                  "public",
                  "permissive",
                  "customers",
                  "scheme",
                  "unknown"
                ],
                "description": "Who may use the toilet. public: anyone. permissive: anyone, no purchase needed. customers: customers only. scheme: a public scheme opens a business toilet to everyone."
              },
              "access_rule": {
                "type": "string",
                "enum": [
                  "free",
                  "fee",
                  "customers",
                  "key",
                  "scheme",
                  "unknown"
                ],
                "description": "free and fee: public toilet. customers: purchase or customer status needed. key: key needed. scheme: a public scheme opens a business toilet to everyone. unknown: fee not known."
              },
              "scheme_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "fee": {
                "type": "object",
                "required": [
                  "required",
                  "amount",
                  "currency"
                ],
                "additionalProperties": false,
                "properties": {
                  "required": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "amount": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "currency": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                }
              },
              "opening_hours": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "OpenStreetMap opening_hours syntax."
              },
              "open_now": {
                "description": "Evaluated at the toilet's local time. The value unknown means the source has no usable hours.",
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "const": "unknown"
                  }
                ]
              },
              "closes_at": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Local closing time with UTC offset. Null when unknown or when it never closes."
              },
              "wheelchair": {
                "type": "string",
                "enum": [
                  "yes",
                  "limited",
                  "no",
                  "unknown"
                ]
              },
              "changing_table": {
                "type": "string",
                "enum": [
                  "yes",
                  "no",
                  "unknown"
                ]
              },
              "gender": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "unisex",
                    "female",
                    "male"
                  ]
                },
                "description": "Who the toilet is for. Empty when not known."
              },
              "operator": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "last_confirmed_at": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "verification_state": {
                "type": "string",
                "enum": [
                  "unverified",
                  "source_claimed",
                  "community_confirmed",
                  "partner_confirmed",
                  "disputed"
                ],
                "description": "disputed: an open user report says the toilet is gone, closed or wrong."
              },
              "confirmations": {
                "type": "integer",
                "minimum": 0,
                "description": "User confirmations in the last 12 months."
              },
              "cleanliness": {
                "anyOf": [
                  {
                    "type": "object",
                    "required": [
                      "average",
                      "count"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "average": {
                        "type": "number",
                        "minimum": 1,
                        "maximum": 5
                      },
                      "count": {
                        "type": "integer",
                        "minimum": 1
                      }
                    }
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "User ratings from 1 (dirty) to 5 (spotless). Each person has one rating, and the latest counts. Null when nobody rated it."
              },
              "confidence": {
                "type": "string",
                "enum": [
                  "high",
                  "medium",
                  "low"
                ]
              },
              "source": {
                "type": "string"
              },
              "partner": {
                "anyOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "object",
                    "required": [
                      "name",
                      "tier",
                      "conditions",
                      "opening_hours",
                      "open_now",
                      "closes_at"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "name": {
                        "type": "string",
                        "description": "Business name that the partner gave and a moderator approved."
                      },
                      "tier": {
                        "type": "string",
                        "enum": [
                          "basic",
                          "plus"
                        ]
                      },
                      "conditions": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "everyone",
                              "customers"
                            ]
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "description": "What the business says about who may use the toilet. everyone: free for everyone. customers: customers only. Null when the business said nothing. It is the word of the business, not a checked fact."
                      },
                      "opening_hours": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "Opening hours that the business entered, in OpenStreetMap opening_hours syntax. Null when it entered none."
                      },
                      "open_now": {
                        "description": "Open state from the hours of the business and its live switch, at the toilet's local time. false: the business closed the toilet for now, or its hours say closed. unknown: the business gave no usable hours.",
                        "anyOf": [
                          {
                            "type": "boolean"
                          },
                          {
                            "const": "unknown"
                          }
                        ]
                      },
                      "closes_at": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "Local closing time with UTC offset, from the hours of the business. Null when unknown or when it never closes."
                      }
                    }
                  }
                ],
                "description": "Set when the business behind the toilet pays for a Verified Partner listing. It buys visibility and a label. It never changes the order of the results. Show it as a label only. Conditions, opening_hours and open_now are statements of the business. The toilet's own fields (access, opening_hours, open_now) stay as they are."
              },
              "provenance": {
                "type": "object",
                "required": [
                  "source",
                  "checked",
                  "decided"
                ],
                "additionalProperties": false,
                "description": "Where the facts come from. People can correct every fact. A value that most people vote for replaces the source value. Every fact comes from the source, unless decided lists it.",
                "properties": {
                  "source": {
                    "type": "string",
                    "description": "Source of the toilet record, for example osm."
                  },
                  "checked": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "Month of the last check in the source, for example 2025-06."
                  },
                  "decided": {
                    "type": "object",
                    "description": "Facts that people or a moderator decided. The keys are access, fee, fee_amount, wheelchair, changing_table, gender, opening_hours, name, operator and existence.",
                    "propertyNames": {
                      "enum": [
                        "access",
                        "fee",
                        "fee_amount",
                        "wheelchair",
                        "changing_table",
                        "gender",
                        "opening_hours",
                        "name",
                        "operator",
                        "existence"
                      ]
                    },
                    "additionalProperties": {
                      "type": "object",
                      "required": [
                        "by",
                        "votes_for",
                        "votes_total",
                        "as_of"
                      ],
                      "additionalProperties": false,
                      "properties": {
                        "by": {
                          "type": "string",
                          "enum": [
                            "votes",
                            "moderator"
                          ],
                          "description": "votes: most people voted for the shown value. moderator: a moderator locked the value."
                        },
                        "votes_for": {
                          "type": [
                            "integer",
                            "null"
                          ],
                          "minimum": 0,
                          "description": "People who voted for the shown value. The source value counts as one vote. Null for a moderator."
                        },
                        "votes_total": {
                          "type": [
                            "integer",
                            "null"
                          ],
                          "minimum": 0,
                          "description": "All votes in the last 24 months, including the source value."
                        },
                        "as_of": {
                          "type": "string",
                          "description": "Date of the last count."
                        }
                      }
                    }
                  }
                }
              },
              "url": {
                "type": "string",
                "format": "uri"
              },
              "directions": {
                "type": "object",
                "required": [
                  "google",
                  "apple"
                ],
                "additionalProperties": false,
                "properties": {
                  "google": {
                    "type": "string",
                    "format": "uri"
                  },
                  "apple": {
                    "type": "string",
                    "format": "uri"
                  }
                }
              },
              "geo": {
                "type": "string",
                "description": "geo: URI."
              },
              "distance_m": {
                "type": "integer",
                "minimum": 0
              },
              "walk_min": {
                "type": "integer",
                "minimum": 1
              },
              "bearing": {
                "type": "integer",
                "minimum": 0,
                "maximum": 359,
                "description": "Degrees from north."
              }
            }
          }
        },
        "bbox": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "minItems": 4,
          "maxItems": 4,
          "description": "west, south, east, north of the origin and the results."
        },
        "ask_user": {
          "type": "string"
        },
        "attribution": {
          "type": "object",
          "required": [
            "text",
            "license",
            "url",
            "license_notice_url"
          ],
          "additionalProperties": false,
          "properties": {
            "text": {
              "type": "string",
              "examples": [
                "© OpenStreetMap contributors"
              ]
            },
            "license": {
              "type": "string",
              "examples": [
                "ODbL-1.0"
              ]
            },
            "url": {
              "type": "string",
              "format": "uri"
            },
            "license_notice_url": {
              "type": "string",
              "format": "uri",
              "description": "The page that lists every source with its licence and offers the data dumps."
            }
          }
        },
        "display_note": {
          "type": "string"
        }
      }
    },
    {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "code",
        "message",
        "status",
        "attribution"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "status": {
          "type": "integer"
        },
        "invalid_params": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "name",
              "reason"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "reason": {
                "type": "string"
              }
            }
          }
        },
        "retry_after_seconds": {
          "type": "integer"
        },
        "attribution": {
          "type": "object",
          "required": [
            "text",
            "license",
            "url",
            "license_notice_url"
          ],
          "additionalProperties": false,
          "properties": {
            "text": {
              "type": "string",
              "examples": [
                "© OpenStreetMap contributors"
              ]
            },
            "license": {
              "type": "string",
              "examples": [
                "ODbL-1.0"
              ]
            },
            "url": {
              "type": "string",
              "format": "uri"
            },
            "license_notice_url": {
              "type": "string",
              "format": "uri",
              "description": "The page that lists every source with its licence and offers the data dumps."
            }
          }
        }
      }
    }
  ]
}
🟢get_toilet(id)

Use this when the user asks about one toilet from an earlier answer: hours, access rule, fee, last confirmation. Needs the id from find_toilets_near. The provenance field says how many people confirm each fact, or which source it comes from.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Toilet id from find_toilets_near."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "required": [
        "toilet",
        "attribution",
        "display_note"
      ],
      "additionalProperties": false,
      "properties": {
        "toilet": {
          "type": "object",
          "required": [
            "id",
            "name",
            "lat",
            "lon",
            "access",
            "access_rule",
            "scheme_name",
            "fee",
            "opening_hours",
            "open_now",
            "closes_at",
            "wheelchair",
            "changing_table",
            "gender",
            "operator",
            "last_confirmed_at",
            "verification_state",
            "confirmations",
            "cleanliness",
            "confidence",
            "source",
            "partner",
            "provenance",
            "url",
            "directions",
            "geo",
            "image"
          ],
          "additionalProperties": false,
          "properties": {
            "id": {
              "type": "string",
              "examples": [
                "lt_01J9ZQ"
              ]
            },
            "name": {
              "type": [
                "string",
                "null"
              ]
            },
            "lat": {
              "type": "number"
            },
            "lon": {
              "type": "number"
            },
            "access": {
              "type": "string",
              "enum": [
                "public",
                "permissive",
                "customers",
                "scheme",
                "unknown"
              ],
              "description": "Who may use the toilet. public: anyone. permissive: anyone, no purchase needed. customers: customers only. scheme: a public scheme opens a business toilet to everyone."
            },
            "access_rule": {
              "type": "string",
              "enum": [
                "free",
                "fee",
                "customers",
                "key",
                "scheme",
                "unknown"
              ],
              "description": "free and fee: public toilet. customers: purchase or customer status needed. key: key needed. scheme: a public scheme opens a business toilet to everyone. unknown: fee not known."
            },
            "scheme_name": {
              "type": [
                "string",
                "null"
              ]
            },
            "fee": {
              "type": "object",
              "required": [
                "required",
                "amount",
                "currency"
              ],
              "additionalProperties": false,
              "properties": {
                "required": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "amount": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "currency": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            },
            "opening_hours": {
              "type": [
                "string",
                "null"
              ],
              "description": "OpenStreetMap opening_hours syntax."
            },
            "open_now": {
              "description": "Evaluated at the toilet's local time. The value unknown means the source has no usable hours.",
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "const": "unknown"
                }
              ]
            },
            "closes_at": {
              "type": [
                "string",
                "null"
              ],
              "description": "Local closing time with UTC offset. Null when unknown or when it never closes."
            },
            "wheelchair": {
              "type": "string",
              "enum": [
                "yes",
                "limited",
                "no",
                "unknown"
              ]
            },
            "changing_table": {
              "type": "string",
              "enum": [
                "yes",
                "no",
                "unknown"
              ]
            },
            "gender": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "unisex",
                  "female",
                  "male"
                ]
              },
              "description": "Who the toilet is for. Empty when not known."
            },
            "operator": {
              "type": [
                "string",
                "null"
              ]
            },
            "last_confirmed_at": {
              "type": [
                "string",
                "null"
              ]
            },
            "verification_state": {
              "type": "string",
              "enum": [
                "unverified",
                "source_claimed",
                "community_confirmed",
                "partner_confirmed",
                "disputed"
              ],
              "description": "disputed: an open user report says the toilet is gone, closed or wrong."
            },
            "confirmations": {
              "type": "integer",
              "minimum": 0,
              "description": "User confirmations in the last 12 months."
            },
            "cleanliness": {
              "anyOf": [
                {
                  "type": "object",
                  "required": [
                    "average",
                    "count"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "average": {
                      "type": "number",
                      "minimum": 1,
                      "maximum": 5
                    },
                    "count": {
                      "type": "integer",
                      "minimum": 1
                    }
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "User ratings from 1 (dirty) to 5 (spotless). Each person has one rating, and the latest counts. Null when nobody rated it."
            },
            "confidence": {
              "type": "string",
              "enum": [
                "high",
                "medium",
                "low"
              ]
            },
            "source": {
              "type": "string"
            },
            "partner": {
              "anyOf": [
                {
                  "type": "null"
                },
                {
                  "type": "object",
                  "required": [
                    "name",
                    "tier",
                    "conditions",
                    "opening_hours",
                    "open_now",
                    "closes_at"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "Business name that the partner gave and a moderator approved."
                    },
                    "tier": {
                      "type": "string",
                      "enum": [
                        "basic",
                        "plus"
                      ]
                    },
                    "conditions": {
                      "anyOf": [
                        {
                          "type": "string",
                          "enum": [
                            "everyone",
                            "customers"
                          ]
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "What the business says about who may use the toilet. everyone: free for everyone. customers: customers only. Null when the business said nothing. It is the word of the business, not a checked fact."
                    },
                    "opening_hours": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Opening hours that the business entered, in OpenStreetMap opening_hours syntax. Null when it entered none."
                    },
                    "open_now": {
                      "description": "Open state from the hours of the business and its live switch, at the toilet's local time. false: the business closed the toilet for now, or its hours say closed. unknown: the business gave no usable hours.",
                      "anyOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "const": "unknown"
                        }
                      ]
                    },
                    "closes_at": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Local closing time with UTC offset, from the hours of the business. Null when unknown or when it never closes."
                    }
                  }
                }
              ],
              "description": "Set when the business behind the toilet pays for a Verified Partner listing. It buys visibility and a label. It never changes the order of the results. Show it as a label only. Conditions, opening_hours and open_now are statements of the business. The toilet's own fields (access, opening_hours, open_now) stay as they are."
            },
            "provenance": {
              "type": "object",
              "required": [
                "source",
                "checked",
                "decided"
              ],
              "additionalProperties": false,
              "description": "Where the facts come from. People can correct every fact. A value that most people vote for replaces the source value. Every fact comes from the source, unless decided lists it.",
              "properties": {
                "source": {
                  "type": "string",
                  "description": "Source of the toilet record, for example osm."
                },
                "checked": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Month of the last check in the source, for example 2025-06."
                },
                "decided": {
                  "type": "object",
                  "description": "Facts that people or a moderator decided. The keys are access, fee, fee_amount, wheelchair, changing_table, gender, opening_hours, name, operator and existence.",
                  "propertyNames": {
                    "enum": [
                      "access",
                      "fee",
                      "fee_amount",
                      "wheelchair",
                      "changing_table",
                      "gender",
                      "opening_hours",
                      "name",
                      "operator",
                      "existence"
                    ]
                  },
                  "additionalProperties": {
                    "type": "object",
                    "required": [
                      "by",
                      "votes_for",
                      "votes_total",
                      "as_of"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "by": {
                        "type": "string",
                        "enum": [
                          "votes",
                          "moderator"
                        ],
                        "description": "votes: most people voted for the shown value. moderator: a moderator locked the value."
                      },
                      "votes_for": {
                        "type": [
                          "integer",
                          "null"
                        ],
                        "minimum": 0,
                        "description": "People who voted for the shown value. The source value counts as one vote. Null for a moderator."
                      },
                      "votes_total": {
                        "type": [
                          "integer",
                          "null"
                        ],
                        "minimum": 0,
                        "description": "All votes in the last 24 months, including the source value."
                      },
                      "as_of": {
                        "type": "string",
                        "description": "Date of the last count."
                      }
                    }
                  }
                }
              }
            },
            "url": {
              "type": "string",
              "format": "uri"
            },
            "directions": {
              "type": "object",
              "required": [
                "google",
                "apple"
              ],
              "additionalProperties": false,
              "properties": {
                "google": {
                  "type": "string",
                  "format": "uri"
                },
                "apple": {
                  "type": "string",
                  "format": "uri"
                }
              }
            },
            "geo": {
              "type": "string",
              "description": "geo: URI."
            },
            "image": {
              "anyOf": [
                {
                  "type": "object",
                  "required": [
                    "url",
                    "width",
                    "height",
                    "credit",
                    "licence",
                    "licence_url",
                    "source_url"
                  ],
                  "additionalProperties": false,
                  "properties": {
                    "url": {
                      "type": "string",
                      "format": "uri",
                      "description": "The picture, served from this site. A client needs no other host."
                    },
                    "width": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "height": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "credit": {
                      "type": "string",
                      "description": "Name of the author. Show it next to the photo."
                    },
                    "licence": {
                      "type": "string",
                      "description": "Short name of the licence, for example CC BY-SA 4.0. Show it next to the photo."
                    },
                    "licence_url": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "uri",
                      "description": "Text of the licence. Null for a work in the public domain."
                    },
                    "source_url": {
                      "type": "string",
                      "format": "uri",
                      "description": "Page of the picture at Wikimedia Commons or Panoramax."
                    }
                  }
                },
                {
                  "type": "null"
                }
              ],
              "description": "A photo of the toilet. OpenStreetMap links it from Wikimedia Commons or Panoramax. It is set only when the licence is free (CC0, public domain, CC BY, CC BY-SA, Etalab Open Licence) and the author is known. Else it is null. Show credit and licence next to the photo."
            }
          }
        },
        "attribution": {
          "type": "object",
          "required": [
            "text",
            "license",
            "url",
            "license_notice_url"
          ],
          "additionalProperties": false,
          "properties": {
            "text": {
              "type": "string",
              "examples": [
                "© OpenStreetMap contributors"
              ]
            },
            "license": {
              "type": "string",
              "examples": [
                "ODbL-1.0"
              ]
            },
            "url": {
              "type": "string",
              "format": "uri"
            },
            "license_notice_url": {
              "type": "string",
              "format": "uri",
              "description": "The page that lists every source with its licence and offers the data dumps."
            }
          }
        },
        "display_note": {
          "type": "string"
        }
      }
    },
    {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "code",
        "message",
        "status",
        "attribution"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "status": {
          "type": "integer"
        },
        "invalid_params": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "name",
              "reason"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "reason": {
                "type": "string"
              }
            }
          }
        },
        "retry_after_seconds": {
          "type": "integer"
        },
        "attribution": {
          "type": "object",
          "required": [
            "text",
            "license",
            "url",
            "license_notice_url"
          ],
          "additionalProperties": false,
          "properties": {
            "text": {
              "type": "string",
              "examples": [
                "© OpenStreetMap contributors"
              ]
            },
            "license": {
              "type": "string",
              "examples": [
                "ODbL-1.0"
              ]
            },
            "url": {
              "type": "string",
              "format": "uri"
            },
            "license_notice_url": {
              "type": "string",
              "format": "uri",
              "description": "The page that lists every source with its licence and offers the data dumps."
            }
          }
        }
      }
    }
  ]
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本2 個工具