Содержание

Маршруты

В зависимости от установленных флагов формат ответа может варьироваться.

В данном разделе рассмотрены флаги, применимые к маршрутам, и части результирующего JSON, за которые они отвечают. При указании нескольких флагов части будут собираться в один JSON.

:!: Все флаги используются только в DEC формате.

Флаги маршрутов:

Значение HEX Значение DEC Описание
0x00000001 1 базовый флаг
0x00000002 2 произвольные свойства
0x00000004 4 свойства биллинга
0x00000040 64 GUID
0x00000080 128 административные записи
0x00000100 256 конфигурация
0x00000200 512 контрольные точки
0x00000400 1024 расписания
0x00000800 2048 рейсы
0x3FFFFFFFFFFFFFFF 4611686018427387903 устанавливает все возможные флаги для маршрута

Основные свойства

Флаг - 0x00000001

{
	"nm":<text>,	/* название */
	"cls":<uint>,	/* ID базового класса "avl_route" */
	"id":<unit>,	/* ID маршрута */
	"mu":<uint>,	/* единицы измерения: 0 - si, 1 - us, 2 - имперская, 3 - метрическая с галлонами */
	"uacl":<unit>	/* уровень доступа к маршруту у текущего пользователя */	
}

Произвольные свойства

Флаг - 0x00000002

В произвольных свойствах вы можете сохранять любые нужные вам данные о маршруте.

{
	"prp":{}	/* произвольные свойства */
}

Биллинг

Флаг - 0x00000004

{
	"crt":<uint>,	/* ID создателя */
	"bact":<unit>	/* ID учетной записи */	
}

GUID

Флаг - 0x00000040

{
	"gd":<text>	/* GUID маршрута */
}

Административные записи

Flag - 0x00000080

{
	"aflds":{	/* административные записи */		
		<text>:{	/* порядковый номер */
			"id":<uint>,	/* ID */
			"n":<text>,	/* название */
			"v":<text>	/* значение */
		},
		...
	},
	"afldsmax":<long>,	/* максимально допустимое количество административных записей (-1 - не ограничено) */
}

Конфигурация

Флаг - 0x00000100

{
	"rcfg":{	/* конфигурация маршрута */
		"color":<long>,		/* цвет (ARGB) */
		"descr":<text>,		/* описание */
		"units":[<long>]	/* массив ID объектов */
	}	
}

Контрольные точки

Флаг - 0x00000200

{
	"rpts":[	/* точки маршрута */
		{
			"n":<text>,	/* название */
			"f":<uint>,	/* тип точки (см. ниже) */
			"u":<long>,	/* ID объекта, 0 - если контрольная точка не из числа объектов*/
			"y":<double>,	/* долгота */
			"x":<double>,	/* широта */
			"r":<uint>	/* радиус, м */
		},
		...
	]
}

Типы точек:

Расписания

Флаг - 0x00000400

{
	"rs":{	/* расписания маршрута */
		<text>:{	/* порядковый номер расписания */
			"id":<long>,	/* ID рапсисания */
			"n":<text>,	/* название */
			"f":<uint>,	/* тип расписания */
			"tz":<uint>,	/* часовой пояс */
			"cfg":{		/* произвольная конфигурация (пример) */
				"autoName":<byte>,	/* использовать автоматически сгенерированное название:  0 - нет, 1 - да */
				"enabled":<byte>,	/* автоматическое создание рейсов для данного расписания: 1 - включить, 0 - выключить */
				"name":<text>,		/* название рейса */
				"roundFlags":<uint>,	/* флаги рейса */
				"units":[<long>],	/* массив ID объектов */
				"validityPeriod":<uint>	/* срок действия */
			},
			"tm":[		/* время прохождения точек */
				{
					"at":<uint>,	/* время прибытия */
					"ad":<uint>,	/* отклонение от времени прибытия */
					"dt":<uint>,	/* время отправления */
					"dd":<uint>	/* отклонение от времени отправления */
				}
			],
			"sch":{
				"f1":<uint>,	/* начало интервала 1 */
				"f2":<uint>,	/* начало интервала 2 */
				"t1":<uint>,	/* окончание интервала 1 */
				"t2":<uint>,	/* окончание интервала 2 */
				"m":<uint>,	/* маска дней месяца */
				"y":<uint>,	/* маска месяцев */
				"w":<uint>	/* маска дней недели */
			}
		},
		...
	}
}

Типы расписаний рассмотрены в разделе Расписания: создание, редактирование и удаление.

Рейсы

Флаг - 0x00000800

{
	"rr":{		/* рейсы маршрута */		
		<text>:{	/* порядковый номер рейса  */
			"id":<long>,	/* ID рейса */
			"n":<text>,	/* название рейса */
			"d":<text>,	/* описание */
			"sh":<text>,	/* название расписания */
				"f":<uint>,	/* флаги рейса */
				"tz":<uint>,	/* часовой пояс */
				"u":<long>,	/* объект, назначенный на этот рейс: если не указан, то будет назначен первый объект из массива cu, который вышел из первой контрольной точки */
				"at":<uint>,	/* время активации */
				"vt":<uint>,	/* время, от которого отчитывается срок действия */
				"vp":<uint>,	/* срок действия */
				"sts":<uint>,	/* флаги состояния рейса */
				"st":{		/* состояние рейса */
					"st":{		/* общее состояние рейса */
						"pi":<uint>,	/* индекс контрольной точки, если 4294967295 - рейс еще не начался */	
						"ps":<uint>,	/* флаги состояния + флаги событий */
						"ut":<uint>	/* время последнего события */
					},
					"pts":{ 	/* состояние по точкам */
						<text>:{	/* ID контрольной точки */
							"st": <uint>,	/* флаги событий */
							"tm": <uint>	/* время последнего события */
						},
						...
					}
				}
		},
		...		
	}
}

Значения флагов рейса, событий и состояния рейса можно посмотреть в разделе Информация о рейсах.