public List<OrderSubstatus> possibleCancellationReasons(OrderStatus for_status)
	{
		List<OrderSubstatus> ret = new ArrayList<>();
		switch(for_status)
		{
			case PROCESSING:
				ret = Arrays.asList(USER_UNREACHABLE, USER_CHANGED_MIND, USER_REFUSED_DELIVERY, USER_REFUSED_PRODUCT, SHOP_FAILED, REPLACING_ORDER);
				break;
			case DELIVERY:
			case PICKUP:
				ret = Arrays.asList(USER_UNREACHABLE, USER_CHANGED_MIND, USER_REFUSED_DELIVERY, USER_REFUSED_PRODUCT, USER_REFUSED_QUALITY, SHOP_FAILED);
				break;
			default:
				break;
		}

		return ret;
	}