/* =================================================== * jquery-sortable.js v0.9.13 * http://johnny.github.com/jquery-sortable/ * =================================================== * Copyright (c) 2012 Jonas von Andrian * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ========================================================== */ !function ( $, window, pluginName, undefined){ var containerDefaults = { // If true, items can be dragged from this container drag: true, // If true, items can be droped onto this container drop: true, // Exclude items from being draggable, if the // selector matches the item exclude: "", // If true, search for nested containers within an item.If you nest containers, // either the original selector with which you call the plugin must only match the top containers, // or you need to specify a group (see the bootstrap nav example) nested: true, // If true, the items are assumed to be arranged vertically vertical: true }, // end container defaults groupDefaults = { // This is executed after the placeholder has been moved. // $closestItemOrContainer contains the closest item, the placeholder // has been put at or the closest empty Container, the placeholder has // been appended to. afterMove: function ($placeholder, container, $closestItemOrContainer) { }, // The exact css path between the container and its items, e.g. "> tbody" containerPath: "", // The css selector of the containers containerSelector: "ol, ul", // Distance the mouse has to travel to start dragging distance: 0, // Time in milliseconds after mousedown until dragging should start. // This option can be used to prevent unwanted drags when clicking on an element. delay: 0, // The css selector of the drag handle handle: "", // The exact css path between the item and its subcontainers. // It should only match the immediate items of a container. // No item of a subcontainer should be matched. E.g. for ol>div>li the itemPath is "> div" itemPath: "", // The css selector of the items itemSelector: "li", // The class given to "body" while an item is being dragged bodyClass: "dragging", // The class giving to an item while being dragged draggedClass: "dragged", // Check if the dragged item may be inside the container. // Use with care, since the search for a valid container entails a depth first search // and may be quite expensive. isValidTarget: function ($item, container) { return true }, // Executed before onDrop if placeholder is detached. // This happens if pullPlaceholder is set to false and the drop occurs outside a container. onCancel: function ($item, container, _super, event) { }, // Executed at the beginning of a mouse move event. // The Placeholder has not been moved yet. onDrag: function ($item, position, _super, event) { $item.css(position) }, // Called after the drag has been started, // that is the mouse button is being held down and // the mouse is moving. // The container is the closest initialized container. // Therefore it might not be the container, that actually contains the item. onDragStart: function ($item, container, _super, event) { $item.css({ height: $item.outerHeight(), width: $item.outerWidth() }) $item.addClass(container.group.options.draggedClass) $("body").addClass(container.group.options.bodyClass) }, // Called when the mouse button is being released onDrop: function ($item, container, _super, event) { $item.removeClass(container.group.options.draggedClass).removeAttr("style") $("body").removeClass(container.group.options.bodyClass) }, // Called on mousedown. If falsy value is returned, the dragging will not start. // Ignore if element clicked is input, select or textarea onMousedown: function ($item, _super, event) { if (!event.target.nodeName.match(/^(input|select|textarea)$/i)) { event.preventDefault() return true } }, // The class of the placeholder (must match placeholder option markup) placeholderClass: "placeholder", // Template for the placeholder. Can be any valid jQuery input // e.g. a string, a DOM element. // The placeholder must have the class "placeholder" placeholder: '
  • ', // If true, the position of the placeholder is calculated on every mousemove. // If false, it is only calculated when the mouse is above a container. pullPlaceholder: true, // Specifies serialization of the container group. // The pair $parent/$children is either container/items or item/subcontainers. serialize: function ($parent, $children, parentIsContainer) { var result = $.extend({}, $parent.data()) if(parentIsContainer) return [$children] else if ($children[0]){ result.children = $children } delete result.subContainers delete result.sortable return result }, // Set tolerance while dragging. Positive values decrease sensitivity, // negative values increase it. tolerance: 0 }, // end group defaults containerGroups = {}, groupCounter = 0, emptyBox = { left: 0, top: 0, bottom: 0, right:0 }, eventNames = { start: "touchstart.sortable mousedown.sortable", drop: "touchend.sortable touchcancel.sortable mouseup.sortable", drag: "touchmove.sortable mousemove.sortable", scroll: "scroll.sortable" }, subContainerKey = "subContainers" /* * a is Array [left, right, top, bottom] * b is array [left, top] */ function d(a,b) { var x = Math.max(0, a[0] - b[0], b[0] - a[1]), y = Math.max(0, a[2] - b[1], b[1] - a[3]) return x+y; } function setDimensions(array, dimensions, tolerance, useOffset) { var i = array.length, offsetMethod = useOffset ? "offset" : "position" tolerance = tolerance || 0 while(i--){ var el = array[i].el ? array[i].el : $(array[i]), // use fitting method pos = el[offsetMethod]() pos.left += parseInt(el.css('margin-left'), 10) pos.top += parseInt(el.css('margin-top'),10) dimensions[i] = [ pos.left - tolerance, pos.left + el.outerWidth() + tolerance, pos.top - tolerance, pos.top + el.outerHeight() + tolerance ] } } function getRelativePosition(pointer, element) { var offset = element.offset() return { left: pointer.left - offset.left, top: pointer.top - offset.top } } function sortByDistanceDesc(dimensions, pointer, lastPointer) { pointer = [pointer.left, pointer.top] lastPointer = lastPointer && [lastPointer.left, lastPointer.top] var dim, i = dimensions.length, distances = [] while(i--){ dim = dimensions[i] distances[i] = [i,d(dim,pointer), lastPointer && d(dim, lastPointer)] } distances = distances.sort(function (a,b) { return b[1] - a[1] || b[2] - a[2] || b[0] - a[0] }) // last entry is the closest return distances } function ContainerGroup(options) { this.options = $.extend({}, groupDefaults, options) this.containers = [] if(!this.options.rootGroup){ this.scrollProxy = $.proxy(this.scroll, this) this.dragProxy = $.proxy(this.drag, this) this.dropProxy = $.proxy(this.drop, this) this.placeholder = $(this.options.placeholder) if(!options.isValidTarget) this.options.isValidTarget = undefined } } ContainerGroup.get = function (options) { if(!containerGroups[options.group]) { if(options.group === undefined) options.group = groupCounter ++ containerGroups[options.group] = new ContainerGroup(options) } return containerGroups[options.group] } ContainerGroup.prototype = { dragInit: function (e, itemContainer) { this.$document = $(itemContainer.el[0].ownerDocument) // get item to drag var closestItem = $(e.target).closest(this.options.itemSelector); // using the length of this item, prevents the plugin from being started if there is no handle being clicked on. // this may also be helpful in instantiating multidrag. if (closestItem.length) { this.item = closestItem; this.itemContainer = itemContainer; if (this.item.is(this.options.exclude) || !this.options.onMousedown(this.item, groupDefaults.onMousedown, e)) { return; } this.setPointer(e); this.toggleListeners('on'); this.setupDelayTimer(); this.dragInitDone = true; } }, drag: function (e) { if(!this.dragging){ if(!this.distanceMet(e) || !this.delayMet) return this.options.onDragStart(this.item, this.itemContainer, groupDefaults.onDragStart, e) this.item.before(this.placeholder) this.dragging = true } this.setPointer(e) // place item under the cursor this.options.onDrag(this.item, getRelativePosition(this.pointer, this.item.offsetParent()), groupDefaults.onDrag, e) var p = this.getPointer(e), box = this.sameResultBox, t = this.options.tolerance if(!box || box.top - t > p.top || box.bottom + t < p.top || box.left - t > p.left || box.right + t < p.left) if(!this.searchValidTarget()){ this.placeholder.detach() this.lastAppendedItem = undefined } }, drop: function (e) { this.toggleListeners('off') this.dragInitDone = false if(this.dragging){ // processing Drop, check if placeholder is detached if(this.placeholder.closest("html")[0]){ this.placeholder.before(this.item).detach() } else { this.options.onCancel(this.item, this.itemContainer, groupDefaults.onCancel, e) } this.options.onDrop(this.item, this.getContainer(this.item), groupDefaults.onDrop, e) // cleanup this.clearDimensions() this.clearOffsetParent() this.lastAppendedItem = this.sameResultBox = undefined this.dragging = false } }, searchValidTarget: function (pointer, lastPointer) { if(!pointer){ pointer = this.relativePointer || this.pointer lastPointer = this.lastRelativePointer || this.lastPointer } var distances = sortByDistanceDesc(this.getContainerDimensions(), pointer, lastPointer), i = distances.length while(i--){ var index = distances[i][0], distance = distances[i][1] if(!distance || this.options.pullPlaceholder){ var container = this.containers[index] if(!container.disabled){ if(!this.$getOffsetParent()){ var offsetParent = container.getItemOffsetParent() pointer = getRelativePosition(pointer, offsetParent) lastPointer = getRelativePosition(lastPointer, offsetParent) } if(container.searchValidTarget(pointer, lastPointer)) return true } } } if(this.sameResultBox) this.sameResultBox = undefined }, movePlaceholder: function (container, item, method, sameResultBox) { var lastAppendedItem = this.lastAppendedItem if(!sameResultBox && lastAppendedItem && lastAppendedItem[0] === item[0]) return; item[method](this.placeholder) this.lastAppendedItem = item this.sameResultBox = sameResultBox this.options.afterMove(this.placeholder, container, item) }, getContainerDimensions: function () { if(!this.containerDimensions) setDimensions(this.containers, this.containerDimensions = [], this.options.tolerance, !this.$getOffsetParent()) return this.containerDimensions }, getContainer: function (element) { return element.closest(this.options.containerSelector).data(pluginName) }, $getOffsetParent: function () { if(this.offsetParent === undefined){ var i = this.containers.length - 1, offsetParent = this.containers[i].getItemOffsetParent() if(!this.options.rootGroup){ while(i--){ if(offsetParent[0] != this.containers[i].getItemOffsetParent()[0]){ // If every container has the same offset parent, // use position() which is relative to this parent, // otherwise use offset() // compare #setDimensions offsetParent = false break; } } } this.offsetParent = offsetParent } return this.offsetParent }, setPointer: function (e) { var pointer = this.getPointer(e) if(this.$getOffsetParent()){ var relativePointer = getRelativePosition(pointer, this.$getOffsetParent()) this.lastRelativePointer = this.relativePointer this.relativePointer = relativePointer } this.lastPointer = this.pointer this.pointer = pointer }, distanceMet: function (e) { var currentPointer = this.getPointer(e) return (Math.max( Math.abs(this.pointer.left - currentPointer.left), Math.abs(this.pointer.top - currentPointer.top) ) >= this.options.distance) }, getPointer: function(e) { var o = e.originalEvent || e.originalEvent.touches && e.originalEvent.touches[0] return { left: e.pageX || o.pageX, top: e.pageY || o.pageY } }, setupDelayTimer: function () { var that = this this.delayMet = !this.options.delay // init delay timer if needed if (!this.delayMet) { clearTimeout(this._mouseDelayTimer); this._mouseDelayTimer = setTimeout(function() { that.delayMet = true }, this.options.delay) } }, scroll: function (e) { this.clearDimensions() this.clearOffsetParent() // TODO is this needed? }, toggleListeners: function (method) { var that = this, events = ['drag','drop','scroll'] $.each(events,function (i,event) { that.$document[method](eventNames[event], that[event + 'Proxy']) }) }, clearOffsetParent: function () { this.offsetParent = undefined }, // Recursively clear container and item dimensions clearDimensions: function () { this.traverse(function(object){ object._clearDimensions() }) }, traverse: function(callback) { callback(this) var i = this.containers.length while(i--){ this.containers[i].traverse(callback) } }, _clearDimensions: function(){ this.containerDimensions = undefined }, _destroy: function () { containerGroups[this.options.group] = undefined } } function Container(element, options) { this.el = element this.options = $.extend( {}, containerDefaults, options) this.group = ContainerGroup.get(this.options) this.rootGroup = this.options.rootGroup || this.group this.handle = this.rootGroup.options.handle || this.rootGroup.options.itemSelector var itemPath = this.rootGroup.options.itemPath this.target = itemPath ? this.el.find(itemPath) : this.el this.target.on(eventNames.start, this.handle, $.proxy(this.dragInit, this)) if(this.options.drop) this.group.containers.push(this) } Container.prototype = { dragInit: function (e) { var rootGroup = this.rootGroup if( !this.disabled && !rootGroup.dragInitDone && this.options.drag && this.isValidDrag(e)) { rootGroup.dragInit(e, this) } }, isValidDrag: function(e) { return e.which == 1 || e.type == "touchstart" && e.originalEvent.touches.length == 1 }, searchValidTarget: function (pointer, lastPointer) { var distances = sortByDistanceDesc(this.getItemDimensions(), pointer, lastPointer), i = distances.length, rootGroup = this.rootGroup, validTarget = !rootGroup.options.isValidTarget || rootGroup.options.isValidTarget(rootGroup.item, this) if(!i && validTarget){ rootGroup.movePlaceholder(this, this.target, "append") return true } else while(i--){ var index = distances[i][0], distance = distances[i][1] if(!distance && this.hasChildGroup(index)){ var found = this.getContainerGroup(index).searchValidTarget(pointer, lastPointer) if(found) return true } else if(validTarget){ this.movePlaceholder(index, pointer) return true } } }, movePlaceholder: function (index, pointer) { var item = $(this.items[index]), dim = this.itemDimensions[index], method = "after", width = item.outerWidth(), height = item.outerHeight(), offset = item.offset(), sameResultBox = { left: offset.left, right: offset.left + width, top: offset.top, bottom: offset.top + height } if(this.options.vertical){ var yCenter = (dim[2] + dim[3]) / 2, inUpperHalf = pointer.top <= yCenter if(inUpperHalf){ method = "before" sameResultBox.bottom -= height / 2 } else sameResultBox.top += height / 2 } else { var xCenter = (dim[0] + dim[1]) / 2, inLeftHalf = pointer.left <= xCenter if(inLeftHalf){ method = "before" sameResultBox.right -= width / 2 } else sameResultBox.left += width / 2 } if(this.hasChildGroup(index)) sameResultBox = emptyBox this.rootGroup.movePlaceholder(this, item, method, sameResultBox) }, getItemDimensions: function () { if(!this.itemDimensions){ this.items = this.$getChildren(this.el, "item").filter( ":not(." + this.group.options.placeholderClass + ", ." + this.group.options.draggedClass + ")" ).get() setDimensions(this.items, this.itemDimensions = [], this.options.tolerance) } return this.itemDimensions }, getItemOffsetParent: function () { var offsetParent, el = this.el // Since el might be empty we have to check el itself and // can not do something like el.children().first().offsetParent() if(el.css("position") === "relative" || el.css("position") === "absolute" || el.css("position") === "fixed") offsetParent = el else offsetParent = el.offsetParent() return offsetParent }, hasChildGroup: function (index) { return this.options.nested && this.getContainerGroup(index) }, getContainerGroup: function (index) { var childGroup = $.data(this.items[index], subContainerKey) if( childGroup === undefined){ var childContainers = this.$getChildren(this.items[index], "container") childGroup = false if(childContainers[0]){ var options = $.extend({}, this.options, { rootGroup: this.rootGroup, group: groupCounter ++ }) childGroup = childContainers[pluginName](options).data(pluginName).group } $.data(this.items[index], subContainerKey, childGroup) } return childGroup }, $getChildren: function (parent, type) { var options = this.rootGroup.options, path = options[type + "Path"], selector = options[type + "Selector"] parent = $(parent) if(path) parent = parent.find(path) return parent.children(selector) }, _serialize: function (parent, isContainer) { var that = this, childType = isContainer ? "item" : "container", children = this.$getChildren(parent, childType).not(this.options.exclude).map(function () { return that._serialize($(this), !isContainer) }).get() return this.rootGroup.options.serialize(parent, children, isContainer) }, traverse: function(callback) { $.each(this.items || [], function(item){ var group = $.data(this, subContainerKey) if(group) group.traverse(callback) }); callback(this) }, _clearDimensions: function () { this.itemDimensions = undefined }, _destroy: function() { var that = this; this.target.off(eventNames.start, this.handle); this.el.removeData(pluginName) if(this.options.drop) this.group.containers = $.grep(this.group.containers, function(val){ return val != that }) $.each(this.items || [], function(){ $.removeData(this, subContainerKey) }) } } var API = { enable: function() { this.traverse(function(object){ object.disabled = false }) }, disable: function (){ this.traverse(function(object){ object.disabled = true }) }, serialize: function () { return this._serialize(this.el, true) }, refresh: function() { this.traverse(function(object){ object._clearDimensions() }) }, destroy: function () { this.traverse(function(object){ object._destroy(); }) } } $.extend(Container.prototype, API) /** * jQuery API * * Parameters are * either options on init * or a method name followed by arguments to pass to the method */ $.fn[pluginName] = function(methodOrOptions) { var args = Array.prototype.slice.call(arguments, 1) return this.map(function(){ var $t = $(this), object = $t.data(pluginName) if(object && API[methodOrOptions]) return API[methodOrOptions].apply(object, args) || this else if(!object && (methodOrOptions === undefined || typeof methodOrOptions === "object")) $t.data(pluginName, new Container($t, methodOrOptions)) return this }); }; }(jQuery, window, 'sortable'); التأمين من حادث مروري في المانيا 2023
    advertisement

    التأمين من حادث مروري في المانيا 2023

    التأمين من حادث مروري في المانيا 2023
    التأمين من حادث مروري في المانيا 2023
    التأمين من حادث مروري في المانيا 2023 يتم عن طريق تأمين السيارات وفق النظام الألماني! مع أكثر من 92 شركة لتأمينِ المركبات! وأفضل الخدمات بأنواعها المختلفة والتي تضمن دفع تكاليف الأضرار عند الحوادث والكوارث، لكن ما هي أنواع التأمين وهل يتضمن أضرار الآخرين فقط أم يمكن أن يشملك؟ في الحقيقة هناك قواعد تحدد ذلك! لنتابع…

    أنواع التأمين من حادث مروري في المانيا 2023

    أنواع تأمينِ السيارات في ألمَانيا تضمن دفع تكاليفَ الأضرارِ الواقعة بعد الحادث، لكن عليك أن تحرص جيداً على اختيار النوع الذي يناسبك، وهذه الأنواع هي: التأمين الالزامي، التأمين الجزئي، تأمينٌ شامل.

    التأمين الإلزامي:

    يُغطي هذا التَأمين من حادث مروري كل الاضرار الواقعة، لكن بشكل خاصٍ للطرف الآخر صاحب الضرر وليس لك، وهو إلزامي لكل السائقين في البلاد، حيث يشمل أضرار المركباتِ كذلك تكلفة المستشفى في حال اصابة الشخص.

    تأمين جزئي:

    سيفيدك بطريقةٍ ما، إنه يشمل أضرار الطرف الآخر كذلك بالكامل، لكنه يغطي أضرار سيارتك، ليس من حادث المرور انتبه، بل من أضرار الطبيعة والسرقة، كالعواصف، والانهيارات الثلجية، انفجار ربما، وأيضًا الماس الكهربائي للكوابل.

    التأمين الشامل:

    يقدم خدمات كبيرة ومميزة، حيث يتضمن التأمينَ الجزئي، وأيضا كافة تكاليف اضرار الحادث وتكاليف المستشفى في حال الإصابة لك وللطرف الآخر.

    كم يبلغ تامين السيارة في المَانيا؟

    من الصعب تحديد الكلفة الحقيقية لتامين السيارات، حيث يختلف وفقاً لنوعه، فهناك معايير خاصة لتحديده، مثل نوع السيارة، وعمر السائق وخبرته في القيادة، السجل النظيف دون إصابة الحوادث يخفف من السعر كذلك! كما أن هناك نظام مكافآت لعدم المطالبة توفر له خصومات كبيرة على التأمينات!
    بشكلٍ عام تبدأ أسعار التأمين الإجباري من 100 يورو تقريباً، لكن مبالغ التغطية من قبل شركات التأمين تصل لمبالغ عالية جداً!
    • 7.5 مليون يَورو للإصابات الشخصية.
    • 1.12 مليون يورو للأضرار التي تصيب الممتلكات.
    • 50000 يورو لكافة الخسائر المالية.

    كم سعر التأمين الشامل؟

    التغطية الشاملة قد تكلف أكثر من 1000 يَورو تقريباً! كما أن هناك إضافات تستطيع اختيارها للتأمين تزيد من التكلفة بالطبع، مثل:
    • التأمين القانوني للسيارات والذي يغطي كافة المصاريف القانونية في حالِ الحوادث التي تستوجب الذهاب إلى المحكمة.
    • تغطية المعدات الإضافية والتي تشمل محتويات السّيارة والأشياء غالية الثمن داخلها في حالِ السرقة.
    • التأمين للأضرار الأولية الممتدة، وهو يشمل الأضرار التي تقع لسيارتك مثل انهيار جبلي أو ثلجي، وهو ضروري لمن يسكن في منطقة جبلية، أو للأشخاص كثيري السَفر والتنقل.

    كيف اعرف كم سعر تأمين سيارتي؟

    إن أردت معرفة أسعار التأمين بشكلٍ أدق عليكَ أن تعلم ما هي العوامل التي تؤثر عليه، فكل عامل منها قد يزيد من نسبة سعر التأمين أو ينقصه!
    • نوع السَيارة: السنة والموديل والحجم.
    • الوقود المستخدم للسيارة.
    • المحرك: حجم سعته ومدى قوته.
    • عدد السائقين للسيارة.
    • شهادة القِيادة: كم مضى عليها.
    • مسافة رحلاتك خلال العام: توقع عدد الكيلو مترات التي تقطعها خلال سنة.
    • شركة التأمين: جودة الخدمات والسمعة والأسعار.
    كلما كانت السَيارة ذو طراز حديث، ولك أسفار طويلة بها، زادت نسبة التأمين، كما أنه يجب أن تضع بعين الاعتبار الأمر الأسوأ! وهو زيادة تكلفة التأمين في حالات خاص وهي:
    • لو كنت أنت المذنب عند وقوع حادث المرور.
    • القيادةُ بسرعة جنونية وتهور.
    • شرب الكحول.
    التأمين من حادث مروري في المانيا 2023

    تعرف على مكافآت عدم المطالبة في ألمانيا

    من أفضل أنظمة التامينات في ألمانيا مكافأة عدم المطالبة والذي يوفر لك خصومات كبيرة، فإن كنت سائقاً بارعاً ذو قيادة هادئة وملتزم في اتباع قانون المرور ستحظى بحسومات رائعة! ومنها:
    • خصم 30% لكل عام إن م ترد أي شكوى.
    • خصم 35% لكل 3 أعوام بسجلٍ نظيف.
    • حسم 50% للالتزام بدون أي مطالبات لمدة 5 سنوات متتالية.
    • 80% وهو الخصم الأكبر في حالِ عَدم ورود أي شكاوي وقوع حادث لأكثر من 15 عام!

    كيفية تقديم المخالفة لتأمين السَيارة في ألمانيا

    عند التعرّض لأي حادث مروري يجب التواصل في الحال مع شركة التامين لتقديم المطالبة، لكن هناك بعض النقاط الضرورية التي يجب الالتزام بها، وهي:
    • إثبات أضرار الحادث من خلال التصوير وجمع المعلومات الخاصة بالشهود للاتصال بهم.
    • التواصل مع الطرف الآخر وتبادل المعلومات الضرورية التي يجب إرسالها إلى الشَركة.
    • إن كان حادث المرور قد تسبب بإصابات للطرف الآخر يجب الاتصال بسيارة الإسعاف مباشرة.
    • كتابة نموذج الإبلاغ وإرساله إلى الشَركة.

    ما حكم من صدم سيارة وهرب في ألمانيا؟

    لو وقع حادث مروري لسيارتك من قبل شخص صدمها وهرب مسرعاً، هناك إجراءات ضرورية يجب اتخاذها، في البداية عليكَ أن تكون سريع البديهية، فإن التقطت رقم لوحة الترخيص سيكون ذلك مثالياً، لكن في حالة لم تدركه يمكنك تدوين نوع السَيارة التي سببت الحادث ولونها والاتصال مباشرة بالشُرطة.
    أما بالنسبة للحكم فذلك يختلف حسب حجم الضرر، قد تبدأ بسحب رخصة القيادةِ وتصل إلى السجن! إضافة لدفع التعويض والغرامة المالية.
    • يفرض القانون الانتظار لمدة 15 حتى 60 دقيقة بعد وقوع حادث مروري، فإن لم يأتِ مالك السّيارة يجب الاتصال بالشرطة على الفور والتبليغ عن مكان الحادث والاضرار، إن قمت بوضع كرت يضم رقمك فذلك جيد لكنه لن يغني عن إبلاغ الشرطة.
    • يعد الانسحاب بعد إصابة جسدية أمر يحاسب عليه بشكل أشد وهرب من المسؤولية! فمن الواجب إجراء الإسعافات الأولية بعد الحادث والاتصال بالإسعاف وإلا ستصل العقوبة إلى السجن أو الغرامة.
    • إن تعرض الشخص لاصطدام من الخلف ونتج عن ذلك صداع أو آلام في الرقبة بسبب الحادث فسيتوجب تعويضات على الطرف الآخر، كما تظهر بعض الأمراض والتشنجات أحياناً، ويمكنه المطالبة خلال مدة 3 سنوات من تاريخ الإصابة، ويجب توفير تقرير طبي لأجل ضمان الحصول عليها.

    نصائح مهمة لتخفيف تكلفة تأمينات حوادث المرور

    سنعرض لك أهم النصائح لتخفيف مبلغ التأمين سنوياً وهي:
    • قم بإرسال ملخص رسمي لتاريخ القِيادة، فكلما كان نظيفاً دون حادث يُذكر زادت احتمالية حصولك على الخصومات، يمكنك طلبه من الشركة السابقة وإرساله للحالية.
    • الدفع سنوياً يكون أوفر دائماً من الشهري.
    • الالتزام بقوانين مرور البلاد والقيادة بهدوء دون التعرض لحادث مروري ولو بسيط يساعدك على تخفيف المبالغ والحصول على المكافآت!
    • العمل على البحث جيداً عن أفضل شركةَ تأمينٍ والاطلاع على قوانينها وسياستها، ومن أهم ما يجب الاطلاع عليه:
    1. سمعة الشّركة والتقييمات الحائزة عليها.
    2. الخيارات الزائدة التي يمكن إضافتها وهل تتضمن الخصم؟
    3. مكافآة عدم وجود مطالبات، يجب الاطلاع على ما تشمله.
    4. بالإضافة إلى توفير خدمة المساعدة على الطريق.

    أفضل شركات التأمين من حادث مروري في المانيا 2023

    في المَانيا هناك أكثر من 90 شَركة تأمين سيارات في الحوادث المرورية، سنعرض لك أسماء أكثرها شعبية، ويمكنك استخدام موقع للمقارنة مثل Verivox أو Joonko للحصول على أفضل خيارات متاحة.
    أما بالنسبة للشركة الأرخص فهي DA Direkt (Deutsche Allgemeine Versicherung AG(

    كيف أحصل على تأمين السيارات في ألمانيا؟

    عند التقديم للحصول على تأمين سيارتك يجب توفير جميع الأوراق المهمة وهي:
    • الهوية الشخصية/ أو جواز السفر.
    • إثبات لتاريخ القِيادة من خلال معلوماتك الشخصية الأخرى.
    • رقم رخصة القيادة الخاصة بك في الدولة الالمانية.
    • قد تطلب بعض شركات التأمينِ مستندات شراء للسيارة.
    • تفاصيل الحساب البنكي في المَانيا. (إذا كان الدفع من خلال الخصم المباشر)
    _أغلب الشركات توفر خدمة الحصول على تأمينك عبر الانترنت، ولذلك ستحصل على معلومات التأمينِ الخاصة بك بنفس اليوم إلكترونياً.
    _عند شراء التَأمين ستحصل على رقم التأمين ومعلوماته، وتأكيد التأمين الالكتروني، إضافة لنموذج عن بيان حوادث الاتحاد الأوروبي (يُستخدم عند وقوع حادث لا قدر الله)
    هذه أهم المعلومات المتعلقة بتأمينات الحادث المروري في المانيا 2023، التي كما رأيتها توفر لك الحماية لحقوقك وحقوق غيرك، مهما كانت جنسيتك على أراضيها طالما أنك تعيش بها، مع تمنياتنا للجميع بالسلامة والعافية.

    اترك تعليقاً

    لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

    زر الذهاب إلى الأعلى