diff --git a/src/c3nav/mapdata/schemas/model_base.py b/src/c3nav/mapdata/schemas/model_base.py index c26cac2a..4039cb44 100644 --- a/src/c3nav/mapdata/schemas/model_base.py +++ b/src/c3nav/mapdata/schemas/model_base.py @@ -340,7 +340,7 @@ class SimpleGeometryLocationsSchema(BaseSchema): CustomLocationID = Annotated[NonEmptyStr, APIField( title="custom location ID", - pattern=r"c:[a-z0-9-_]+:(-?\d+(\.\d+)?):(-?\d+(\.\d+)?)$", + pattern=r"c:[a-z0-9-_.]+:(-?\d+(\.\d+)?):(-?\d+(\.\d+)?)$", example="c:0:-7.23:12.34", description="level short_name and x/y coordinates form the ID of a custom location" )] diff --git a/src/c3nav/mapdata/utils/locations.py b/src/c3nav/mapdata/utils/locations.py index bea34a56..ed8c013d 100644 --- a/src/c3nav/mapdata/utils/locations.py +++ b/src/c3nav/mapdata/utils/locations.py @@ -291,7 +291,7 @@ class CustomLocation: def __post_init__(self): x = round(self.x, 2) y = round(self.y, 2) - self.pk = 'c:%s:%s:%s' % (self.level.short_label, x, y) + self.pk = 'c:%s:%s:%s' % (self.level.level_index, x, y) @property def serialized_geometry(self):