Содержание

Маршруты

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

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

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

Значение Описание
0x00000001 базовый флаг
0x00000002 произвольные свойства
0x00000004 свойства биллинга
0x00000040 GUID
0x00000080 административные записи
0x00000100 конфигурация
0x00000200 контрольные точки
0x00000400 расписания
0x00000800 рейсы
0x3FFFFFFFFFFFFFFF устанавливает все возможные флаги для маршрута

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

Флаг - 0x00000001

{
	"nm":<text>,	/* название */
	"cls":<uint>,	/* ID базового класса "avl_route" */
	"id":<unit>,	/* ID маршрута */
	"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>	/* время последнего события */
						},
						...
					}
				}
		},
		...		
	}
}

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